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)
This commit is contained in:
@@ -240,9 +240,6 @@ class _CalendarDayListState extends ConsumerState<CalendarDayList> {
|
|||||||
AppLocalizations l10n,
|
AppLocalizations l10n,
|
||||||
ThemeData theme,
|
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 showRoomTag = widget.roomId == null;
|
||||||
|
|
||||||
final items = <Widget>[];
|
final items = <Widget>[];
|
||||||
@@ -268,7 +265,7 @@ class _CalendarDayListState extends ConsumerState<CalendarDayList> {
|
|||||||
tw,
|
tw,
|
||||||
isOverdue: false,
|
isOverdue: false,
|
||||||
showRoomTag: showRoomTag,
|
showRoomTag: showRoomTag,
|
||||||
canComplete: !isFuture,
|
canComplete: true,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ class TaskRow extends ConsumerWidget {
|
|||||||
task.nextDueDate.day,
|
task.nextDueDate.day,
|
||||||
);
|
);
|
||||||
final isOverdue = dueDate.isBefore(today);
|
final isOverdue = dueDate.isBefore(today);
|
||||||
final isFuture = dueDate.isAfter(today);
|
|
||||||
|
|
||||||
// Format relative due date in German
|
// Format relative due date in German
|
||||||
final relativeDateText = formatRelativeDate(task.nextDueDate, now);
|
final relativeDateText = formatRelativeDate(task.nextDueDate, now);
|
||||||
@@ -57,9 +56,7 @@ class TaskRow extends ConsumerWidget {
|
|||||||
return ListTile(
|
return ListTile(
|
||||||
leading: Checkbox(
|
leading: Checkbox(
|
||||||
value: false, // Always unchecked -- completion is immediate + reschedule
|
value: false, // Always unchecked -- completion is immediate + reschedule
|
||||||
onChanged: isFuture
|
onChanged: (_) {
|
||||||
? null // Future tasks cannot be completed yet
|
|
||||||
: (_) {
|
|
||||||
// Mark done immediately (optimistic UI, no undo per user decision)
|
// Mark done immediately (optimistic UI, no undo per user decision)
|
||||||
ref.read(taskActionsProvider.notifier).completeTask(task.id);
|
ref.read(taskActionsProvider.notifier).completeTask(task.id);
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user