feat(Diary): implement quick create functionality for training days and enhance localization
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 44s

- Added a new button for quick creation of training days in the DiaryView, improving user experience.
- Implemented logic to find the next available training slot across groups and create a training day entry.
- Enhanced localization by adding new keys for quick create messages in multiple languages, ensuring better accessibility for users.
- Updated the DiaryManager to handle quick create operations and clear errors effectively.
This commit is contained in:
Torsten Schulz (local)
2026-05-14 22:35:29 +02:00
parent 95a3e9438a
commit 83294406a4
29 changed files with 1976 additions and 46 deletions

View File

@@ -221,7 +221,7 @@ Web-Route: `/calendar` · Referenz: `CalendarView.vue` (Aggregation mehrerer Dat
- [x] **i18n:** `MobileStrings`-Keys mit Fallback in `CalendarScreen.kt` / `AppRoot.kt` (`navigation.calendar`, `home.tileCalendar`, `mobile.calendar*`)
- [x] **Web-Parität (Detail):** Meldung wenn **alle** Kalender-Quellen fehlschlagen; Legenden-Zähler aus **allen** Events (unabhängig von den Schaltern); Agenda-Datum **kurz/lokalisiert**; Ausfall-Liste nur wenn **Startdatum im Monat** liegt (wie `CalendarView.vue`) `CalendarScreen.kt`
### Phase 12 Backlog / offen
### Phase 13 Backlog / offen
- [ ] **i18n:** Kalender-Keys in `MobileStrings.kt` für alle unterstützten Sprachen ergänzen (nicht nur Fallback im Code)
- [ ] **Kalender vs. Web:** Offizielle Teilnahmen mobil per Browser vs. Web in-app bewusst lassen oder später angleichen
@@ -230,13 +230,14 @@ Web-Route: `/calendar` · Referenz: `CalendarView.vue` (Aggregation mehrerer Dat
---
## Phase 13 Qualität, Tests, Release
## Phase 14 Qualität, Tests, Release
- [ ] **Regression-Checkliste** pro Phase (manuell)
- [ ] Automatisierte Tests: `shared` (Serialisierung, Mapper), wo möglich UI-Tests kritische Flows
- [ ] **Barrierefreiheit:** Talkback, Kontraste, Touch-Ziele
- [ ] **Performance:** große Listen (Paging), Bildcache
- [ ] Store-Texte, Datenverarbeitung (Play Policy) für Medien und Kontakte
- [x] **Regression-Checkliste** pro Phase (manuell) `mobile-app/REGRESSION_CHECKLIST.md`
- [x] Automatisierte Tests: `shared` Android-Unit-Tests (`androidUnitTest`), Startpunkt **Serialisierung Turnier-DTOs** (`InternalTournamentSerializationTest.kt`); ausführen: `./gradlew :shared:testDebugUnitTest`
- [x] **Barrierefreiheit (Basis):** Navigation Rail **TalkBack**-taugliche `contentDescription` für Sektions-Icons (Ein-/Ausklappen) und zusammengefasste Beschriftung für Blatt-Einträge (`NavRailLeafItem`); Bottom-Tabs hatten bereits Label + Icon-Beschreibung
- [ ] **Performance:** große Listen (Paging), Bildcache weiterhin iterativ / bei Bedarf
- [ ] Store-Texte, Datenverarbeitung (Play Policy) für Medien und Kontakte Verantwortung Listing/Datenschutzerklärung; technische Hinweise in `REGRESSION_CHECKLIST.md`
- [x] **Release / R8-Vorbereitung:** `composeApp/proguard-rules.pro` (Ktor, `kotlinx.serialization`, Koin, BuildConfig) + `proguardFiles` in `composeApp/build.gradle.kts`; **`isMinifyEnabled`** bleibt `false` bis gezielter Release-Test
---