diff --git a/lib/screens/dashboard/dashboard_screen.dart b/lib/screens/dashboard/dashboard_screen.dart index ae723ebf..af74f552 100644 --- a/lib/screens/dashboard/dashboard_screen.dart +++ b/lib/screens/dashboard/dashboard_screen.dart @@ -210,11 +210,19 @@ final dashboardMetricsProvider = Provider>((ref) { (a, b) => a.inSeconds >= b.inSeconds ? a : b, ); - final tasksCreatedToday = tasks.where((task) => isToday(task.createdAt)); - final tasksCompletedToday = tasks.where( - (task) => task.completedAt != null && isToday(task.completedAt!), + // Exclude cancelled tasks from dashboard metrics + final tasksCreatedToday = tasks.where( + (task) => isToday(task.createdAt) && task.status != 'cancelled', + ); + final tasksCompletedToday = tasks.where( + (task) => + task.completedAt != null && + isToday(task.completedAt!) && + task.status != 'cancelled', + ); + final openTasks = tasks.where( + (task) => task.status != 'completed' && task.status != 'cancelled', ); - final openTasks = tasks.where((task) => task.status != 'completed'); final taskById = {for (final task in tasks) task.id: task}; final staffOnTask = {}; diff --git a/lib/screens/tasks/tasks_list_screen.dart b/lib/screens/tasks/tasks_list_screen.dart index b19b1c56..193c0d40 100644 --- a/lib/screens/tasks/tasks_list_screen.dart +++ b/lib/screens/tasks/tasks_list_screen.dart @@ -870,6 +870,8 @@ List _applyTaskFilters( Map _taskStatusCounts(List tasks) { final counts = {}; for (final task in tasks) { + // Do not include cancelled tasks in dashboard summaries + if (task.status == 'cancelled') continue; counts.update(task.status, (value) => value + 1, ifAbsent: () => 1); } return counts;