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 (
);
}