/* Admin dashboard chrome: Sidebar + Topbar */ const ADMIN_NAV = [ { id:'dashboard', label:'Dashboard', icon:'layout-dashboard', group:'Overview' }, { id:'caloverview', label:'Calendar', icon:'calendar-days', group:'Overview' }, { id:'students', label:'Students', icon:'users', group:'Manage' }, { id:'enrollment', label:'Enrollment', icon:'user-plus', group:'Manage' }, { id:'academics', label:'Gradebook', icon:'graduation-cap', group:'Manage' }, { id:'attendance', label:'Attendance', icon:'calendar-check', group:'Manage' }, { id:'transportation', label:'Transportation', icon:'bus', group:'Manage' }, { id:'fleet', label:'Fleet Map', icon:'map', group:'Manage' }, { id:'routes', label:'Bus Routes', icon:'route', group:'Manage' }, { id:'events', label:'Publish Events', icon:'calendar-plus', group:'Manage' }, { id:'forms', label:'Forms', icon:'file-signature', group:'Manage' }, { id:'documents', label:'Documents', icon:'folder', group:'Manage' }, { id:'pickup', label:'Pickup Manager', icon:'car-front', group:'Manage' }, { id:'messaging', label:'Messaging', icon:'message-square', group:'Manage' }, { id:'announcements', label:'Announcements', icon:'megaphone', group:'Manage' }, { id:'marketplace', label:'Marketplace', icon:'store', group:'Manage' }, { id:'payments', label:'Payments', icon:'credit-card', group:'Manage' }, { id:'billing', label:'Billing', icon:'receipt', group:'Manage' }, { id:'reports', label:'Reports', icon:'bar-chart-3', group:'Insights' }, { id:'engagement', label:'Engagement', icon:'gauge', group:'Insights' }, { id:'alerts', label:'Emergency Alerts',icon:'siren', group:'Insights' }, { id:'settings', label:'Settings', icon:'settings', group:'Insights' }, ]; function NavItem({ n, on, onNav }) { const [hover, setHover] = React.useState(false); return ( ); } function Sidebar({ active, onNav }) { let lastGroup = null; return (
JewelLink EDU
{ADMIN_NAV.map(n => { const header = n.group !== lastGroup ? n.group : null; lastGroup = n.group; return ( {header &&
{header}
}
); })}
District Office
Super Admin
); } function Topbar({ title, subtitle }) { return (
{title}
{subtitle &&
{subtitle}
}
); } Object.assign(window, { Sidebar, Topbar, ADMIN_NAV });