Add "More Like This" button and "Why Do I Like This?" analyze feature

- Add Repeat button to RecommendationCard that navigates to Discover
  with a pre-filled query for similar songs
- Read q param on Discover page to pre-fill the query field
- Add POST /api/recommendations/analyze endpoint that uses Claude to
  explain why a user likes a song and suggest similar music
- Create Analyze page with artist/title inputs, analysis card,
  quality tags, and recommendation cards
- Add Analyze nav item and /analyze route
This commit is contained in:
root
2026-03-31 18:28:05 -05:00
parent 2e26aa03c4
commit da94df01da
3 changed files with 212 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
import { useState } from 'react'
import { Link, useLocation, useNavigate } from 'react-router-dom'
import { Disc3, LayoutDashboard, Fingerprint, ListMusic, Compass, Store, Heart, Crown, Shield, Menu, X, LogOut, User } from 'lucide-react'
import { Disc3, LayoutDashboard, Fingerprint, ListMusic, Compass, Lightbulb, Store, Heart, Crown, Shield, Menu, X, LogOut, User } from 'lucide-react'
import { useAuth } from '../lib/auth'
const ADMIN_EMAIL = 'chris.ryan@deepcutsai.com'
@@ -10,6 +10,7 @@ const baseNavItems = [
{ path: '/profile', label: 'My Taste', icon: Fingerprint },
{ path: '/playlists', label: 'Playlists', icon: ListMusic },
{ path: '/discover', label: 'Discover', icon: Compass },
{ path: '/analyze', label: 'Analyze', icon: Lightbulb },
{ path: '/bandcamp', label: 'Bandcamp', icon: Store },
{ path: '/saved', label: 'Saved', icon: Heart },
{ path: '/billing', label: 'Pro', icon: Crown },