"use client"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { LayoutDashboard, Mic2, ListMusic, BarChart3, CreditCard, Users, KeyRound, Settings, Lock, } from "lucide-react"; import { cn } from "@/lib/utils"; import { Badge } from "@/components/ui/badge"; import type { PlanKey, FeatureKey } from "@/lib/billing/plans"; import { PLANS } from "@/lib/billing/plans"; interface NavItem { label: string; href: string; icon: React.ComponentType<{ className?: string }>; requiresFeature?: FeatureKey; } const NAV: NavItem[] = [ { label: "Dashboard", href: "/dashboard", icon: LayoutDashboard }, { label: "Episodes", href: "/episodes", icon: Mic2 }, { label: "Series", href: "/series", icon: ListMusic, requiresFeature: "series_generator" }, { label: "Usage", href: "/usage", icon: BarChart3 }, { label: "Billing", href: "/billing", icon: CreditCard }, { label: "Team", href: "/team", icon: Users, requiresFeature: "team_workspace" }, { label: "API Keys", href: "/api-keys", icon: KeyRound, requiresFeature: "api_access" }, { label: "Settings", href: "/settings", icon: Settings }, ]; export function SidebarNav({ plan, onNavigate }: { plan: PlanKey; onNavigate?: () => void }) { const pathname = usePathname(); const features = PLANS[plan].features; return ( ); }