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:
@@ -23,5 +23,21 @@
|
||||
"placeholders": {
|
||||
"version": { "type": "String" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"roomFormCreateTitle": "Raum erstellen",
|
||||
"roomFormEditTitle": "Raum bearbeiten",
|
||||
"roomFormNameLabel": "Raumname",
|
||||
"roomFormNameHint": "z.B. K\u00fcche, Badezimmer...",
|
||||
"roomFormNameRequired": "Bitte einen Namen eingeben",
|
||||
"roomFormIconLabel": "Symbol w\u00e4hlen",
|
||||
"roomDeleteConfirmTitle": "Raum l\u00f6schen?",
|
||||
"roomDeleteConfirmMessage": "Der Raum und alle zugeh\u00f6rigen Aufgaben werden unwiderruflich gel\u00f6scht.",
|
||||
"roomDeleteConfirmAction": "L\u00f6schen",
|
||||
"roomCardDueCount": "{count} f\u00e4llig",
|
||||
"@roomCardDueCount": {
|
||||
"placeholders": {
|
||||
"count": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"cancel": "Abbrechen"
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -67,4 +67,40 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
String aboutVersion(String version) {
|
||||
return 'Version $version';
|
||||
}
|
||||
|
||||
@override
|
||||
String get roomFormCreateTitle => 'Raum erstellen';
|
||||
|
||||
@override
|
||||
String get roomFormEditTitle => 'Raum bearbeiten';
|
||||
|
||||
@override
|
||||
String get roomFormNameLabel => 'Raumname';
|
||||
|
||||
@override
|
||||
String get roomFormNameHint => 'z.B. Küche, Badezimmer...';
|
||||
|
||||
@override
|
||||
String get roomFormNameRequired => 'Bitte einen Namen eingeben';
|
||||
|
||||
@override
|
||||
String get roomFormIconLabel => 'Symbol wählen';
|
||||
|
||||
@override
|
||||
String get roomDeleteConfirmTitle => 'Raum löschen?';
|
||||
|
||||
@override
|
||||
String get roomDeleteConfirmMessage =>
|
||||
'Der Raum und alle zugehörigen Aufgaben werden unwiderruflich gelöscht.';
|
||||
|
||||
@override
|
||||
String get roomDeleteConfirmAction => 'Löschen';
|
||||
|
||||
@override
|
||||
String roomCardDueCount(int count) {
|
||||
return '$count fällig';
|
||||
}
|
||||
|
||||
@override
|
||||
String get cancel => 'Abbrechen';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user