import { NavLink } from 'react-router-dom'; import { LayoutDashboard, Radio, Monitor, FileText, Shield, MessageSquare, Sun, Moon } from 'lucide-react'; import { useTheme } from '../../contexts/ThemeContext'; interface NavItem { to: string; icon: React.ReactNode; label: string; badge?: number; } const mainNav: NavItem[] = [ { to: '/', icon: , label: 'Overview' }, { to: '/signals', icon: , label: 'Regulatory Signals' }, { to: '/status', icon: , label: 'System Status' }, ]; const workbenchNav: NavItem[] = [ { to: '/documents', icon: , label: 'Documents' }, { to: '/compliance', icon: , label: 'Compliance Analysis' }, ]; const chatNav: NavItem[] = [ { to: '/chat', icon: , label: 'Regulation Q&A' }, ]; function NavGroup({ title, items }: { title: string; items: NavItem[] }) { return (
{title}
{items.map(item => ( `nav-item${isActive ? ' active' : ''}`} > {item.icon} {item.label} {item.badge !== undefined && item.badge > 0 && ( {item.badge} )} ))}
); } export function Sidebar() { const { theme, toggleTheme } = useTheme(); return ( ); }