Add Concert Finder and Rabbit Hole features

- Concert Finder: Bandsintown API integration to find upcoming shows for
  recommended artists, with expandable tour dates section on recommendation cards
- Rabbit Hole: Multi-step guided discovery journey where each song connects
  to the next through a shared musical quality (producer, influence, tone, etc.)
- New /rabbit-hole route with seed input, step count selector, and vertical
  chain visualization of connected songs
- Added concerts endpoint, rabbit hole endpoint, and corresponding frontend
  API functions and navigation
This commit is contained in:
root
2026-03-31 19:01:22 -05:00
parent aeadf722cb
commit 086b9e4e71
5 changed files with 366 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
import { useState } from 'react'
import { Link, useLocation, useNavigate } from 'react-router-dom'
import { Disc3, LayoutDashboard, Fingerprint, Clock, ListMusic, ListPlus, Compass, Lightbulb, Store, Users, Heart, Crown, Shield, Menu, X, LogOut, User } from 'lucide-react'
import { Disc3, LayoutDashboard, Fingerprint, Clock, ListMusic, ListPlus, Compass, Lightbulb, Store, Users, ArrowDownCircle, Heart, Crown, Shield, Menu, X, LogOut, User } from 'lucide-react'
import { useAuth } from '../lib/auth'
const ADMIN_EMAIL = 'chris.ryan@deepcutsai.com'
@@ -14,6 +14,7 @@ const baseNavItems = [
{ path: '/analyze', label: 'Analyze', icon: Lightbulb },
{ path: '/generate-playlist', label: 'Create Playlist', icon: ListPlus },
{ path: '/crate', label: 'Crate Dig', icon: Disc3 },
{ path: '/rabbit-hole', label: 'Rabbit Hole', icon: ArrowDownCircle },
{ path: '/bandcamp', label: 'Bandcamp', icon: Store },
{ path: '/compatibility', label: 'Taste Match', icon: Users },
{ path: '/saved', label: 'Saved', icon: Heart },