From 04870205f955aedd56cd124fe07f62980e33e1e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Horv=C3=A1th=20Gergely?= Date: Mon, 8 Dec 2025 09:41:06 +0100 Subject: [PATCH] Refactor date calculations for start of the week in live activity service --- firka/lib/helpers/live_activity_service.dart | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/firka/lib/helpers/live_activity_service.dart b/firka/lib/helpers/live_activity_service.dart index 25af9b2..92d0add 100644 --- a/firka/lib/helpers/live_activity_service.dart +++ b/firka/lib/helpers/live_activity_service.dart @@ -309,7 +309,8 @@ class LiveActivityService { _logger.info('Background fetch: fetching fresh timetable from KRÉTA API'); final now = DateTime.now(); - final startOfWeek = now.subtract(Duration(days: now.weekday - 1)); + final todayStart = DateTime(now.year, now.month, now.day); + final startOfWeek = todayStart.subtract(Duration(days: now.weekday - 1)); final endOfWeek = startOfWeek.add(const Duration(days: 6)); List allLessons = []; @@ -610,7 +611,8 @@ class LiveActivityService { try { _logger.info('onUserLogin: Starting timetable fetch'); final now = DateTime.now(); - final startOfWeek = now.subtract(Duration(days: now.weekday - 1)); + final todayStart = DateTime(now.year, now.month, now.day); + final startOfWeek = todayStart.subtract(Duration(days: now.weekday - 1)); final endOfWeek = startOfWeek.add(const Duration(days: 6)); _logger.info('onUserLogin: Fetching timetable from $startOfWeek to $endOfWeek'); @@ -739,7 +741,8 @@ class LiveActivityService { } final now = DateTime.now(); - final startOfWeek = now.subtract(Duration(days: now.weekday - 1)); + final todayStart = DateTime(now.year, now.month, now.day); + final startOfWeek = todayStart.subtract(Duration(days: now.weekday - 1)); final endOfWeek = startOfWeek.add(const Duration(days: 6)); final timetableResponse = await client.getTimeTable(startOfWeek, endOfWeek); final allLessons = timetableResponse.response ?? []; @@ -807,7 +810,8 @@ class LiveActivityService { try { final now = DateTime.now(); - final startOfWeek = now.subtract(Duration(days: now.weekday - 1)); + final todayStart = DateTime(now.year, now.month, now.day); + final startOfWeek = todayStart.subtract(Duration(days: now.weekday - 1)); final endOfWeek = startOfWeek.add(const Duration(days: 6)); final timetableResponse = await client.getTimeTable(startOfWeek, endOfWeek);