feat(06-01): build task history sheet, wire into TaskFormScreen, add CalendarTaskRow navigation

- Create task_history_sheet.dart: showTaskHistorySheet() modal bottom sheet
- Sheet uses StreamBuilder on watchCompletionsForTask, shows dates in dd.MM.yyyy + HH:mm format
- Empty state: Icons.history + 'Noch nie erledigt' message
- Count summary shown above list when completions exist
- Add Verlauf ListTile to TaskFormScreen (edit mode only) opening history sheet
- Add onTap to CalendarTaskRow navigating to /rooms/:roomId/tasks/:taskId
- All 106 tests pass, zero analyze issues
This commit is contained in:
2026-03-16 21:57:11 +01:00
parent ceae7d7d61
commit 9f902ff2c7
3 changed files with 155 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ import '../../../core/providers/database_provider.dart';
import '../../../l10n/app_localizations.dart';
import '../domain/effort_level.dart';
import '../domain/frequency.dart';
import 'task_history_sheet.dart';
import 'task_providers.dart';
/// Full-screen form for task creation and editing.
@@ -186,6 +187,21 @@ class _TaskFormScreenState extends ConsumerState<TaskFormScreen> {
),
const SizedBox(height: 8),
_buildDueDatePicker(theme),
// History section (edit mode only)
if (widget.isEditing) ...[
const SizedBox(height: 24),
const Divider(),
ListTile(
leading: const Icon(Icons.history),
title: Text(l10n.taskHistoryTitle),
trailing: const Icon(Icons.chevron_right),
onTap: () => showTaskHistorySheet(
context: context,
taskId: widget.taskId!,
),
),
],
],
),
),