feat(09-01): rework frequency picker with shortcut chips and freeform picker

- Replace 10-chip grid + hidden Custom mode with 4 shortcut chips (Täglich, Wöchentlich, Alle 2 Wochen, Monatlich)
- Always-visible freeform 'Alle [N] [Tage/Wochen/Monate]' picker row below chips
- Bidirectional sync: tapping chip populates picker; editing picker recalculates chip highlight
- _resolveFrequency() now reads exclusively from picker (single source of truth)
- Edit mode correctly loads all 8 IntervalType values including quarterly and yearly
- Add l10n keys frequencyShortcutDaily/Weekly/Biweekly/Monthly to app_de.arb
This commit is contained in:
2026-03-18 22:45:38 +01:00
parent 1fd6c05f0f
commit 8a0b69b688
4 changed files with 179 additions and 115 deletions

View File

@@ -48,6 +48,10 @@
"taskFormFrequencyLabel": "Wiederholung",
"taskFormFrequencyCustom": "Benutzerdefiniert",
"taskFormFrequencyEvery": "Alle",
"frequencyShortcutDaily": "Täglich",
"frequencyShortcutWeekly": "Wöchentlich",
"frequencyShortcutBiweekly": "Alle 2 Wochen",
"frequencyShortcutMonthly": "Monatlich",
"taskFormFrequencyUnitDays": "Tage",
"taskFormFrequencyUnitWeeks": "Wochen",
"taskFormFrequencyUnitMonths": "Monate",

View File

@@ -322,6 +322,30 @@ abstract class AppLocalizations {
/// **'Alle'**
String get taskFormFrequencyEvery;
/// No description provided for @frequencyShortcutDaily.
///
/// In de, this message translates to:
/// **'Täglich'**
String get frequencyShortcutDaily;
/// No description provided for @frequencyShortcutWeekly.
///
/// In de, this message translates to:
/// **'Wöchentlich'**
String get frequencyShortcutWeekly;
/// No description provided for @frequencyShortcutBiweekly.
///
/// In de, this message translates to:
/// **'Alle 2 Wochen'**
String get frequencyShortcutBiweekly;
/// No description provided for @frequencyShortcutMonthly.
///
/// In de, this message translates to:
/// **'Monatlich'**
String get frequencyShortcutMonthly;
/// No description provided for @taskFormFrequencyUnitDays.
///
/// In de, this message translates to:

View File

@@ -128,6 +128,18 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get taskFormFrequencyEvery => 'Alle';
@override
String get frequencyShortcutDaily => 'Täglich';
@override
String get frequencyShortcutWeekly => 'Wöchentlich';
@override
String get frequencyShortcutBiweekly => 'Alle 2 Wochen';
@override
String get frequencyShortcutMonthly => 'Monatlich';
@override
String get taskFormFrequencyUnitDays => 'Tage';