diff --git a/lib/extensions/dateTime.dart b/lib/extensions/dateTime.dart index e1e0c1e..f5b85bd 100644 --- a/lib/extensions/dateTime.dart +++ b/lib/extensions/dateTime.dart @@ -2,4 +2,8 @@ extension IsSameDay on DateTime { bool isSameDay(DateTime other) { return year == other.year && month == other.month && day == other.day; } + + DateTime nextWeekday(int day) { + return add(Duration(days: (day - weekday) % DateTime.daysPerWeek)); + } } \ No newline at end of file diff --git a/lib/model/timetable/timetableProps.dart b/lib/model/timetable/timetableProps.dart index f903fa3..683c940 100644 --- a/lib/model/timetable/timetableProps.dart +++ b/lib/model/timetable/timetableProps.dart @@ -12,16 +12,6 @@ import '../../api/webuntis/queries/getTimetable/getTimetableResponse.dart'; import '../../api/webuntis/webuntisError.dart'; import '../dataHolder.dart'; -extension DateTimeExtension on DateTime { - DateTime jumpToNextWeekDay(int day) { - return add( - Duration( - days: (day - weekday) % DateTime.daysPerWeek, - ), - ); - } -} - class TimetableProps extends DataHolder { final _queryWeek = DateTime.now().add(const Duration(days: 2)); diff --git a/lib/view/pages/timetable/timetable.dart b/lib/view/pages/timetable/timetable.dart index 2a50884..b79ebf4 100644 --- a/lib/view/pages/timetable/timetable.dart +++ b/lib/view/pages/timetable/timetable.dart @@ -102,8 +102,8 @@ class _TimetableState extends State { view: CalendarView.workWeek, dataSource: _buildTableEvents(value), - maxDate: DateTime.now().add(const Duration(days: 7)), - minDate: DateTime.now().subtract(const Duration (days: 14)), + maxDate: DateTime.now().add(const Duration(days: 7)).nextWeekday(DateTime.saturday), + minDate: DateTime.now().subtract(const Duration (days: 14)).nextWeekday(DateTime.sunday), controller: controller,