"use client"; import { ReactNode, useState } from "react"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { Activity, GitBranch, Key, Settings, Menu, ChevronRight, } from "lucide-react"; import { cn } from "@/lib/utils"; interface NavItem { href: string; label: string; icon: React.ComponentType<{ className?: string }>; comingSoon?: boolean; } const navItems: NavItem[] = [ { href: "/dashboard", label: "Traces", icon: Activity }, { href: "/dashboard/decisions", label: "Decisions", icon: GitBranch }, { href: "/dashboard/keys", label: "API Keys", icon: Key }, { href: "/dashboard/settings", label: "Settings", icon: Settings }, ]; function Sidebar({ onNavigate }: { onNavigate?: () => void }) { const pathname = usePathname(); return (
{/* Logo */}
AgentLens Dashboard
{/* Navigation */} {/* Footer */}

AgentLens v0.1.0

); } export default function DashboardLayout({ children }: { children: ReactNode }) { const [sidebarOpen, setSidebarOpen] = useState(false); return (
{/* Desktop Sidebar */} {/* Mobile Sidebar Overlay */} {sidebarOpen && (
setSidebarOpen(false)} /> )} {/* Mobile Sidebar */} {/* Main Content */}
{/* Mobile Header */}
AgentLens
{/* Page Content */}
{children}
); }