import type { ComponentType } from 'react' import { NavLink, Outlet, useLocation } from 'react-router-dom' import { ClipboardList, Crosshair, GitBranch, Layers, LayoutDashboard, LogOut, Radar, Scale, Settings, ShieldCheck, Users, } from 'lucide-react' import { useAuth } from '../lib/useAuth' type Item = { to: string; label: string; icon: ComponentType<{ size?: number; className?: string }> } const NAV: Item[] = [ { to: '/', label: 'Dashboard', icon: LayoutDashboard }, { to: '/screen', label: 'Screen Candidate', icon: Crosshair }, { to: '/requirements', label: 'Opportunities', icon: ClipboardList }, { to: '/candidates', label: 'Candidates', icon: Users }, { to: '/slate', label: 'Candidate Slate', icon: Layers }, { to: '/pipeline', label: 'Talent Pipeline', icon: GitBranch }, { to: '/compliance', label: 'Compliance', icon: Scale }, { to: '/command-center', label: 'Command Center', icon: Radar }, { to: '/settings', label: 'Settings', icon: Settings }, ] function title(path: string): string { const m = NAV.find((n) => (n.to === '/' ? path === '/' : path.startsWith(n.to))) return m?.label ?? 'missionMATCH' } export function AppShell() { const { pathname } = useLocation() const { principal, logout } = useAuth() return (
Workforce and Proposal Staffing Intelligence