docs: massive restructuring of documentation, development guides and agent playbooks
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
---
|
||||
type: Frontend Wireframe
|
||||
status: DRAFT
|
||||
owner: 🖌️ UI/UX Designer
|
||||
last_update: 2026-04-03
|
||||
related:
|
||||
- docs/06_Frontend/Navigation_V3_Screen-Baum_und_Back-Stack.md
|
||||
- docs/03_Domain/01_Glossary/Ubiquitous_Language.md
|
||||
- docs/04_Agents/Roadmaps/UIUX_Roadmap.md
|
||||
---
|
||||
|
||||
# Wireframes — Bewerb anlegen (mit Abteilungs‑Logik)
|
||||
|
||||
Ziel: Klarer 3‑Step‑Flow für das Anlegen eines Bewerbs inkl. automatischer Abteilungs‑Vorschläge gemäß CSN‑C‑NEU Pflicht‑Teilung. Desktop‑optimiert (Compose), Offline‑Friendly.
|
||||
|
||||
Flow: Grunddaten → Abteilungs‑Vorschlag → Bestätigung.
|
||||
|
||||
---
|
||||
|
||||
## Step 1 — Grunddaten
|
||||
|
||||
ASCII‑Wireframe (Modal Sheet empfohlen; Fullscreen falls weitere Metadaten benötigt):
|
||||
|
||||
```
|
||||
┌────────── Bewerb anlegen — Grunddaten ──────────┐
|
||||
│ Bezeichnung [ Springen 1,10 m ] │
|
||||
│ Disziplin [ Springen v ] Niveau [A] │
|
||||
│ Alters-/Lizenz [ Lizenz B v ] │
|
||||
│ Startgeld [ 25,00 ] Währung [EUR v] │
|
||||
│ Optional: Max Nennungen [ 60 ] │
|
||||
│
|
||||
│ ← Zurück Weiter → │
|
||||
└─────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Hinweise:
|
||||
- Felder minimal halten; Tooltips für Regelwerk.
|
||||
- Validierung live; „Weiter“ erst bei gültigen Pflichtfeldern.
|
||||
|
||||
---
|
||||
|
||||
## Step 2 — Abteilungs‑Vorschlag (CSN‑C‑NEU)
|
||||
|
||||
Visualisierung der automatischen Vorschläge, klare Unterscheidung der Abteilungs‑Typen:
|
||||
|
||||
```
|
||||
┌──── Bewerb anlegen — Abteilungs‑Vorschlag ─────┐
|
||||
│ Vorschläge (automatisch): │
|
||||
│ ▣ SEPARATE_SIEGEREHRUNG (Pflicht‑Teilung) │
|
||||
│ • A (Lizenz A) ▢ zusammenlegen │
|
||||
│ • B (Lizenz B) ▢ zusammenlegen │
|
||||
│ • R1 (R1) ▢ zusammenlegen │
|
||||
│ │
|
||||
│ ○ ORGANISATORISCH (nur Startlisten trennen) │
|
||||
│ • A+B zusammen (gemeinsame Wertung) │
|
||||
│ │
|
||||
│ Darstellung: │
|
||||
│ [A] [B] [R1] → 3 Siegerehrungen getrennt │
|
||||
│ [A+B] → 1 Siegerehrung gemeinsam │
|
||||
│ │
|
||||
│ Optionen: │
|
||||
│ [ Editieren… ] (Abteilungen manuell anpassen) │
|
||||
│ [ Info zur Pflicht‑Teilung ] │
|
||||
│ │
|
||||
│ ← Zurück Weiter → │
|
||||
└─────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
UI‑Muster:
|
||||
- Toggle zwischen `SEPARATE_SIEGEREHRUNG` und `ORGANISATORISCH` als RadioGroup mit erklärendem Subtext.
|
||||
- „Zusammenlegen“ Checkbox erlaubt in Grenzfällen organisatorisches Zusammenführen; deaktiviert bei harter Pflicht‑Teilung.
|
||||
- Badge/Hint „CSN‑C‑NEU: Pflicht‑Teilung aktiv“ mit Link zum Regeltext.
|
||||
|
||||
---
|
||||
|
||||
## Step 3 — Bestätigung (Review)
|
||||
|
||||
```
|
||||
┌──── Bewerb anlegen — Review & Bestätigung ─────┐
|
||||
│ Bewerb: Springen 1,10 m | Disziplin: Springen │
|
||||
│ Lizenz: B | Startgeld: 25,00 EUR │
|
||||
│ │
|
||||
│ Abteilungen (Typ: SEPARATE_SIEGEREHRUNG): │
|
||||
│ • A (eigene Wertung/Siegerehrung) │
|
||||
│ • B (eigene Wertung/Siegerehrung) │
|
||||
│ • R1 (eigene Wertung/Siegerehrung) │
|
||||
│ │
|
||||
│ [Zurück] [Bewerb anlegen] │
|
||||
└────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Validierung & States:
|
||||
- Blocking Errors verhindern „Bewerb anlegen“.
|
||||
- Backend‑Konflikte (Dubletten) als Inline‑Fehler mit CTA „Zum bestehenden Bewerb“.
|
||||
|
||||
---
|
||||
|
||||
## Komponenten & Implementierungshinweise
|
||||
|
||||
- Reusable: `FormRow`, `RadioCard` (Typ‑Auswahl mit Subtext), `DivisionPreviewChips` (Abteilungs‑Chips), `InfoBadge`.
|
||||
- Accessibility: Fokus‑Reihenfolge, ARIA‑Rollen analog (Compose Semantics).
|
||||
- Offline: Vorschläge aus lokalem Regelwerk + Cache berechnen; Sync klärt spätere Abweichungen.
|
||||
|
||||
---
|
||||
|
||||
## Edge‑Cases
|
||||
|
||||
- Pflicht‑Teilung aktiv, aber zu wenige Nennungen: Hinweis, spätere Zusammenlegung möglich (nur organisatorisch) — dokumentieren.
|
||||
- Manuelle Anpassung erzeugt Konflikt mit Regel: Deutlicher Fehlerhinweis, Button disabled, Link „Warum?“.
|
||||
@@ -0,0 +1,111 @@
|
||||
---
|
||||
type: Frontend Wireframe
|
||||
status: DRAFT
|
||||
owner: 🖌️ UI/UX Designer
|
||||
last_update: 2026-04-03
|
||||
related:
|
||||
- docs/06_Frontend/Navigation_V3_Screen-Baum_und_Back-Stack.md
|
||||
- docs/04_Agents/Roadmaps/UIUX_Roadmap.md
|
||||
---
|
||||
|
||||
# Wireframes — Veranstaltungs‑Kassa
|
||||
|
||||
Ziel: Übersicht über offene Beträge der Teilnehmer über mehrere Turniere einer Veranstaltung, klarer Zahlungsflow mit Aufteilung und Rechnungsvorschau. V3‑konforme Navigation (Push über Detail; Back geht zurück).
|
||||
|
||||
---
|
||||
|
||||
## A. Gesamt‑Saldo‑Ansicht (Event‑Ebene)
|
||||
|
||||
```
|
||||
TopBar: ← Kassa — Veranstaltung „CSN Frühling 2026“ [Suche 🔎]
|
||||
|
||||
┌─ Filter/Tools ─────────────────────────────────────────────────────────────────────┐
|
||||
│ Teilnehmer/Team [________] | Status [Offen v] | Turnier [Alle v] | [ Export CSV ] │
|
||||
└────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
┌─ Tabelle: Teilnehmer (aggregiert über Turniere) ───────────────────────────────────┐
|
||||
│ Teilnehmer | Turniere mit offenen Posten | Offen gesamt | Aktionen │
|
||||
│───────────────────┼─────────────────────────────┼───────────────┼─────────────────│
|
||||
│ Anna Mayer | Springen SA, Dressur SO | € 75,00 | [Zahlen] [Detail]
|
||||
│ Team König | Dressur SA | € 30,00 | [Zahlen] [Detail]
|
||||
│ … │
|
||||
└────────────────────────────────────────────────────────────────────────────────────┘
|
||||
Hinweis: „Detail“ öffnet pro Teilnehmer eine Side‑Panel‑Auflistung je Turnier.
|
||||
```
|
||||
|
||||
Side Panel „Teilnehmer‑Detail“ (optional):
|
||||
|
||||
```
|
||||
┌───────────── Side Sheet: Anna Mayer ─────────────┐
|
||||
│ Turnier Springen SA | Offen € 50,00 │
|
||||
│ • Nennung € 25,00 │
|
||||
│ • Nachnenngebühr € 25,00 │
|
||||
│ Turnier Dressur SO | Offen € 25,00 │
|
||||
│ • Nennung € 25,00 │
|
||||
│ [Zahlvorgang…] │
|
||||
└──────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## B. Zahlvorgang‑Dialog (Aufteilung über Turniere)
|
||||
|
||||
```
|
||||
┌──────── Zahlung erfassen — Anna Mayer ────────┐
|
||||
│ Eingabe: │
|
||||
│ Betrag erhalten [ 75,00 ] Währung [€] │
|
||||
│ Zahlungsart [ Bar v ] │
|
||||
│ Beleg‑Nr. [ ....... ] (optional) │
|
||||
│ │
|
||||
│ Aufteilung auf Turniere: │
|
||||
│ Springen SA Offen € 50,00 [ 50,00 ] │
|
||||
│ Dressur SO Offen € 25,00 [ 25,00 ] │
|
||||
│ Rest € 0,00 (Auto) │
|
||||
│ │
|
||||
│ [Abbrechen] [Weiter →] │
|
||||
└───────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Regeln:
|
||||
- Default: Verteilt automatisch Top‑Down nach offenem Betrag; editierbar.
|
||||
- Restbetrag darf nicht negativ sein; Validierungs‑Hinweis inline.
|
||||
- Speicherung erzeugt Buchungen je Turnier (Transaktion), Offline‑fähig mit Pending‑Status.
|
||||
|
||||
---
|
||||
|
||||
## C. Rechnungsvorschau (Tabs oder Side‑by‑Side)
|
||||
|
||||
Variante 1 — Tabs (einfacher, platzsparend):
|
||||
|
||||
```
|
||||
┌──────── Rechnungsvorschau — Anna Mayer ────────┐
|
||||
│ Tabs: [ Springen SA ] [ Dressur SO ] │
|
||||
│ │
|
||||
│ (PDF‑Preview/Komposition) │
|
||||
│ │
|
||||
│ [← Zurück] [Buchen & Drucken] │
|
||||
└────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Variante 2 — Side‑by‑Side (breit, schneller Vergleich):
|
||||
|
||||
```
|
||||
┌──────── Rechnungsvorschau — Anna Mayer (2 Spalten) ──────────────────────────────┐
|
||||
│ ┌─ Springen SA ───────────────────────────┐ ┌─ Dressur SO ────────────────────┐ │
|
||||
│ │ Leistungen … │ │ Leistungen … │ │
|
||||
│ │ Summe € 50,00 │ │ Summe € 25,00 │ │
|
||||
│ └─────────────────────────────────────────┘ └──────────────────────────────────┘ │
|
||||
│ │
|
||||
│ [← Zurück] [Buchen & Drucken] │
|
||||
└───────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Entscheidungsempfehlung: Tabs als Default; Side‑by‑Side optional, wenn Fensterbreite ≥ 1440 px.
|
||||
|
||||
---
|
||||
|
||||
## Komponenten & Hinweise
|
||||
|
||||
- Reusable: `DataTable`, `SideSheet`, `MoneyField` (lokalisiert), `PaymentMethodSelect`, `PdfPreview`.
|
||||
- States: Offline Pending, Fehlerbehandlung pro Turnierbuchung, Undo (sofortiges Rückgängig in Snackbar mit Timeout).
|
||||
- Navigation: Kassa als Push über Detail (V3), kein eigener Tab; Back kehrt zum Detail zurück.
|
||||
Reference in New Issue
Block a user