updated timetable UI with event status and enhanced appointment tile rendering

This commit is contained in:
2026-05-06 22:53:24 +02:00
parent 95ef29fb09
commit b8cac73e74
5 changed files with 163 additions and 23 deletions
@@ -2,6 +2,7 @@ import '../../../../api/webuntis/queries/get_timetable/get_timetable_response.da
enum LessonStatus {
cancelled,
event,
irregular,
teacherChanged,
past,
@@ -10,8 +11,15 @@ enum LessonStatus {
}
class LessonStatusClassifier {
static LessonStatus classify(GetTimetableResponseObject lesson, DateTime startTime, DateTime endTime, DateTime now) {
static LessonStatus classify(
GetTimetableResponseObject lesson,
DateTime startTime,
DateTime endTime,
DateTime now, {
bool isEvent = false,
}) {
if (lesson.code == 'cancelled') return LessonStatus.cancelled;
if (isEvent) return LessonStatus.event;
if (lesson.code == 'irregular' || (lesson.te.isNotEmpty && lesson.te.first.id == 0)) return LessonStatus.irregular;
if (lesson.te.any((t) => t.orgname != null)) return LessonStatus.teacherChanged;
if (endTime.isBefore(now)) return LessonStatus.past;