feat(02-02): create room providers, form screen, icon picker, and router routes

- Add Riverpod providers (roomWithStatsList, RoomActions) connecting to RoomsDao
- Create RoomFormScreen with name field, icon picker preview, create/edit modes
- Create IconPickerSheet bottom sheet with curated Material Icons grid
- Add nested GoRouter routes: /rooms/new, /rooms/:roomId, /rooms/:roomId/edit
- Add placeholder TaskListScreen and TaskFormScreen for Plan 03 routes
- Add 11 new German localization keys for room management UI
- Add flutter_reorderable_grid_view dependency

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-15 22:00:57 +01:00
parent ead53b4c02
commit 32e61e4bec
11 changed files with 652 additions and 1 deletions

View File

@@ -207,6 +207,72 @@ abstract class AppLocalizations {
/// In de, this message translates to:
/// **'Version {version}'**
String aboutVersion(String version);
/// No description provided for @roomFormCreateTitle.
///
/// In de, this message translates to:
/// **'Raum erstellen'**
String get roomFormCreateTitle;
/// No description provided for @roomFormEditTitle.
///
/// In de, this message translates to:
/// **'Raum bearbeiten'**
String get roomFormEditTitle;
/// No description provided for @roomFormNameLabel.
///
/// In de, this message translates to:
/// **'Raumname'**
String get roomFormNameLabel;
/// No description provided for @roomFormNameHint.
///
/// In de, this message translates to:
/// **'z.B. Küche, Badezimmer...'**
String get roomFormNameHint;
/// No description provided for @roomFormNameRequired.
///
/// In de, this message translates to:
/// **'Bitte einen Namen eingeben'**
String get roomFormNameRequired;
/// No description provided for @roomFormIconLabel.
///
/// In de, this message translates to:
/// **'Symbol wählen'**
String get roomFormIconLabel;
/// No description provided for @roomDeleteConfirmTitle.
///
/// In de, this message translates to:
/// **'Raum löschen?'**
String get roomDeleteConfirmTitle;
/// No description provided for @roomDeleteConfirmMessage.
///
/// In de, this message translates to:
/// **'Der Raum und alle zugehörigen Aufgaben werden unwiderruflich gelöscht.'**
String get roomDeleteConfirmMessage;
/// No description provided for @roomDeleteConfirmAction.
///
/// In de, this message translates to:
/// **'Löschen'**
String get roomDeleteConfirmAction;
/// No description provided for @roomCardDueCount.
///
/// In de, this message translates to:
/// **'{count} fällig'**
String roomCardDueCount(int count);
/// No description provided for @cancel.
///
/// In de, this message translates to:
/// **'Abbrechen'**
String get cancel;
}
class _AppLocalizationsDelegate