Commit graph

72 commits

Author SHA1 Message Date
fullsizemalt
9b04ae51ff fix: increase admin artists limit to 1000
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 13:29:07 -08:00
fullsizemalt
1199023a52 fix: wait for auth loading before redirecting in admin pages
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 13:22:40 -08:00
fullsizemalt
ff56e4f140 feat: add Band Members (Musicians) feature - Sprint 4
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 13:07:48 -08:00
fullsizemalt
730e92f8c9 feat: add Shows, Songs, Venues Admin pages
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 13:01:57 -08:00
fullsizemalt
d276cdbd76 feat: add Admin Interface for Artists management
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 12:34:43 -08:00
fullsizemalt
a076336d5e chore: update hero and about page text / fix jsx
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 12:28:50 -08:00
fullsizemalt
b67d4929a4 feat: frontend artist page and song linking
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 12:22:36 -08:00
fullsizemalt
49e025d3bf fix: commit all pending changes (home, leaderboard, slug cleanup)
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 12:06:35 -08:00
fullsizemalt
b1c5baf77c feat(analytics): update umami tracking script
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 11:03:40 -08:00
fullsizemalt
ff411321c6 feat(stats): add set breakdown to song page
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 10:29:13 -08:00
fullsizemalt
4aefad1eff feat(videos): add search, video toggle, and fix links
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 10:20:39 -08:00
fullsizemalt
08587f21f9 feat: Display Bandcamp/Nugs links on show page setlist
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 15:57:37 -08:00
fullsizemalt
1f7f83a31a fix: Videos page links to show, hide test users from leaderboard
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
- Videos page now links song titles to show page (where video is displayed)
- Leaderboard hides tenwest/testuser until 12+ real users exist
2025-12-23 15:45:29 -08:00
fullsizemalt
14a509ddb5 feat: Add bug tracker MVP (decoupled, feature-flagged)
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
- Backend: Ticket and TicketComment models (no FK to User)
- API: /tickets/* endpoints for submit, view, comment, upvote
- Admin: /tickets/admin/* for triage queue
- Frontend: /bugs pages (submit, my-tickets, known-issues, detail)
- Feature flag: ENABLE_BUG_TRACKER env var (default: true)

To disable: Set ENABLE_BUG_TRACKER=false
To remove: Delete models_tickets.py, routers/tickets.py, frontend/app/bugs/
2025-12-23 13:18:00 -08:00
fullsizemalt
2da46eaa16 feat: Privacy settings with functional toggles, sticky sidebar, roadmap doc
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 13:08:48 -08:00
fullsizemalt
9e48dd78ff style: Update avatar colors to jewel tones (Sapphire, Ruby, Emerald, etc.)
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 11:56:23 -08:00
fullsizemalt
f989414323 feat: Redesign settings page with comprehensive sections, sidebar nav, and distinct avatar colors
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 11:38:18 -08:00
fullsizemalt
a4d63a9e2c feat: Add custom avatar system with color picker and text overlay
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 11:12:31 -08:00
fullsizemalt
c6ffc67fdd style: Apply consistent bento styling to video embeds on show pages
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 08:53:52 -08:00
fullsizemalt
735fd1a6ea style: Move video into bento grid left column for better layout flow
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 00:37:34 -08:00
fullsizemalt
d706a777a7 style: Limit video embed max-width to 3xl on large screens
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 00:35:09 -08:00
fullsizemalt
4a103511da feat: Add video integration - display videos on performance pages and indicators
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
- Add YouTubeEmbed to performance detail page when youtube_link exists
- Add YouTube icon indicator on setlist items that have videos
- Add YouTube badge on show cards in archive when full show video exists
- Add youtube_link to ShowRead and PerformanceRead schemas
- Add VIDEO_INTEGRATION_SPEC.md documentation
2025-12-22 23:52:34 -08:00
fullsizemalt
171b8a38ca feat: Add /videos page listing all YouTube videos without thumbnails 2025-12-22 23:16:04 -08:00
fullsizemalt
bd6832705f feat: Add Mark Caught button for chase songs + fix Next.js 16 build errors
- Add MarkCaughtButton component to show page setlist
- Fix TypeScript errors in profile, settings, welcome pages
- Fix Switch component onChange props
- Fix notification-bell imports and button size
- Fix performance-list orphaned JSX
- Fix song-evolution-chart tooltip types
- Add Suspense boundaries for useSearchParams (Next.js 16 requirement)
2025-12-22 00:21:58 -08:00
fullsizemalt
060797a233 style: Update Review Header formatting for Performances 2025-12-21 22:02:30 -08:00
fullsizemalt
16bacc29df feat: Enhance Performance Page with Top Rated Versions list 2025-12-21 21:52:23 -08:00
fullsizemalt
5e123463f7 feat: Update Show page to link to Performance details instead of Song 2025-12-21 21:45:53 -08:00
fullsizemalt
e3e074248e feat: complete slug integration, fix set names logic, add missing ui components 2025-12-21 20:29:36 -08:00
fullsizemalt
bc804a666b feat: Gamification sprint complete
XP System:
- XP now awarded for attendance (+25), ratings (+10), reviews (+50)
- First-time bonuses for first rating (+25) and first review (+50)
- Streak bonuses (+10 per day, capped at 7x)
- Badge awards automatically grant XP

User Titles & Flair System (Tracker-style):
- Level-based free titles: Rookie → Immortal
- Purchasable titles with XP: Jam Connoisseur, Setlist Savant, etc.
- Username colors purchasable with XP (6 colors + Rainbow)
- Emoji flairs purchasable with XP
- Early adopter perks: exclusive titles, colors, 10% XP bonus

New Fields on User:
- custom_title, title_color, flair
- is_early_adopter, is_supporter
- joined_at

Shop API Endpoints:
- GET /gamification/shop/titles
- POST /gamification/shop/titles/purchase
- GET/POST for colors and flairs
- GET /gamification/user/{id}/display
- GET /gamification/early-adopter-perks

Frontend:
- XP Leaderboard added to home page
- LevelProgressCard shows on profile
2025-12-21 19:21:20 -08:00
fullsizemalt
5ffb428bb8 feat: Add gamification system
Backend:
- Add XP, level, streak fields to User model
- Add tier, category, xp_reward fields to Badge model
- Create gamification service with XP, levels, streaks, badge checking
- Add gamification router with level progress, leaderboard endpoints
- Define 16 badge types across attendance, ratings, social, milestones

Frontend:
- LevelProgressCard component with XP bar and streak display
- XPLeaderboard component showing top users
- Integrate level progress into profile page

Slug System:
- All entities now support slug-based URLs
- Performances use songslug-YYYY-MM-DD format
2025-12-21 18:58:42 -08:00
fullsizemalt
2e4e0b811d feat: User profile enhancements - chase songs and attendance stats
Backend:
- Add ChaseSong model for tracking songs users want to see
- New /chase router with CRUD for chase songs
- Profile stats endpoint with heady versions, debuts, etc.

Frontend:
- ChaseSongsList component with search, add, remove
- AttendanceSummary with auto-generated stats
- Updated profile page with new Overview tab content
2025-12-21 18:39:39 -08:00
fullsizemalt
131bafa825 fix: Multiple fixes
- Add missing @radix-ui/react-select dependency
- Sort tour shows chronologically by date
- Add context to review forms (song name, date)
- Redesign performance page with distinct visual identity
- Update ReviewForm to use RatingInput slider
2025-12-21 18:18:35 -08:00
fullsizemalt
557d9e808e feat: Professional Terms of Service and Privacy Policy pages
- Comprehensive Terms of Service with 11 sections
- GDPR-compliant Privacy Policy with 12 sections
- Proper styling, metadata, and formatting
- Contact information and last updated dates
2025-12-21 18:12:09 -08:00
fullsizemalt
eebebbb637 feat: Improve navigation between shows, performances, and songs
- Show page: Song titles now link to /performances/[id]
- Performance page: Added breadcrumbs (Songs > Song Title > Date)
- Performance page: Song title links to /songs/[id]
- Performance page: Venue links to /venues/[id]
- Performance page: Added rating component in header
2025-12-21 18:09:10 -08:00
fullsizemalt
d443eabd69 fix: Add missing avatar component, reduce venues API limit
- Create Avatar, AvatarImage, AvatarFallback components
- Fix venues page API limit (500 -> 100)
2025-12-21 17:58:58 -08:00
fullsizemalt
ee311c0bc4 feat: Complete venues overhaul
- Fix ratings API to support venue_id and tour_id
- Add migration for new rating columns
- Venues list: search, state filter, sort by name/shows
- Venues detail: show list with dates, venue stats, error handling
- Remove broken EntityRating/SocialWrapper from venue pages
2025-12-21 17:51:05 -08:00
fullsizemalt
cd5b0698d3 fix: Remove CSS @import for fonts - Next.js handles font loading 2025-12-21 17:36:56 -08:00
fullsizemalt
67fbd4d152 style: Match Ersen design system
- Add Space Grotesk and JetBrains Mono fonts
- Implement light/dark mode toggle with next-themes
- Update color palette to match Ersen (HSL-based tokens)
- Add ThemeProvider and ThemeToggle components
- Reduce border radius to 0.3rem for cleaner look
2025-12-21 17:32:58 -08:00
fullsizemalt
da5b5e7c45 fix: Add missing select component + update terminology to 'Top Performances' 2025-12-21 15:56:03 -08:00
fullsizemalt
06dc8889b5 feat: Add Heady Versions (performances) page
- /performances page with top-rated performance leaderboard
- Added to Browse dropdown in navbar
- Updated home page CTA to feature Heady Versions
- Medal icons for top 3 performances
2025-12-21 15:44:09 -08:00
fullsizemalt
5a8764df05 feat: Add Heady Version Leaderboard to Song Page (Phase 4-5)
- YouTube embed of #1 rated performance
- Top 5 performances ranked with medal icons
- Rating + rating count display
- YouTube link icons for each performance
- Gradient gold styling for heady section
2025-12-21 14:06:37 -08:00
fullsizemalt
ad2e6a107e feat: Enhance Mod Panel (Phase 3)
Backend:
- User lookup by email/username with activity stats
- Ban/unban endpoints with role protection
- Bulk approve/reject nicknames
- Bulk resolve/dismiss reports
- Queue stats endpoint

Frontend:
- Stats cards (pending items, ban count)
- User Lookup tab with search
- User profile with activity stats
- Ban dialog with duration selector
- Bulk selection checkboxes on queues
2025-12-21 14:04:33 -08:00
fullsizemalt
c16fe559e0 feat: Add Admin Panel (Phase 2)
Backend:
- admin.py router with user management CRUD
- Platform stats endpoint
- Shows/Songs/Venues/Tours CRUD
- Protected by RoleChecker (admin only)

Frontend:
- /admin dashboard with stats cards
- Users tab with search and edit dialog
- Content tab with entity counts
- Role/ban/verification management
2025-12-21 13:50:52 -08:00
fullsizemalt
f1d8a14f75 feat: Add email verification and password reset (Phase 1)
- Add email_verified, verification_token, reset_token fields to User model
- Create email_service.py with SendGrid integration
- Add auth endpoints: verify-email, resend-verification, forgot-password, reset-password
- Create frontend pages: /verify-email, /forgot-password, /reset-password
- Add forgot password link to login page
- Add PLATFORM_ENHANCEMENT_SPEC.md specification
2025-12-21 13:28:54 -08:00
fullsizemalt
8df513b84f feat: Add YouTube link support for shows, songs, and performances 2025-12-21 12:58:32 -08:00
fullsizemalt
bc12238937 feat(frontend): Implement Onboarding Welcome Flow
Some checks failed
Deploy Elmeg / deploy (push) Has been cancelled
2025-12-21 02:53:33 -08:00
fullsizemalt
499a9fa352 feat(frontend): Implement Admin Dashboard for moderation
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:49:11 -08:00
fullsizemalt
1ece5a037e feat(frontend): Add smooth page transitions and animations
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:29:47 -08:00
fullsizemalt
cb91b5ad6d feat(frontend): Added Recharts and Song Evolution Chart
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:26:18 -08:00
fullsizemalt
8093cb4e45 feat(profile): Polish My Dashboard and add public User Profile page
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
2025-12-21 02:01:47 -08:00