add school year and security fix
Web Client CI/CD / Lint (ESLint + TypeScript) (push) Successful in 28s
Web Client CI/CD / Build (tsc + Vite) (push) Successful in 23s
Web Client CI/CD / Deploy to shared hosting (push) Successful in 33s

This commit is contained in:
root
2026-07-06 00:55:02 -04:00
parent 8cacd0874f
commit b74ddca8b1
27 changed files with 1258 additions and 39 deletions
+35
View File
@@ -3,6 +3,7 @@ import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom'
import { AuthProvider } from './auth/AuthProvider'
import { RequireAuth } from './auth/RequireAuth'
import { GlobalTableSorting } from './components/GlobalTableSorting'
import { SchoolYearProvider } from './context/SchoolYearContext'
import './App.css'
const PublicLayout = lazy(() =>
@@ -82,6 +83,21 @@ const SchoolYearsManagementPage = lazy(() =>
default: m.SchoolYearsManagementPage,
})),
)
const SchoolYearDetailPage = lazy(() =>
import('./pages/administrator/SchoolYearDetailPage').then((m) => ({
default: m.SchoolYearDetailPage,
})),
)
const SchoolYearClosingReportPage = lazy(() =>
import('./pages/administrator/SchoolYearReportsPage').then((m) => ({
default: () => <m.SchoolYearReportsPage reportType="closing" />,
})),
)
const SchoolYearBalanceTransfersReportPage = lazy(() =>
import('./pages/administrator/SchoolYearReportsPage').then((m) => ({
default: () => <m.SchoolYearReportsPage reportType="balance-transfers" />,
})),
)
const NavBuilderPage = lazy(() =>
import('./pages/NavBuilderPage').then((m) => ({ default: m.NavBuilderPage })),
)
@@ -973,6 +989,11 @@ const ParentPaymentInvoicesPage = lazy(() =>
default: m.ParentPaymentInvoicesPage,
})),
)
const ParentStatementPage = lazy(() =>
import('./pages/parent/ParentStatementPage').then((m) => ({
default: m.ParentStatementPage,
})),
)
const ParentRegisterStudentPage = lazy(() =>
import('./pages/parent/WiredParentScreens').then((m) => ({
default: m.ParentRegisterStudentPage,
@@ -992,6 +1013,7 @@ export default function App() {
return (
<AuthProvider>
<BrowserRouter>
<SchoolYearProvider>
<GlobalTableSorting />
<Suspense fallback={<RouteFallback />}>
<Routes>
@@ -1132,6 +1154,17 @@ export default function App() {
<Route path="administrator/configuration_view" element={<ConfigurationViewPage />} />
<Route path="administrator/configuration" element={<Navigate to="configuration_view" replace />} />
<Route path="administrator/school-years" element={<SchoolYearsManagementPage />} />
<Route path="admin/school-years" element={<SchoolYearsManagementPage />} />
<Route path="admin/school-years/close" element={<SchoolYearsManagementPage />} />
<Route path="admin/school-years/:yearId/summary" element={<SchoolYearDetailPage />} />
<Route
path="admin/school-years/:yearId/reports/closing"
element={<SchoolYearClosingReportPage />}
/>
<Route
path="admin/school-years/:yearId/reports/balance-transfers"
element={<SchoolYearBalanceTransfersReportPage />}
/>
<Route path="administrator/discounts" element={<DiscountListPage />} />
<Route path="administrator/discounts/create" element={<DiscountCreatePage />} />
<Route path="administrator/discounts/apply" element={<DiscountApplyVoucherPage />} />
@@ -1481,6 +1514,7 @@ export default function App() {
<Route path="parent/enroll-classes" element={<ParentEnrollClassesPage />} />
<Route path="parent/events" element={<ParentEventsPage />} />
<Route path="parent/payment" element={<ParentPaymentInvoicesPage />} />
<Route path="parent/statements" element={<ParentStatementPage />} />
<Route path="parent/register-student" element={<ParentRegisterStudentPage />} />
<Route path="parent/report-attendance" element={<ParentReportAttendancePage />} />
<Route path="parent/attendance-reports" element={<ParentAttendanceReportsHistoryPage />} />
@@ -1513,6 +1547,7 @@ export default function App() {
<Route path="*" element={<Navigate to="/" replace />} />
</Routes>
</Suspense>
</SchoolYearProvider>
</BrowserRouter>
</AuthProvider>
)