feat: Round 24 - Klassenlehrer management, vice principal, exam calendar, student portal exams

- Klassenlehrer management: Assign/change responsible teacher, privilege badges
- Vice principal management: Assign/remove VP role, admins list
- Calendar exam integration: Exam countdown, print calendar, exam filter
- Student portal: Exams tab with countdown, AI study tips, virtual character
- Dashboard: Klassenlehrer section with pending illness/communications
- API: PUT /api/users/role for role management
- API: Enhanced classes GET to include responsibleTeacher
- 90+ new i18n keys
This commit is contained in:
Mustafa Cetin committed 2026-07-29 21:13:32 +00:00
1 parent 44ff170fca
commit f2caf267c7
12 files changed
+1522 -14

No files matched your search

+4 -1
View File
@@ -155,10 +155,13 @@ export interface ClassGroup {
schoolType: string;
school: { id: string; name: string };
schoolYear: { id: string; label: string };
responsibleTeacherId?: string | null;
responsibleTeacher?: { id: string; firstName: string; lastName: string; email: string } | null;
teachers: Array<{ id: string; userId: string; role: string; user: { id: string; firstName: string; lastName: string; email: string } }>;
studentCount?: number;
assessmentCount?: number;
teacherList?: Array<{ id: string; firstName: string; lastName: string; teacherRole: string }>;
_count?: { enrollments?: number; competencyAssignments?: number; [key: string]: unknown };
_count?: { enrollments?: number; competencyAssignments?: number; assessments?: number; [key: string]: unknown };
}
export function fetchClasses(schoolId?: string, schoolYearId?: string): Promise<ClassGroup[]> {