updated timetable UI with event status and enhanced appointment tile rendering
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user