Commit graph

93 commits

Author SHA1 Message Date
fullsizemalt
de2dd0a69d fix: ShowsPage pagination, strict mode, and component standardization
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-31 02:07:44 -08:00
fullsizemalt
dd5d513534 fix(backend): Handle duplicates in songs and tours imports
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-30 23:45:05 -08:00
fullsizemalt
be5921b6ee fix(backend): Ensure import runs on startup via scheduler
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-30 22:42:41 -08:00
fullsizemalt
f026cb2423 fix(backend): Robust duplicate handling and public API fallback for importer 2025-12-30 22:40:53 -08:00
fullsizemalt
429858287f fix(backend): Add missing PaginatedResponse schema definition
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-30 22:31:54 -08:00
fullsizemalt
60456c4737 feat(frontend): Enforce strict mode and refactor pages
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-30 22:29:16 -08:00
fullsizemalt
2941fa482e feat(backend): Implement automation scheduler and pagination envelope 2025-12-30 22:29:04 -08:00
fullsizemalt
3aaf35d43b refactor(api): standardize venues endpoint
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Backend: /api/venues returns PaginatedResponse envelope
- Frontend: Updated VenuesPage, AdminVenuesPage, VerticalVenuesPage to consume envelope
2025-12-30 20:35:59 -08:00
fullsizemalt
c0e3e2a7e2 refactor(api): standardize songs endpoint
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Backend: /api/songs returns PaginatedResponse envelope
- Frontend: Updated SongsPage, AdminSongsPage, AdminSequencesPage, BandPage to consume envelope
2025-12-30 20:33:18 -08:00
fullsizemalt
c860075681 feat(shows): redesign global shows hub
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Frontend: Implemented Tabbed interface (Recent, My Feed, Upcoming, By Band)
- Frontend: Added BandGrid component with selection logic
- Frontend: Added FilterPills component for active filters
- Backend: Added show_count to Verticals API
- Backend: Updated read_shows to support correct sorting for Upcoming status
2025-12-30 20:18:10 -08:00
fullsizemalt
c090a395dc feat(videos): add video icons to setlists and song versions
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Backend: Added video_links relationship to Performance model
- Backend: Updated shows and songs routers to eager-load videos and populate youtube_link
- Frontend: Added YouTube icon to performance list items if video exists
2025-12-30 19:52:04 -08:00
fullsizemalt
8e7be96991 refactor: clarify Top Songs definition
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Updated backend  to support
- Renamed frontend section from 'Top Songs' to 'Most Played Songs'
- Ensuring terms are clearly defined throughout the site
2025-12-30 19:47:55 -08:00
fullsizemalt
8d7339b950 fix(shows): fix venue visibility and song filtering
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Added eager loading of venue and tour to shows API endpoints to fix 'Unknown Venue' display
- Fixed query param  ->  in getTopSongs to correctly filter suggested songs
2025-12-30 19:38:19 -08:00
fullsizemalt
6d3b30ed6f feat: add VideoGallery component to band pages
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- VideoGallery component with modal playback
- YouTube thumbnail extraction
- Responsive grid layout
- Added to band home pages
- Import script for video entities
2025-12-30 19:32:35 -08:00
fullsizemalt
1cb08bc778 fix: add sqlmodel import to migration
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-30 19:27:46 -08:00
fullsizemalt
7d266208ae feat: add modular Video entity with many-to-many relationships
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Video model with VideoType/VideoPlatform enums
- Junction tables: VideoShow, VideoPerformance, VideoSong, VideoMusician
- Full API router with CRUD, entity-specific endpoints, link management
- Legacy compatibility endpoint for existing youtube_link fields
- Building for scale, no shortcuts
2025-12-30 19:26:51 -08:00
fullsizemalt
265200b6ad fix: change back button from /archive to /shows
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-30 18:53:09 -08:00
fullsizemalt
b1eed75b31 feat: redesign global shows page with tabs, visible filters, bands grid
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-30 18:28:36 -08:00
fullsizemalt
6cf9a100d4 fix: backend default sort by date desc, frontend enable tier filters
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-30 16:58:39 -08:00
fullsizemalt
1652dd230d fix: add missing getApiUrl import and trailing slash on homepage
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-30 13:48:23 -08:00
fullsizemalt
5eb8edf209 fix: add trailing slashes to API URLs for SSR compatibility
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-30 13:39:22 -08:00
fullsizemalt
7d10d195f3 fix: add vertical_id and vertical slug filter params to shows endpoint
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-30 13:20:38 -08:00
fullsizemalt
bac4d3cff6 fix(importers): implement abstract method import_venues in GratefulDeadImporter
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 22:43:20 -08:00
fullsizemalt
fb34db3ea3 fix: use correct API query parameters (vertical_slugs, vertical_slug)
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 22:36:02 -08:00
fullsizemalt
1d9e56a2da feat(bands): redesign band landing page with elmeg-style layout
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 22:28:31 -08:00
fullsizemalt
d4f6f60df6 fix: update dynamic routes for Next.js 16 async params API
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 22:16:11 -08:00
fullsizemalt
e68486ddd2 fix(nav): add /bands discovery page, fix Browse links to unified routes
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 22:03:40 -08:00
fullsizemalt
0f571864e0 fix: remove emoji from UI, fix JSX structure, add microanimations
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 21:56:31 -08:00
fullsizemalt
0c7df04b92 feat(bands): filter ignored bands from home feed
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 21:51:20 -08:00
fullsizemalt
212082050c feat(bands): add My Bands page with tier management and IGNORED tier
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 21:49:28 -08:00
fullsizemalt
e07c23aceb feat(social): add social handles to settings page
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 21:39:53 -08:00
fullsizemalt
a87c0cc8a3 fix: profile date, avatar system, UserRead schema
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 21:26:48 -08:00
fullsizemalt
d20cc75085 fix: remove conflicting profile route
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 21:10:35 -08:00
fullsizemalt
97417ee03c fix: use user.id for profile link, fix TS errors
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 21:09:12 -08:00
fullsizemalt
58f077268f feat(social): add profile poster, social handles, remove X
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 21:05:34 -08:00
fullsizemalt
bd4c5bf215 polish(frontend): update landing page copy and metadata
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 19:40:57 -08:00
fullsizemalt
0e67d7b53d fix(frontend): add missing imports for Button and Link
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 18:49:51 -08:00
fullsizemalt
ae3741c9ee fix: explicitly create preferencetier enum
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 18:36:51 -08:00
fullsizemalt
c4ba926a74 fix: rebase migrations onto staging head
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 18:34:14 -08:00
fullsizemalt
7b8ba4b54c feat: User Personalization, Playlists, Recommendations, and DSO Importer
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 16:28:43 -08:00
fullsizemalt
413430b700 fix(ui): adjust sticky header offset to match navbar height
Some checks failed
Deploy Fediversion / deploy (push) Failing after 0s
2025-12-29 10:07:33 -08:00
fullsizemalt
b6337f4c85 feat(seo): add initial robots.ts and sitemap.ts
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 10:06:53 -08:00
fullsizemalt
7c9bcd81a6 feat(frontend): implement date-grouped show list and band filter for All Bands view
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 01:18:28 -08:00
fullsizemalt
af9fcd4060 feat(frontend): add vertical-specific detail pages for songs and shows to fix 404
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 01:11:28 -08:00
fullsizemalt
c59c06915b feat(frontend): implement All Bands view as default when no vertical selected
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 01:05:09 -08:00
fullsizemalt
7886095342 fix: Default to Billy Strings (populated) instead of Goose
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-29 00:08:33 -08:00
fullsizemalt
5b8cfffcf9 fix: Songs API filtering and default vertical
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Added vertical query param to GET /songs for correct filtering
- Changed default vertical to Phish (was Goose) to avoid empty data for new users
2025-12-29 00:03:56 -08:00
fullsizemalt
f966ef7c2e feat: Add comprehensive analytics API - gaps, velocity, trends, bustouts, debuts
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
New endpoints:
- GET /analytics/gaps/{vertical} - Songs overdue for a play
- GET /analytics/velocity/{vertical} - Hot vs cooling songs
- GET /analytics/trends/{vertical} - Monthly/quarterly chart data
- GET /analytics/stats/{vertical} - Aggregate band statistics
- GET /analytics/bustouts/{vertical} - Songs returning after long gaps
- GET /analytics/debut-songs/{vertical} - Recently debuted songs
2025-12-28 23:45:10 -08:00
fullsizemalt
b38da24055 feat: Cross-band milestone - Festivals, Playlists, Musicians, Venue Timeline
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
Sprint 2: Added 54 musicians with 78 band memberships
- Phish, Widespread Panic, Umphreys McGee core members
- Notable sit-in artists (Karl Denson, Branford Marsalis, Derek/Susan Trucks)
- Toy Factory Project supergroup (Oteil, Marcus King, Charlie Starr)

Sprint 4: Festival entity for multi-band events
- Festival and ShowFestival models
- /festivals API with list, detail, by-band endpoints

Sprint 5: User Playlists for curated collections
- UserPlaylist and PlaylistPerformance models
- Full CRUD /playlists API

Sprint 6: Venue Timeline endpoint
- /venues/{slug}/timeline for chronological cross-band history

Blockers (need production data):
- Venue linking script (no venues in local DB)
- Canon song linking (no songs in local DB)
2025-12-28 23:34:05 -08:00
fullsizemalt
2c7ff6207a feat: Add multi-band musician seed script with 31 musicians and 52 memberships
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
2025-12-28 23:20:51 -08:00