- Tests for default state (enabled=false, time=07:00)
- Tests for setEnabled persistence to SharedPreferences
- Tests for setTime persistence to SharedPreferences
- Tests for loading persisted values via _load()
- Tests for NotificationService singleton pattern
- Tests for nextInstanceOf timezone logic (future/past time)
- Remove unused drift import in daily_plan_dao_test
- Fix unused local variable in tasks_dao_test
- Switch ProviderScope to UncontrolledProviderScope in home_screen_test
and app_shell_test to resolve riverpod_lint scoped_providers warning
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Complete HomeScreen rewrite: progress card, overdue/today/tomorrow sections
- Animated task completion with SizeTransition + SlideTransition on checkbox tap
- "All clear" celebration state when all tasks done, "no tasks" state for first-run
- Room name tags navigate to room task list via context.go
- 6 widget tests covering empty, all-clear, normal state, overdue, tomorrow sections
- Fixed app_shell_test to override dailyPlanProvider for new HomeScreen dependency
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 7 failing tests for watchAllTasksWithRoomName and watchCompletionsToday
- DAO stub with UnimplementedError methods registered in AppDatabase
- TaskWithRoom and DailyPlanState model classes defined
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
flutter_reorderable_grid_view requires String keys, not int. Also
adds safe area top padding so the room grid doesn't overlap the
system status bar.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- TaskActions AsyncNotifier for create, update, delete, complete task mutations
- tasksInRoomProvider manual StreamProvider.family wrapping TasksDao.watchTasksInRoom
- TaskFormScreen with name, frequency (10 presets + custom), effort (3-way segmented),
description, and initial due date picker (German DD.MM.YYYY format)
- Custom frequency: number + unit picker (Tage/Wochen/Monate)
- Calendar-anchored intervals auto-set anchorDay from due date
- Edit mode loads existing task and pre-fills all fields
- 19 new German localization keys for task form, delete, and empty state
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace placeholder RoomsScreen with ConsumerWidget watching roomWithStatsProvider
- Create RoomCard with icon, name, due count badge, cleanliness progress bar
- 2-column ReorderableBuilder grid with drag-and-drop reorder
- Empty state, loading, error states with retry
- Long-press menu for edit/delete with confirmation dialog
- FAB for room creation navigation
- Update app_shell_test with provider override for rooms stream
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create TaskTemplate class with name, intervalType, intervalDays, effortLevel
- Add roomTemplates const map with 3-6 templates per room type (14 total)
- Implement detectRoomType with case-insensitive matching and alias support
- Room types: kueche, badezimmer, schlafzimmer, wohnzimmer, flur, buero,
garage, balkon, waschkueche, keller, kinderzimmer, gaestezimmer, esszimmer, garten
- All 11 template tests passing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- GoRouter with StatefulShellRoute.indexedStack and 3 branches (Home, Rooms, Settings)
- AppShell with NavigationBar using localized labels and thematic icons
- HomeScreen with empty state and cross-navigation to Rooms tab
- RoomsScreen with empty state and placeholder action button
- SettingsScreen with SegmentedButton theme switcher and About section
- Widget test verifying 3 navigation destinations with correct German labels
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- AppDatabase with schemaVersion 1, in-memory executor for testing
- Database provider with @Riverpod(keepAlive: true)
- AppTheme with sage green seed ColorScheme and warm surface overrides
- ThemeNotifier with SharedPreferences persistence, defaults to system
- Full German ARB localization (15 keys) with proper umlauts
- Minimal main.dart with ProviderScope placeholder
- Drift schema v1 captured via make-migrations
- All .g.dart files generated via build_runner
- Wave 0 tests: database (3), color scheme (6), theme (3), localization (2) -- 14 total, all passing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>