import { useState } from 'react'; import { NavLink, useNavigate } from 'react-router-dom'; import { MessageSquare, FileText, BarChart3, Settings, LogOut, ChevronLeft, ChevronRight, Plus, Shield, Bot, Database, Search, Code2, } from 'lucide-react'; import { useAuthStore } from '@/store/authStore'; import { clsx } from 'clsx'; import toast from 'react-hot-toast'; const navItems = [ { to: '/chat', icon: MessageSquare, label: 'Chat', badge: null }, { to: '/documents', icon: FileText, label: 'Documents', badge: 'Phase 2' }, { to: '/analytics', icon: BarChart3, label: 'Analytics', badge: 'Phase 5' }, { to: '/sql', icon: Database, label: 'SQL Agent', badge: 'Phase 4' }, { to: '/code', icon: Code2, label: 'Code Agent', badge: 'Phase 5' }, { to: '/search', icon: Search, label: 'Web Search', badge: 'Phase 5' }, ]; const agentColors: Record = { '🔵': 'text-blue-400', '🟢': 'text-green-400', '🟡': 'text-amber-400', '🟣': 'text-purple-400', }; export default function Sidebar() { const [collapsed, setCollapsed] = useState(false); const { user, logout } = useAuthStore(); const navigate = useNavigate(); const handleLogout = async () => { await logout(); toast.success('Logged out successfully'); navigate('/login'); }; return ( ); }