From 29dd96940b78cf5ab4cf03e248d6201aa75cf449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Wed, 22 Feb 2023 09:59:12 +0100 Subject: [PATCH] Added different colors for future, current and past events --- lib/screen/pages/timetable/weekView.dart | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/screen/pages/timetable/weekView.dart b/lib/screen/pages/timetable/weekView.dart index 7e8ed33..2bf04e2 100644 --- a/lib/screen/pages/timetable/weekView.dart +++ b/lib/screen/pages/timetable/weekView.dart @@ -107,7 +107,10 @@ class _WeekViewState extends State { startTime: parseTime(tableEvent.startTime), endTime: parseTime(tableEvent.endTime), padding: const EdgeInsets.all(5), - backgroundColor: Theme.of(context).primaryColor, + backgroundColor: getEventColor( + currentDay.add(Duration(hours: parseTime(tableEvent.startTime).hour, minutes: parseTime(tableEvent.startTime).minute)), + currentDay.add(Duration(hours: parseTime(tableEvent.endTime).hour, minutes: parseTime(tableEvent.endTime).minute)), + ), location: "\n${rooms.result.firstWhere((room) => room.id == tableEvent.ro[0]['id']).name} - ${tableEvent.te[0]['longname']} (${tableEvent.te[0]['name']})", ); } @@ -117,10 +120,10 @@ class _WeekViewState extends State { if(currentDay.isToday()) { events.add(TableEvent( title: "", - eventId: 1, + eventId: 0, laneIndex: day, - startTime: formatTime(DateTime.now().add(Duration(hours: 8))), - endTime: formatTime(DateTime.now().add(const Duration(minutes: 3, hours: 8))), + startTime: formatTime(DateTime.now()), + endTime: formatTime(DateTime.now().add(const Duration(minutes: 3))), backgroundColor: Theme.of(context).disabledColor, )); } @@ -157,6 +160,12 @@ class _WeekViewState extends State { TableEventTime formatTime(DateTime input) { return TableEventTime(hour: input.hour, minute: input.minute); } + + Color getEventColor(DateTime startTime, DateTime endTime) { + if(endTime.isBefore(DateTime.now())) return Colors.grey; + if(startTime.isAfter(DateTime.now())) return Theme.of(context).primaryColor; + return Colors.redAccent; + } } class CustomTableStyle extends TimetableStyle {