From 82c2cc3c584543eb13ed3f3e0498078d581523aa Mon Sep 17 00:00:00 2001 From: Vaibhav Surve Date: Tue, 4 Nov 2025 14:52:17 +0530 Subject: [PATCH] feat: Improve task data fetching by clearing grouped tasks on new load and preventing duplicates --- .../task_planning/daily_task_controller.dart | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/controller/task_planning/daily_task_controller.dart b/lib/controller/task_planning/daily_task_controller.dart index 74da88e..7fddd48 100644 --- a/lib/controller/task_planning/daily_task_controller.dart +++ b/lib/controller/task_planning/daily_task_controller.dart @@ -134,11 +134,24 @@ class DailyTaskController extends GetxController { ); if (response != null && response.isNotEmpty) { + if (!isLoadMore) { + groupedDailyTasks.clear(); + } + for (var task in response) { final assignmentDateKey = task.assignmentDate.toIso8601String().split('T')[0]; - groupedDailyTasks.putIfAbsent(assignmentDateKey, () => []).add(task); + + // Initialize list if not present + groupedDailyTasks.putIfAbsent(assignmentDateKey, () => []); + + // Only add task if it doesn't already exist (avoid duplicates) + if (!groupedDailyTasks[assignmentDateKey]! + .any((t) => t.id == task.id)) { + groupedDailyTasks[assignmentDateKey]!.add(task); + } } + dailyTasks = groupedDailyTasks.values.expand((list) => list).toList(); currentPage = pageNumber; } else {