"use client"; import { Bot, Boxes, Brain, ChevronLeft, ChevronRight, Clock3, Database, Wrench, Home, PlayCircle, Video, } from "lucide-react"; import type { NavKey } from "./AppShell"; type SidebarProps = { active: NavKey; collapsed: boolean; onNavigate: (key: NavKey) => void; onToggle: () => void; }; const mainItems: Array<{ key: NavKey; label: string; icon: React.ComponentType<{ size?: number; className?: string }>; }> = [ { key: "home", label: "首页", icon: Home }, { key: "test", label: "测试助手", icon: PlayCircle }, ]; const componentSubItems: Array<{ key: NavKey; label: string; icon: React.ComponentType<{ size?: number; className?: string }>; }> = [ { key: "components-models", label: "模型资源", icon: Brain }, { key: "components-knowledge", label: "知识库", icon: Database }, { key: "components-tools", label: "工具资源", icon: Wrench }, ]; const monitorSubItems: Array<{ key: NavKey; label: string; icon: React.ComponentType<{ size?: number; className?: string }>; }> = [ { key: "history", label: "历史记录", icon: Clock3 }, { key: "dashboard", label: "数据看板", icon: Database }, ]; export function Sidebar({ active, collapsed, onNavigate, onToggle, }: SidebarProps) { const assistantActive = active === "assistants"; const componentActive = active === "components-models" || active === "components-knowledge" || active === "components-tools"; const monitorActive = monitorSubItems.some((item) => item.key === active); return ( ); } function NavButton({ active, collapsed, icon: Icon, label, onClick, small = false, }: { active: boolean; collapsed: boolean; icon: React.ComponentType<{ size?: number; className?: string }>; label: string; onClick: () => void; small?: boolean; }) { return ( ); }