Commit Graph

62 Commits

Author SHA1 Message Date
Hördle Bot
70501d626b feat: Add genre validation with 404 for inactive genres and filter genre list to active ones. 2025-11-25 00:23:05 +01:00
Hördle Bot
41ce6c12ce feat: Implement genre activation/deactivation with UI controls and main page filtering. 2025-11-25 00:20:29 +01:00
Hördle Bot
a744393335 feat: remove iTunes release year refresh API endpoint and UI from admin page 2025-11-25 00:09:28 +01:00
Hördle Bot
67cf85dc22 feat(song): add option to exclude songs from global visibility and improve admin upload validation 2025-11-24 19:59:47 +01:00
Hördle Bot
326023a705 feat: remove MusicBrainz integration and exclusively use iTunes for song release years 2025-11-24 18:53:03 +01:00
Hördle Bot
7f455053e7 fix: Improve iTunes API call success rate by increasing rate limit delay and adding a User-Agent header. 2025-11-24 14:36:27 +01:00
Hördle Bot
3309b5c5ee feat: implement iTunes API for release year detection and bulk refresh 2025-11-24 14:23:07 +01:00
Hördle Bot
7011a24b46 Fix: Add missing fetchSpecials() calls to update special song counts 2025-11-24 09:56:56 +01:00
Hördle Bot
831adcaf17 Add logout function and ADMIN_PASSWORD environment validation 2025-11-24 09:42:58 +01:00
Hördle Bot
2d6481a42f Security audit improvements: authentication, path traversal protection, file validation, rate limiting, security headers 2025-11-24 09:34:54 +01:00
Hördle Bot
7b975dc3e3 Finalize scoring system, release year integration, and fix song deletion 2025-11-23 20:37:23 +01:00
Hördle Bot
d280106336 Add duplicate detection with fuzzy matching and fix artist metadata extraction 2025-11-23 16:06:55 +01:00
Hördle Bot
d09dbece5f Fix upcoming specials display on genre pages 2025-11-23 15:35:34 +01:00
Hördle Bot
80e6066c17 Add subtitles to Genres and Specials 2025-11-23 15:20:12 +01:00
Hördle Bot
f13a719d0e fix: improve rating UI label and notification context 2025-11-23 10:42:20 +01:00
Hördle Bot
4d3032df36 feat: implement song rating system with admin view and user persistence 2025-11-23 10:34:45 +01:00
Hördle Bot
8262a96213 feat(home): format upcoming special dates with TZ support 2025-11-23 02:33:22 +01:00
Hördle Bot
b294a3a8e6 feat(home): display curator in upcoming specials 2025-11-23 02:29:23 +01:00
Hördle Bot
2a38bce02c feat(specials): add curator field 2025-11-23 02:25:45 +01:00
Hördle Bot
6fd5f8ed0c style(admin): fix button height consistency 2025-11-23 02:16:42 +01:00
Hördle Bot
c05ead4493 fix(api): include song count in specials list 2025-11-23 02:15:12 +01:00
Hördle Bot
5fb450d37e style(admin): unify button styles for edit, delete, and cancel 2025-11-23 02:13:11 +01:00
Hördle Bot
e9526918e1 feat(specials): add launch and end dates for scheduling 2025-11-23 02:09:49 +01:00
Hördle Bot
e06e0d2919 feat(special-editor): add manual save button with unsaved changes indicator 2025-11-23 01:07:53 +01:00
Hördle Bot
86829af17d feat(waveform): add segment markers, zoom, and individual segment playback 2025-11-23 01:03:03 +01:00
Hördle Bot
b27d5e49c9 fix(api): update songs endpoint to work with SpecialSong model 2025-11-23 00:57:02 +01:00
Hördle Bot
5944c14614 fix(api): await params in Next.js 15 dynamic routes 2025-11-23 00:53:36 +01:00
Hördle Bot
587fa59b79 feat(special-curation): complete implementation with all components
- Database: SpecialSong model with startTime
- Backend: API endpoints for curation
- Admin: Waveform editor and curation page
- Game: startTime support in AudioPlayer
- UI: Curate button in admin dashboard
2025-11-23 00:50:35 +01:00
Hördle Bot
4f088305df fix(admin): add Curate button linking to Special curation page 2025-11-23 00:48:57 +01:00
Hördle Bot
e24588f3ee feat(pwa): add one-time install prompt for mobile devices 2025-11-23 00:22:23 +01:00
Hördle Bot
77a769fb91 fix(admin): filter duplicate daily puzzles in dashboard 2025-11-23 00:01:06 +01:00
Hördle Bot
aff752d4cb feat(security): implement bcrypt hashing for admin password and cleanup Dockerfile 2025-11-22 22:37:46 +01:00
Hördle Bot
23e145e05f fix(admin): update genre counts after song modifications 2025-11-22 22:29:32 +01:00
Hördle Bot
a6cfa833e3 refactor(admin): remove separate Artist column from Song Library 2025-11-22 22:27:10 +01:00
Hördle Bot
5d5a75a735 Add genre/special-specific URLs to share functionality 2025-11-22 19:30:49 +01:00
Hördle Bot
7fc1c2c201 Fix audio playback for newly uploaded files by using dynamic API route 2025-11-22 17:53:37 +01:00
Hördle Bot
c612da6371 Update Daily Puzzles table buttons to match Song Library style 2025-11-22 16:51:01 +01:00
Hördle Bot
fdd5463391 Add collapsible Daily Puzzles management table to admin area 2025-11-22 16:49:00 +01:00
Hördle Bot
ae9e4c504e Add Song of the Day filter and badges to Admin Song Library 2025-11-22 16:38:15 +01:00
Hördle Bot
903d626699 Implement Specials feature, Admin UI enhancements, and Database Rebuild tool 2025-11-22 16:09:45 +01:00
Hördle Bot
c270f2098f Feat: Add genre filter to song library table 2025-11-22 12:56:42 +01:00
Hördle Bot
7d117d3bd4 UI: Update admin dashboard heading 2025-11-22 12:28:03 +01:00
Hördle Bot
10cab22cfe Fix: Add batch processing to prevent timeout on large song libraries 2025-11-22 12:11:11 +01:00
Hördle Bot
8c720e287f Feat: Genre system with per-genre daily puzzles 2025-11-22 11:56:16 +01:00
Hördle Bot
dc69fd1498 Feat: AI-powered genre categorization with OpenRouter 2025-11-22 11:55:50 +01:00
Hördle Bot
f8fb3ccf69 Feat: Auto-play on skip & Gotify notifications 2025-11-22 10:34:22 +01:00
Hördle Bot
4f8524c286 Fix daily puzzle rotation timezone issue
- Added lib/dateUtils.ts for consistent timezone handling
- Updated app/page.tsx and app/api/daily/route.ts to use Europe/Berlin timezone
- Updated lib/gameState.ts to sync client-side daily check with server time
- Exposed TZ env var to client in next.config.ts
2025-11-22 00:44:14 +01:00
Hördle Bot
3e0fa430a3 feat(admin): add custom page title 'Hördle Admin Dashboard' 2025-11-21 22:13:44 +01:00
Hördle Bot
3f47fac276 feat: add configurable timezone for daily puzzle rotation with logging 2025-11-21 21:53:22 +01:00
Hördle Bot
75a8a63b21 feat: improve UX with modern skip/solve buttons, ID sorting, and URL-safe filenames 2025-11-21 21:44:16 +01:00