diff --git a/docs/pruefung-2026-09.md b/docs/pruefung-2026-09.md index 6390549..1a7ae86 100644 --- a/docs/pruefung-2026-09.md +++ b/docs/pruefung-2026-09.md @@ -76,7 +76,7 @@ Umgesetzt in Wabenhain `d38f430` (AT: Entscheidungslogik; CR: DB-Ablauf der Serv Herkunftsseite gezeigt – gilt damit als öffentlich. Falls sie intern gemeint ist: klären. 5. Automatische Vorschläge haben standardmäßig **keinen Termin** (keine erfundene Frist); je Regel über `config.dueInDays` einstellbar. -6. Übrige Formulare/Seiten wurden nicht einzeln überarbeitet (Fokus: Heute, Aufgaben, Profil). +6. ~~Übrige Formulare/Seiten nicht überarbeitet~~ – erledigt im Oktober 2026, siehe „AuDHD-Anpassung aller Seiten“. ## Bestandsbuch (Tierarzneimittel) @@ -132,3 +132,32 @@ Audit des gesamten Backends nach OWASP API Top 10 / ASVS L2 (25 Befunde), alle u Neue Umgebungsvariablen: `BACKUP_ENCRYPTION_KEY`, `BACKUP_ROOT`, `SESSION_MAX_AGE`, `TRUST_PROXY`, `PASSWORD_BREACH_CHECK` (siehe `.env.example`). Betrieb nach dem Update: Alle Benutzer melden sich einmal neu an (Access-Tokens ohne Audience gelten nicht mehr). Webhook-Empfänger prüfen die neue Signatur (`X-ApiCore-Timestamp`.`X-ApiCore-Delivery`.Body). Im Wabenhain-Schlüssel die Server-IP als erlaubte Adresse eintragen. + +## AuDHD-Anpassung aller Seiten (Oktober 2026) + +Ziel: weniger gleichzeitig zu merken, keine Sackgassen, ein klarer nächster Schritt, handschuhtauglich. +Verifikation: AT (111 Frontend-Tests, je Formular eine Spec) + CR; MP (Browser) für die neuen Seiten noch offen. + +Gemeinsame Bausteine (`src/components/form/*`, `query-state.tsx`, `detail-header.tsx`, `empty-state.tsx`): + +| Regel | Umsetzung | +|---|---| +| Was ist Pflicht? | `Field` zeigt „Pflicht“/„optional“, Fehler direkt am Feld, Fokus aufs erste Problem | +| Nicht zu viel auf einmal | `FormSection`: nummerierte Schritte, seltene Felder eingeklappt mit Anzahl | +| Unterbrechung kostet nichts | `useFormDraft`: Entwurf je Benutzer auf dem Gerät, wird ausdrücklich angeboten, beim Abmelden gelöscht | +| Antippen statt Tippen | `RatingScale` (1–5 als Tasten mit benannten Enden), `ToggleChip` (Ja/Nein), Auswahl-Tasten statt Freitext | +| Keine Sackgasse | `QueryState`: Laden → Fehler mit „Erneut versuchen“ → leer mit nächstem Schritt → Daten | +| Ein Hauptschritt | `DetailHeader`: Überschrift, Zurück, Status als Symbol + Wort, eine Hauptaktion, Rest unter „Mehr“ | +| Handschuhe | Felder 44 px, Tasten ≥ 40 px auf dem Handy, Speichern bleibt in Daumenreichweite, Zifferntastatur bei Zahlen | +| Bewegung | Verschieben/Zoomen nur bei Bewegungsstufe „Voll“; Dialoge scrollen im Bildschirm | +| Riskantes | Rückfrage mit Klartext (Vereinigen, Zähler, Vorlagen, Zuordnungen), Rückgängig beim Etiketten-Designer | + +Seiten: alle 14 Erfassungsformulare, Listen, Detailseiten (Volk, Stand, Königin, Honigcharge, Ernte, +Schleuderung, Abfüllung, Ausrüstung), Bearbeiten-Dialoge am Volk, Kalender (Tagesliste auf dem Handy), +Statistik, Überwinterung, Lager, Suche, Verwaltung (Benutzer, Audit-Log, Automatisierung, Backup). + +Nebenbei behoben: Fütterungsstatistik addierte Liter und Kilogramm (jetzt je Einheit), Kalender ordnete +späte Einträge dem Folgetag zu (UTC), Zeichenfarbe der Königin wurde aus der ersten Ziffer geraten. + +Offen: Prüfung im Browser (Desktop + Handy) der neuen Seiten; Bearbeiten-Dialoge außerhalb des Volks +(Honigcharge, Ernte, Abfüllung, Produkt) haben Zifferntastatur, aber noch nicht das volle Formular-Kit.