From b00806a597a45d2638ba7f75b41e7c5d2eae6af9 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Tue, 24 Mar 2026 09:44:58 +0100 Subject: [PATCH] feat(11-01): remove checkbox-disable restrictions for future tasks - Remove isFuture guard in calendar_day_list.dart, pass canComplete: true always - Remove isFuture check in task_row.dart, always enable Checkbox.onChanged - calendar_task_row.dart unchanged (canComplete param already defaults to true) --- lib/features/home/presentation/calendar_day_list.dart | 5 +---- lib/features/tasks/presentation/task_row.dart | 11 ++++------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/lib/features/home/presentation/calendar_day_list.dart b/lib/features/home/presentation/calendar_day_list.dart index 134cf9b..58626dd 100644 --- a/lib/features/home/presentation/calendar_day_list.dart +++ b/lib/features/home/presentation/calendar_day_list.dart @@ -240,9 +240,6 @@ class _CalendarDayListState extends ConsumerState { AppLocalizations l10n, ThemeData theme, ) { - final now = DateTime.now(); - final today = DateTime(now.year, now.month, now.day); - final isFuture = state.selectedDate.isAfter(today); final showRoomTag = widget.roomId == null; final items = []; @@ -268,7 +265,7 @@ class _CalendarDayListState extends ConsumerState { tw, isOverdue: false, showRoomTag: showRoomTag, - canComplete: !isFuture, + canComplete: true, )); } diff --git a/lib/features/tasks/presentation/task_row.dart b/lib/features/tasks/presentation/task_row.dart index e375d12..4e3665b 100644 --- a/lib/features/tasks/presentation/task_row.dart +++ b/lib/features/tasks/presentation/task_row.dart @@ -42,7 +42,6 @@ class TaskRow extends ConsumerWidget { task.nextDueDate.day, ); final isOverdue = dueDate.isBefore(today); - final isFuture = dueDate.isAfter(today); // Format relative due date in German final relativeDateText = formatRelativeDate(task.nextDueDate, now); @@ -57,12 +56,10 @@ class TaskRow extends ConsumerWidget { return ListTile( leading: Checkbox( value: false, // Always unchecked -- completion is immediate + reschedule - onChanged: isFuture - ? null // Future tasks cannot be completed yet - : (_) { - // Mark done immediately (optimistic UI, no undo per user decision) - ref.read(taskActionsProvider.notifier).completeTask(task.id); - }, + onChanged: (_) { + // Mark done immediately (optimistic UI, no undo per user decision) + ref.read(taskActionsProvider.notifier).completeTask(task.id); + }, ), title: Text( task.name,