@props(['role' => 'admin', 'open' => false]) @php // Premium UI Navigation with dynamic SVG stroke icons matching the Tailwind palette $gridIcon = ''; $academicIcon = ''; $peopleIcon = ''; $opsIcon = ''; $analyticsIcon = ''; $financeIcon = ''; $payrollIcon = ''; $governanceIcon = ''; $intelligenceIcon = ''; $videoIcon = ''; $docCheckIcon = ''; $docTextIcon = ''; $pencilIcon = ''; $mapIcon = ''; $awardIcon = ''; $inboxIcon = ''; $trendUpIcon = ''; $checkCircleIcon = ''; $taskListIcon = ''; $chatIcon = ''; $cogIcon = ''; $globeIcon = ''; $navItems = match($role) { 'admin' => [ ['label' => 'Dashboard', 'icon' => $gridIcon, 'url' => url('/admin/dashboard'), 'active' => request()->is('admin/dashboard')], ['label' => 'Academics', 'icon' => $academicIcon, 'url' => '#', 'active' => request()->is('admin/academic-years*') || request()->is('admin/subjects*') || request()->is('admin/classes*') || request()->is('admin/enrollment*') || request()->is('admin/teacher-assignments*') || request()->is('admin/gradebook*') || request()->is('admin/report-cards*'), 'children' => [ ['label' => 'Academic Years', 'url' => url('/admin/academic-years'), 'active' => request()->is('admin/academic-years*')], ['label' => 'Subjects', 'url' => url('/admin/subjects'), 'active' => request()->is('admin/subjects*')], ['label' => 'Classes', 'url' => url('/admin/classes'), 'active' => request()->is('admin/classes*')], ['label' => 'Enrollment', 'url' => url('/admin/enrollment'), 'active' => request()->is('admin/enrollment*')], ['label' => 'Teacher Assignments', 'url' => url('/admin/teacher-assignments'), 'active' => request()->is('admin/teacher-assignments*')], ['label' => 'Gradebook', 'url' => url('/admin/gradebook'), 'active' => request()->is('admin/gradebook*')], ['label' => 'Report Cards', 'url' => url('/admin/report-cards'), 'active' => request()->is('admin/report-cards*')], ]], ['label' => 'People', 'icon' => $peopleIcon, 'url' => '#', 'active' => request()->is('admin/teachers*') || request()->is('admin/students*') || request()->is('admin/parents*') || request()->is('admin/users*'), 'children' => [ ['label' => 'Onboard Students', 'url' => url('/admin/students/create'), 'active' => request()->is('admin/students/create')], ['label' => 'Student Directory', 'url' => url('/admin/students'), 'active' => request()->is('admin/students') || request()->is('admin/students/*') && !request()->is('admin/students/create')], ['label' => 'Teachers Directory', 'url' => url('/admin/teachers'), 'active' => request()->is('admin/teachers*')], ['label' => 'Parents Directory', 'url' => url('/admin/parents'), 'active' => request()->is('admin/parents*')], ]], ['label' => 'Communications', 'icon' => $chatIcon, 'url' => '#', 'active' => request()->is('admin/communications*') || request()->is('admin/announcements*') || request()->is('admin/notifications*') || request()->is('communities*'), 'children' => [ ['label' => 'Comms Hub', 'url' => url('/admin/communications/hub'), 'active' => request()->is('admin/communications/hub*')], ['label' => 'Comms Logs', 'url' => url('/admin/communications/logs'), 'active' => request()->is('admin/communications/logs*')], ['label' => 'Announcements', 'url' => url('/admin/announcements'), 'active' => request()->is('admin/announcements*')], ['label' => 'System Notifications', 'url' => url('/admin/notifications'), 'active' => request()->is('admin/notifications*')], ['label' => 'Community Hub', 'url' => url('/communities'), 'active' => request()->is('communities*')], ['label' => 'Community', 'icon' => $globeIcon, 'url' => url('community/communities'), 'active' => request()->is('community/communities*')], ['label' => 'New Enquiries', 'url' => url('/admin/enquiries'), 'active' => request()->is('admin/enquiries*')], ]], ['label' => 'Operations', 'icon' => $opsIcon, 'url' => '#', 'active' => request()->is('admin/timetable*') || request()->is('admin/sessions*') || request()->is('admin/assignments*') || request()->is('admin/exams*') || request()->is('admin/resources*') || request()->is('admin/attendance*') || request()->is('admin/audit-logs*'), 'children' => [ ['label' => 'Timetable', 'url' => url('/admin/timetable'), 'active' => request()->is('admin/timetable*')], ['label' => 'Sessions', 'url' => url('/admin/sessions'), 'active' => request()->is('admin/sessions*')], ['label' => 'Assignments', 'url' => url('/admin/assignments'), 'active' => request()->is('admin/assignments*')], ['label' => 'Exams', 'url' => url('/admin/exams'), 'active' => request()->is('admin/exams*')], ['label' => 'Resources', 'url' => url('/admin/resources'), 'active' => request()->is('admin/resources*')], ['label' => 'Attendance', 'url' => url('/admin/attendance'), 'active' => request()->is('admin/attendance*')], ['label' => 'Audit Logs', 'url' => url('/admin/audit-logs'), 'active' => request()->is('admin/audit-logs*')], ]], ['label' => 'Credentials', 'icon' => $awardIcon, 'url' => '#', 'active' => request()->is('admin/credentials*'), 'children' => [ ['label' => 'Dashboard', 'url' => url('/admin/credentials/dashboard'), 'active' => request()->is('admin/credentials/dashboard*')], ['label' => 'Pathways', 'url' => url('/admin/credentials/pathways'), 'active' => request()->is('admin/credentials/pathways*')], ['label' => 'Student Wallet', 'url' => url('/admin/credentials/student-wallet'), 'active' => request()->is('admin/credentials/student-wallet*')], ]], ['label' => 'Analytics Hub', 'icon' => $analyticsIcon, 'url' => '#', 'active' => request()->is('admin/analytics*'), 'children' => [ ['label' => 'Command Center', 'url' => url('/admin/analytics/command-center'), 'active' => request()->is('admin/analytics/command-center*')], ['label' => 'Risk Dashboard', 'url' => url('/admin/analytics/risk-dashboard'), 'active' => request()->is('admin/analytics/risk-dashboard*')], ['label' => 'Telemetry', 'url' => url('/admin/analytics/telemetry'), 'active' => request()->is('admin/analytics/telemetry*')], ['label' => 'Report Builder', 'url' => url('/admin/analytics/builder'), 'active' => request()->is('admin/analytics/builder*')], ['label' => 'BI Reports', 'url' => url('/admin/analytics/reports'), 'active' => request()->is('admin/analytics/reports*')], ]], ['label' => 'Finance', 'icon' => $financeIcon, 'url' => '#', 'active' => request()->is('admin/finance/fee*') || request()->is('admin/finance/invoice*') || request()->is('admin/finance/payment*') || request()->is('admin/finance/expense*') || request()->is('admin/finance/budget*'), 'children' => [ ['label' => 'Fee Categories', 'url' => url('/admin/finance/fee-categories'), 'active' => request()->is('admin/finance/fee-categories*')], ['label' => 'Fee Structures', 'url' => url('/admin/finance/fee-structures'), 'active' => request()->is('admin/finance/fee-structures*')], ['label' => 'Fee Assignments', 'url' => url('/admin/finance/fee-assignments'), 'active' => request()->is('admin/finance/fee-assignments*')], ['label' => 'Invoices', 'url' => url('/admin/finance/invoices'), 'active' => request()->is('admin/finance/invoices*')], ['label' => 'Payment Plans', 'url' => url('/admin/finance/payment-plans'), 'active' => request()->is('admin/finance/payment-plans*')], ['label' => 'Payment Ledger', 'url' => url('/admin/finance/payments'), 'active' => request()->is('admin/finance/payments*')], ['label' => 'Expenses', 'url' => url('/admin/finance/expenses'), 'active' => request()->is('admin/finance/expenses*')], ['label' => 'Budget Center', 'url' => url('/admin/finance/budget'), 'active' => request()->is('admin/finance/budget*')], ]], ['label' => 'Payroll Engine', 'icon' => $payrollIcon, 'url' => '#', 'active' => request()->is('admin/finance/payroll*') || request()->is('admin/teacher-compensation*'), 'children' => [ ['label' => 'Payroll Dashboard', 'url' => url('/admin/finance/payroll'), 'active' => request()->is('admin/finance/payroll*')], ['label' => 'Teacher Compensation', 'url' => url('/admin/teacher-compensation'), 'active' => request()->is('admin/teacher-compensation*')], ]], //['label' => 'Governance', 'icon' => $governanceIcon, 'url' => '#', 'active' => request()->is('admin/governance*'), 'children' => [ //['label' => 'Dashboard', 'url' => url('/admin/governance/dashboard'), 'active' => request()->is('admin/governance/dashboard*')], //['label' => 'SOC Console', 'url' => url('/admin/governance/soc-console'), 'active' => request()->is('admin/governance/soc-console*')], // ['label' => 'Case Management', 'url' => url('/admin/governance/case-management'), 'active' => request()->is('admin/governance/case-management*')], //['label' => 'Approval Workflows', 'url' => url('/admin/governance/approval-workflows'), 'active' => request()->is('admin/governance/approval-workflows*')], //['label' => 'Moderation Flags', 'url' => url('/admin/governance/moderation-flags'), 'active' => request()->is('admin/governance/moderation-flags*')], //['label' => 'Consent Registry', 'url' => url('/admin/governance/consent-registry'), 'active' => request()->is('admin/governance/consent-registry*')], //]], //['label' => 'Intelligence', 'icon' => $intelligenceIcon, 'url' => '#', 'active' => request()->is('admin/intelligence*'), 'children' => [ //['label' => 'Mission Control', 'url' => url('/admin/intelligence/mission-control'), 'active' => request()->is('admin/intelligence/mission-control*')], //['label' => 'Messages', 'url' => route('messages.index'), 'active' => request()->routeIs('messages.*'), 'badge' => $unreadMessageCount ?? null], //['label' => 'Playbooks', 'url' => url('/admin/intelligence/playbooks'), 'active' => request()->is('admin/intelligence/playbooks*')], //['label' => 'Explainability', 'url' => url('/admin/intelligence/explainability'), 'active' => request()->is('admin/intelligence/explainability*')], //['label' => 'Rule Builder', 'url' => url('/admin/intelligence/rule-builder'), 'active' => request()->is('admin/intelligence/rule-builder*')], //['label' => 'ROI Leaderboard', 'url' => url('/admin/intelligence/roi-leaderboard'), 'active' => request()->is('admin/intelligence/roi-leaderboard*')], //]], ], 'teacher' => [ ['label' => 'Dashboard', 'icon' => $gridIcon, 'url' => url('/teacher/dashboard'), 'active' => request()->is('teacher/dashboard')], ['label' => 'Academics', 'icon' => $academicIcon, 'url' => '#', 'active' => request()->is('teacher/gradebook*') || request()->is('teacher/report-cards*') || request()->is('teacher/assignments*') || request()->is('teacher/exams*') || request()->is('teacher/assessment-builder*'), 'children' => [ ['label' => 'Gradebook', 'url' => url('/teacher/gradebook'), 'active' => request()->is('teacher/gradebook*')], ['label' => 'Report Cards', 'url' => url('/teacher/report-cards'), 'active' => request()->is('teacher/report-cards*')], ['label' => 'Assignments', 'url' => url('/teacher/assignments'), 'active' => request()->is('teacher/assignments*')], ['label' => 'Exams Engine', 'url' => url('/teacher/exams'), 'active' => request()->is('teacher/exams*')], ['label' => 'Resources', 'url' => url('teacher/resources'), 'active' => request()->is('teacher/resources*')], ]], ['label' => 'Classroom', 'icon' => $videoIcon, 'url' => '#', 'active' => request()->is('teacher/sessions*') || request()->is('teacher/timetable*') || request()->is('teacher/attendance*') || request()->is('teacher/students*'), 'children' => [ ['label' => 'Live Sessions', 'url' => url('/teacher/sessions'), 'active' => request()->is('teacher/sessions*')], ['label' => 'Timetable', 'url' => url('/teacher/timetable'), 'active' => request()->is('teacher/timetable*')], ['label' => 'Attendance Log', 'url' => url('/teacher/attendance'), 'active' => request()->is('teacher/attendance*')], ['label' => 'My Students', 'url' => url('/teacher/students'), 'active' => request()->is('teacher/students*')], ]], ['label' => 'Action & Support', 'icon' => $taskListIcon, 'url' => '#', 'active' => request()->is('teacher/action-items*') || request()->is('teacher/goals*') || request()->is('teacher/interventions*') || request()->is('teacher/recommendations*'), 'children' => [ ['label' => 'Action Items', 'url' => url('/teacher/action-items'), 'active' => request()->is('teacher/action-items*')], ['label' => 'Student Goals', 'url' => url('/teacher/goals'), 'active' => request()->is('teacher/goals*')], ['label' => 'Interventions', 'url' => url('/teacher/interventions'), 'active' => request()->is('teacher/interventions*')], ['label' => 'Recommendations', 'url' => url('/teacher/recommendations'), 'active' => request()->is('teacher/recommendations*')], ]], ['label' => 'Finance & Payroll', 'icon' => $financeIcon, 'url' => '#', 'active' => request()->is('teacher/finance/earnings*') || request()->is('teacher/payroll-audit*') || request()->is('teacher/earnings*'), 'children' => [ ['label' => 'My Earnings', 'url' => url('/teacher/finance/earnings'), 'active' => request()->is('teacher/finance/earnings*') || request()->is('teacher/earnings*')], ['label' => 'Payroll Audit', 'url' => url('/teacher/payroll-audit'), 'active' => request()->is('teacher/payroll-audit*')], ]], ['label' => 'Data & Insights', 'icon' => $analyticsIcon, 'url' => '#', 'active' => request()->is('teacher/reports*'), 'children' => [ ['label' => 'Class Reports', 'url' => url('/teacher/reports'), 'active' => request()->is('teacher/reports*')], ]], ['label' => 'Community', 'icon' => $globeIcon, 'url' => url('community/communities'), 'active' => request()->is('community/communities*')], ['label' => 'Messages', 'icon' => $chatIcon, 'url' => route('messages.index'), 'active' => request()->routeIs('messages.*'), 'badge' => $unreadMessageCount ?? null], ], 'student' => [ ['label' => 'Dashboard', 'icon' => $gridIcon, 'url' => url('/student/dashboard'), 'active' => request()->is('student/dashboard')], ['label' => 'Academics', 'icon' => $academicIcon, 'url' => '#', 'active' => request()->is('student/gradebook*') || request()->is('student/report-cards*') || request()->is('student/exams*') || request()->is('student/assessments*') || request()->is('student/assignments*') || request()->is('student/timetable*'), 'children' => [ ['label' => 'Timetable', 'url' => url('/student/timetable'), 'active' => request()->is('student/timetable*')], ['label' => 'Assessments', 'url' => url('/student/assessments'), 'active' => request()->is('student/assessments*')], ['label' => 'Gradebook', 'url' => url('/student/gradebook'), 'active' => request()->is('student/gradebook*')], ['label' => 'Report Cards', 'url' => url('/student/report-cards'), 'active' => request()->is('student/report-cards*')], ['label' => 'Exams', 'url' => url('/student/exams'), 'active' => request()->is('student/exams*')], ['label' => 'My Resources', 'url' => url('student/resources'), 'active' => request()->is('student/resources*')], ]], ['label' => 'Classroom', 'icon' => $videoIcon, 'url' => '#', 'active' => request()->is('student/sessions*') || request()->is('student/attendance*'), 'children' => [ ['label' => 'My Sessions', 'url' => url('/student/sessions'), 'active' => request()->is('student/sessions*')], ['label' => 'Attendance', 'url' => url('/student/attendance'), 'active' => request()->is('student/attendance*')], ]], ['label' => 'My Growth', 'icon' => $trendUpIcon, 'url' => '#', 'active' => request()->is('student/journey*') || request()->is('student/progress*') || request()->is('student/goals*') || request()->is('student/reports*'), 'children' => [ ['label' => 'Action Items', 'url' => url('/student/action-items'), 'active' => request()->is('student/action-items*')], ['label' => 'Journey Tracker', 'url' => url('/student/journey'), 'active' => request()->is('student/journey*')], ['label' => 'Progress Map', 'url' => url('/student/progress'), 'active' => request()->is('student/progress*')], ['label' => 'My Goals', 'url' => url('/student/goals'), 'active' => request()->is('student/goals*')], ]], ['label' => 'Community', 'icon' => $globeIcon, 'url' => url('community/communities'), 'active' => request()->is('community/communities*')], ['label' => 'Achievements', 'icon' => $awardIcon, 'url' => '#', 'active' => request()->is('student/certificates*') || request()->is('student/achievements*') || request()->is('student/leaderboard*'), 'children' => [ ['label' => 'Badges & Awards', 'url' => url('/student/achievements'), 'active' => request()->is('student/achievements*')], ['label' => 'Leaderboard', 'url' => url('/student/leaderboard'), 'active' => request()->is('student/leaderboard*')], ]], ['label' => 'Messages', 'icon' => $chatIcon, 'url' => route('messages.index'), 'active' => request()->routeIs('messages.*'), 'badge' => $unreadMessageCount ?? null], ], 'parent' => [ ['label' => 'Dashboard', 'icon' => $gridIcon, 'url' => url('/parent/dashboard'), 'active' => request()->is('parent/dashboard')], ['label' => 'My Wards', 'icon' => $peopleIcon, 'url' => url('/parent/children'), 'active' => request()->is('parent/children*')], ['label' => 'Academics', 'icon' => $academicIcon, 'url' => '#', 'active' => request()->is('parent/gradebook*') || request()->is('parent/report-cards*') || request()->is('parent/attendance*') || request()->is('parent/reports*') || request()->is('parent/goals*'), 'children' => [ ['label' => 'Gradebook', 'url' => url('/parent/gradebook'), 'active' => request()->is('parent/gradebook*')], ['label' => 'Report Cards', 'url' => url('/parent/report-cards'), 'active' => request()->is('parent/report-cards*')], ['label' => 'Attendance', 'url' => url('/parent/attendance'), 'active' => request()->is('parent/attendance*')], //['label' => 'Academic Reports', 'url' => url('/parent/reports'), 'active' => request()->is('parent/reports*')], ['label' => 'Goals & Targets', 'url' => url('/parent/goals'), 'active' => request()->is('parent/goals*')], ]], ['label' => 'Finance', 'icon' => $financeIcon, 'url' => '#', 'active' => request()->is('parent/finance*') || request()->is('parent/invoices*'), 'children' => [ ['label' => 'Invoices & Fees', 'url' => url('/parent/finance/invoices'), 'active' => request()->is('parent/finance/invoices*') || request()->is('parent/invoices*')], ['label' => 'Payment Plans', 'url' => url('/parent/finance/payment-plans'), 'active' => request()->is('parent/finance/payment-plans*')], ]], ['label' => 'Actions', 'icon' => $taskListIcon, 'url' => '#', 'active' => request()->is('parent/action-items*') || request()->is('parent/policy-acceptances*') || request()->is('parent/interventions*') || request()->is('parent/recommendations*'), 'children' => [ ['label' => 'Action Items', 'url' => url('/parent/action-items'), 'active' => request()->is('parent/action-items*')], ['label' => 'Interventions', 'url' => url('/parent/interventions'), 'active' => request()->is('parent/interventions*')], ['label' => 'Recommendations', 'url' => url('/parent/recommendations'), 'active' => request()->is('parent/recommendations*')], ['label' => 'Class Reports', 'url' => url('/parent/report'), 'active' => request()->is('parents/report*')], ]], ['label' => 'Reputation', 'icon' => $awardIcon, 'url' => '#', 'active' => request()->is('credentials/ops-reputation*') || request()->is('parent/credentials*'), 'children' => [ ['label' => 'OPS Reputation', 'url' => route('parent.ops.index'), 'active' => request()->routeIs('parent.ops.*')], ['label' => 'Credentials Vault', 'url' => route('parent.credentials.index'), 'active' => request()->routeIs('parent.credentials.*')], ]], ['label' => 'Community', 'icon' => $globeIcon, 'url' => url('community/communities'), 'active' => request()->is('community/communities*')], ['label' => 'Messages', 'icon' => $chatIcon, 'url' => route('messages.index'), 'active' => request()->routeIs('messages.*'), 'badge' => $unreadMessageCount ?? null], ], default => [], }; @endphp {{-- DESKTOP SIDEBAR PANEL --}} {{-- MOBILE SIDEBAR OVERLAY DRAWER --}}
{{-- Global Alpine Store Engine --}}