"use client";
import Link from "next/link";
import { usePathname } from "next/navigation";
import { Activity, BarChart3, BookOpen, CreditCard, FolderKanban, KeyRound, LayoutDashboard, ListTree, Network, Play, Settings, Shield, Waypoints } from "lucide-react";
import { cn } from "@/lib/utils";
import { Logo } from "@/components/ui/logo";
export const DASHBOARD_NAV = [
{ href: "/dashboard", label: "Overview", icon: LayoutDashboard, exact: true },
{ href: "/dashboard/playground", label: "Playground", icon: Play },
{ href: "/dashboard/api-keys", label: "API Keys", icon: KeyRound },
{ href: "/dashboard/projects", label: "Projects", icon: FolderKanban },
{ href: "/dashboard/requests", label: "Requests", icon: ListTree },
{ href: "/dashboard/crawls", label: "Crawls", icon: Network },
{ href: "/dashboard/sessions", label: "Sessions", icon: Waypoints },
{ href: "/dashboard/usage", label: "Usage", icon: Activity },
{ href: "/dashboard/analytics", label: "Analytics", icon: BarChart3 },
{ href: "/dashboard/billing", label: "Billing", icon: CreditCard },
{ href: "/docs", label: "Documentation", icon: BookOpen, external: true },
{ href: "/dashboard/settings", label: "Settings", icon: Settings },
] as const;
export function SidebarNav({ isAdmin, onNavigate, className }: { isAdmin?: boolean; onNavigate?: () => void; className?: string }) {
const pathname = usePathname();
const items = [...DASHBOARD_NAV, ...(isAdmin ? [{ href: "/admin", label: "Admin", icon: Shield } as const] : [])];
return (
);
}
export function Sidebar({ isAdmin }: { isAdmin?: boolean }) {
return (
);
}