feat: stages module, mobility frontend, theme toggle, employeeOnly access control

- Add stages module with full CRUD API and admin overview island
- Add mobility overview island (Liste, Kanban, Detail CRUD views)
- Add contract PDF upload/download endpoints for mobilites
- Add light/dark theme toggle in header
- Add employeeOnly flag to hide entire modules from students (admin, students, stages)
- Add read-only GET endpoints for modules/ues/ue-modules in notes module
- Add [slug].tsx catch-all routes for direct URL navigation
- Replace old mobility table with mobilites + stages schema (migration 0004)
- Allow students to create mobilites and upload contracts
- Redirect authenticated users from / to /apps catalog
This commit is contained in:
2026-05-01 12:47:23 +02:00
parent df3957741d
commit 9a4c6863d1
65 changed files with 2597 additions and 681 deletions
+6 -6
View File
@@ -3,14 +3,14 @@ import { AppProperties } from "$root/defaults/interfaces.ts";
const properties: AppProperties = {
name: "PolyMobility",
icon: "flight_takeoff",
hint: "Student mobility management",
hint: "Suivi des mobilités internationales",
pages: {
index: "Homepage",
overview: "Mobility overview",
edit_mobility: "Mobility management",
consult_students_test: "Test consult students",
index: "Accueil",
overview: "Suivi des mobilités",
"my-mobility": "Ma mobilité",
},
adminOnly: ["edit_mobility", "consult_students_test"],
adminOnly: ["overview"],
studentOnly: ["my-mobility"],
};
export default properties;