feat(ui): add reusable components for FIGMA-based UI system
- Implemented new reusable components including Label, Input, InputOTP, HoverCard, Popover, Pagination, NavigationMenu, Menubar, ScrollArea, Resizable, RadioGroup, and Progress under `docs/06_Frontend/FIGMA/src/app/components/ui/`. - Enhanced structural organization to improve scalability and maintainability. - Updated `settings.gradle.kts` to include the new module `frontend:features:nennung-feature`. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
---
|
||||
type: Log
|
||||
agent: Curator
|
||||
date: 2026-03-21
|
||||
status: COMPLETED
|
||||
---
|
||||
|
||||
# 🧹 Session Log: 21. März 2026
|
||||
|
||||
## Zusammenfassung
|
||||
|
||||
Diese Session hatte zwei Schwerpunkte: (1) Etablierung eines neuen **Figma → Repo → Compose**-Workflows für die
|
||||
UI-Entwicklung und (2) Implementierung der ersten vollständigen Feature-Maske der **Master Desktop-App** – die
|
||||
`NennungsMaske`.
|
||||
|
||||
## Erreichte Meilensteine
|
||||
|
||||
### 1. Figma-Workflow etabliert
|
||||
|
||||
- Stefan hat in **Figma Make** einen interaktiven Prototyp der Desktop-Nennungs-Maske erstellt.
|
||||
- Der Export (React/TypeScript-Code + Assets) wurde direkt ins Repo unter `docs/06_Frontend/FIGMA/` kopiert.
|
||||
- Dieser "brutale aber geniale" Workflow ermöglicht es, Figma-Exports als **direkte Blaupause** für die
|
||||
Compose-Implementierung zu nutzen.
|
||||
- Neuer Standard-Workflow: `Figma Make (Stefan) → Export ins Repo → Compose-Implementierung (Agent)`
|
||||
|
||||
### 2. Neues Feature-Modul: `nennung-feature`
|
||||
|
||||
- Neues KMP-Modul erstellt: `frontend/features/nennung-feature`
|
||||
- Enthält:
|
||||
- `NennungModels.kt` – Domain-Modelle (Pferd, Reiter, Bewerb, Nennung, VerkaufsArtikel)
|
||||
- `NennungViewModel.kt` – State-Management mit Koin DI
|
||||
- `NennungsMaske.kt` – Vollständige 3-Spalten-Composable (Pferd/Reiter-Suche | Aktions-Hub | Verkauf/Buchungen +
|
||||
Bewerbsliste)
|
||||
- Mock-Daten aus dem Figma-Export übernommen (echte Preise: Boxenpauschale 115€, Heu 13€, etc.)
|
||||
|
||||
### 3. Navigation & Shell-Integration
|
||||
|
||||
- `AppScreen.Nennung` in der Navigation registriert (`AppScreen.kt`)
|
||||
- `expect/actual`-Pattern für `NennungScreenContent` implementiert (JVM: vollständige Maske, JS: Placeholder)
|
||||
- `main.kt`: `nennungFeatureModule` in Koin registriert
|
||||
- `MainApp.kt`: Dashboard-Button "Nennungs-Maske öffnen" + Nennung-Branch in der Navigation
|
||||
|
||||
## Fachlicher Kontext: Nennungs-Maske
|
||||
|
||||
Die Nennungs-Maske ist das **Herzstück der Desktop-App**. Sie basiert auf dem Altsystem SuDo und wurde analysiert anhand
|
||||
von:
|
||||
|
||||
- `docs/BilderSuDo/Nennungen.PNG`
|
||||
- `docs/BilderSuDo/Nennungen-Buchungen.PNG`
|
||||
- `docs/BilderSuDo/NennungsTausch.PNG`
|
||||
- `docs/06_Frontend/Screenshots/Desktop-Nennmaske-Entwurf_2026-03-21_11-53.png` (Stefans Figma-Entwurf)
|
||||
|
||||
Layout: 3 Spalten
|
||||
|
||||
- **Links:** Pferd- und Reiter-Suche + Nennungstabelle (Tabs: Reiter | Pferd | Bewerbe)
|
||||
- **Mitte:** Aktions-Hub (Nennung durchführen, Stornieren, Startliste, Ergebnisse, Abrechnung)
|
||||
- **Rechts:** Verkauf/Buchungen (Tabs) + Bewerbsliste mit Filter
|
||||
|
||||
## Offene Punkte / Nächste Schritte
|
||||
|
||||
- **Nennungstausch-Dialog** – eigene Maske/Modal (3-teilig: Quell-Nennung | Tausch-Optionen | Ziel-Nennung)
|
||||
- **Keyboard-Shortcuts** – F5 (Nennung), F6 (Stornieren), F7 (Startliste), F8 (Ergebnisse), Escape (Leeren)
|
||||
- **Lizenz-Badge** – grün/rot bei Reiter-Metadaten (nach Auswahl)
|
||||
- **Konto-Saldo** – rot wenn negativ, bei Reiter-Info
|
||||
- **Offline-Indikator** – Badge in der Titelleiste
|
||||
- **Weitere Masken** – Ergebnis-Erfassung, Startlisten-Erstellung (nächste Figma-Exports von Stefan)
|
||||
|
||||
## Dokumentation
|
||||
|
||||
- Neu: `frontend/features/nennung-feature/` (vollständiges KMP-Modul)
|
||||
- Neu: `docs/06_Frontend/FIGMA/` (Figma Make Export – React/TypeScript Blaupause)
|
||||
- Neu: `docs/06_Frontend/Screenshots/Desktop-Nennmaske-Entwurf_2026-03-21_11-53.png`
|
||||
- Update: `frontend/core/navigation/src/commonMain/kotlin/at/mocode/frontend/core/navigation/AppScreen.kt`
|
||||
- Update: `frontend/shells/meldestelle-portal/src/commonMain/kotlin/MainApp.kt`
|
||||
- Update: `frontend/shells/meldestelle-portal/src/jvmMain/kotlin/main.kt`
|
||||
|
||||
## Build-Status
|
||||
|
||||
- ✅ `./gradlew :frontend:features:nennung-feature:compileKotlinJvm` → BUILD SUCCESSFUL
|
||||
- ✅ `./gradlew :frontend:shells:meldestelle-portal:compileKotlinJvm` → BUILD SUCCESSFUL
|
||||
- ✅ Desktop-App startet erfolgreich (Koin initialisiert, lokale DB erstellt)
|
||||
Reference in New Issue
Block a user