refactor(desktop): V2-Suffixe entfernt und VeranstaltungKomponenten modularisiert
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# Session Journal: 2026-04-17 - Aufräumarbeiten & Konsolidierung
|
||||
|
||||
## 🎯 Ziele der Session
|
||||
|
||||
1. **V2-Cleanup:** Entfernung aller `V2`-Suffixe aus dem Codebase (Modelle, Stores, Wizards), um eine konsolidierte "
|
||||
Source of Truth" zu schaffen.
|
||||
2. **Refactoring:** Zerlegung der massiven `VeranstaltungKonfig`-Komponente in wartbare Teil-Module.
|
||||
3. **Duplikat-Entfernung:** Zentralisierung von UI-Logik (DatePicker, Validierung) zur Reduzierung von Code-Duplikaten.
|
||||
|
||||
## 🛠️ Durchgeführte Änderungen
|
||||
|
||||
### 🧹 1. Konsolidierung der Benamung (V2-Entfernung)
|
||||
|
||||
* **Änderungen:**
|
||||
* `VeranstaltungKonfigV2` -> `VeranstaltungKonfig`
|
||||
* `VeranstaltungV2` -> `Veranstaltung`
|
||||
* `TurnierV2` -> `Turnier`
|
||||
* `StoreV2` -> `Store`
|
||||
* `TurnierStoreV2` -> `TurnierStore`
|
||||
* `TurnierWizardV2` -> `TurnierWizard`
|
||||
* **Grund:** Umsetzung der Vereinbarung, nur noch eine "echte" Version zu pflegen und Altlasten aus Migrationsphasen zu
|
||||
entfernen. Alle Referenzen im gesamten Projekt (`DesktopMainLayout.kt`, `ManagementScreens.kt`, `main.kt`) wurden
|
||||
erfolgreich aktualisiert.
|
||||
|
||||
### 🏗️ 2. Refactoring `VeranstaltungScreens.kt`
|
||||
|
||||
* **Extraktion:** Die Wizard-Schritte wurden in eigenständige Composable-Funktionen ausgelagert:
|
||||
* `Step1Veranstalter`: Auswahl aus ZNS/Lokal-Bestand.
|
||||
* `Step2Basisdaten`: Titel, Zeitraum, Ort, Disziplinen.
|
||||
* `Step3Details`: Logo, Sponsoren, Bewerbs-Management.
|
||||
* **Zentralisierung:**
|
||||
* Neue Komponente `AppDatePickerDialog` zur Vermeidung von dreifach redundantem Dialog-Code.
|
||||
* Konsolidierte Validierungslogik für den Veranstaltungszeitraum.
|
||||
|
||||
### 🏷️ 3. Fehlerbehebung & Qualitätssicherung
|
||||
|
||||
* **Syntax-Fix:** Korrektur von Klammerfehlern, die während des Refactorings in der großen `VeranstaltungScreens.kt`
|
||||
entstanden sind.
|
||||
* **Linting:** Erfolgreiche Validierung der Dateien `VeranstaltungScreens.kt`, `Stores.kt` und `DesktopMainLayout.kt`.
|
||||
|
||||
## ✅ Ergebnis & Status
|
||||
|
||||
* Der Code ist nun wesentlich modularer und besser lesbar.
|
||||
* Die Benamung ist konsistent ohne verwirrende Versions-Suffixe.
|
||||
* Redundante Logik-Blöcke (besonders beim Datum-Handling) wurden eliminiert.
|
||||
|
||||
---
|
||||
**🏗️ [Lead Architect]** & **🧹 [Curator]**
|
||||
Datum: 17. April 2026 | Status: Abgeschlossen
|
||||
@@ -50,11 +50,22 @@
|
||||
* Anzeige der letzten Sync-Version (z.B. `ZNS: V12` oder `ZNS: Kein Sync`).
|
||||
* Farbliche Kennzeichnung (Grün/Gelb/Rot) je nach Synchronisationsstand.
|
||||
|
||||
### 🏗️ 5. Fachlich: Disziplinen & Bewerbe (Schritt 2 & 3)
|
||||
|
||||
* **Datei:** `frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/desktop/v2/VeranstaltungScreens.kt`
|
||||
* **Änderung:**
|
||||
* **Schritt 2:** Felder für PLZ und Disziplin-Auswahl (Springen, Dressur, etc.) hinzugefügt.
|
||||
* **Schritt 3:** Komplettes Bewerbs-Management implementiert. User können Prüfungsnummern, Klassen und Bezeichnungen
|
||||
erfassen.
|
||||
* **Validierung:** Der Wizard lässt sich erst finalisieren, wenn mindestens ein Bewerb angelegt wurde.
|
||||
* **Grund:** Vorbereitung der Datenstruktur für den OEPS-Export und Verbesserung der fachlichen Abdeckung im Wizard.
|
||||
|
||||
## ✅ Ergebnis & Status
|
||||
|
||||
* Das Consul-Dashboard sollte nun einen stabilen "Grün"-Status für den `masterdata-service` anzeigen.
|
||||
* Der Desktop-Wizard leitet den User fachlich korrekt durch die Turnier-Anlage.
|
||||
* Der User hat jederzeit volle Transparenz über den Stand seiner lokalen ZNS-Daten.
|
||||
* Die Erfassung von Bewerben legt den Grundstein für die spätere Nennungs- und Ergebnisverwaltung.
|
||||
|
||||
---
|
||||
**🏗️ [Lead Architect]** & **🧹 [Curator]**
|
||||
|
||||
Reference in New Issue
Block a user