import { BarChart3, BellRing, CalendarClock, Gauge, Boxes, FilePlus2, Files, Filter, LayoutDashboard, ListChecks, ScrollText, Settings as SettingsIcon, Upload, UserCog, Users, Wrench, type LucideIcon, } from 'lucide-react' export interface NavItem { to: string; label: string; icon: LucideIcon; ownerOnly?: boolean /** Match this route exactly (for parents like /documents whose children have their own items). */ end?: boolean } export interface NavGroup { label: string; items: NavItem[] } /** Grouped sidebar (spec §3). Pipeline sits right after Dashboard (funnel spec §6b). */ export const NAV_GROUPS: NavGroup[] = [ { label: 'Work', items: [ { to: '/', label: 'Dashboard', icon: LayoutDashboard }, { to: '/pipeline', label: 'Pipeline', icon: Filter }, { to: '/reminders', label: 'Reminders', icon: BellRing }, { to: '/projects', label: 'Onboarding', icon: ListChecks }, { to: '/tickets', label: 'Tickets', icon: Wrench }, { to: '/renewals', label: 'Renewals', icon: CalendarClock }, { to: '/clients', label: 'Clients', icon: Users }, { to: '/documents', label: 'Documents', icon: Files, end: true }, { to: '/documents/new', label: 'New Document', icon: FilePlus2 }, ], }, { label: 'Catalog', items: [{ to: '/modules', label: 'Modules', icon: Boxes }] }, { label: 'Insight', items: [{ to: '/mis', label: 'Cockpit', icon: Gauge, ownerOnly: true }, { to: '/reports', label: 'Reports', icon: BarChart3 }] }, { label: 'Admin', items: [ { to: '/employees', label: 'Employees', icon: UserCog, ownerOnly: true }, { to: '/import', label: 'APEX Import', icon: Upload, ownerOnly: true }, { to: '/audit', label: 'Audit log', icon: ScrollText, ownerOnly: true }, { to: '/settings', label: 'Settings', icon: SettingsIcon }, ], }, ]