--- type: Journal status: ACTIVE owner: Curator created: 2026-04-16 --- # Journal — 16. April 2026 (Veranstaltungs-Verwaltung Refactoring) ## 🎯 Ziel & Entscheidung Überarbeitung der **Veranstaltungs-Verwaltung** gemäß der neuen UI-Vision (High-Density & Desktop-First). Ziel war es, die Navigation effizienter zu gestalten (Double-Click Navigation) und den Wizard für die Neuanlage funktional auszubauen (Stammdaten-Validierung). ## 🎨 UI/UX Änderungen - **VeranstaltungenScreen:** - Titel auf "Veranstaltungen - verwalten" aktualisiert (Vorgabe: Bindestrich + Kleinschreibung des Verbs). - Entfernung der redundanten Navigations-Buttons (Reiter, Verein, ZNS-Importer) im Header zur Reduzierung der kognitiven Last. - Einführung der `VeranstaltungCard` mit Logo-Platzhalter und Hover-Feedback. - Implementierung von **Double-Click Navigation** zum Öffnen einer Veranstaltung. - Radikale Entschlackung: Platzhalter wurden durch eine saubere Liste/Grid-Logik ersetzt. - Integration des primären Action-Buttons "+ Neue Veranstaltung" im Header. - **VeranstaltungNeuScreen (Wizard):** - Umstellung auf einen tab-basierten Workflow (Stammdaten | Organisation | Preisliste). - Implementierung des Stammdaten-Formulars (A-Satz) mit Pflichtfeld-Validierung (Name, Ort, Datum). - Integration der `MsTextField` und `MsButton` Komponenten aus dem Design-System. - Vorbereitung für ZNS-Import Integration. ## 🏗️ Technische Details - **State Management:** Nutzung von `remember` und `mutableStateOf` für die Formular-Validierung im Screen. - **Modelle:** Einführung von `VeranstaltungSimpleUiModel` zur Entkopplung von Domain-Modellen in der UI. - **Komponenten:** Nutzung von `combinedClickable` für Desktop-spezifische Interaktionen. ## 🔗 Relevante Dateien - `frontend/features/veranstaltung-feature/src/jvmMain/kotlin/at/mocode/veranstaltung/feature/presentation/VeranstaltungenScreen.kt` - `frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/desktop/v2/VeranstaltungScreens.kt` (Zentrale Desktop-Ansicht) - `frontend/features/veranstaltung-feature/src/jvmMain/kotlin/at/mocode/veranstaltung/feature/presentation/VeranstaltungNeuScreen.kt`