feat(web): migrate student academic insights

Add React exam and invigilation schedules, student transcript metrics and score breakdowns, and academic warning acknowledgement with support follow-up timelines. Connect role-aware navigation and dashboard links.
This commit is contained in:
biss authored and biss committed 2026-10-03 21:38:14 +08:00
1 parent e926dd00f2
commit f657290e71
9 files changed
+217 -5

No files matched your search

+6
View File
@@ -11,6 +11,9 @@ const AccountPage = lazy(() => import('../pages/AccountPage'))
const UsersPage = lazy(() => import('../pages/UsersPage'))
const NotificationsPage = lazy(() => import('../pages/NotificationsPage'))
const MyTimetablePage = lazy(() => import('../pages/MyTimetablePage'))
const ExamsPage = lazy(() => import('../pages/ExamsPage'))
const StudentGradesPage = lazy(() => import('../pages/StudentGradesPage'))
const StudentWarningsPage = lazy(() => import('../pages/StudentWarningsPage'))
const SsoCallbackPage = lazy(() => import('../pages/SsoCallbackPage'))
const SsoBindPage = lazy(() => import('../pages/SsoBindPage'))
const AppShell = lazy(() => import('../layout/AppShell'))
@@ -56,6 +59,9 @@ function AppRoutes() {
<Route path="/users" element={<UsersPage />} />
<Route path="/notifications" element={<NotificationsPage />} />
<Route path="/my-timetable" element={<MyTimetablePage />} />
<Route path="/exams" element={<ExamsPage />} />
<Route path="/grades" element={<StudentGradesPage />} />
<Route path="/warnings" element={<StudentWarningsPage />} />
<Route path="/" element={<Navigate to="/dashboard" replace />} />
</Route>
<Route path="*" element={<Navigate to="/dashboard" replace />} />