meldestelle/docs/03_Journal/2026-04-23_Plan-B-Formulare.md
StefanMoCoAt af02e14f2d
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 6m0s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m39s
### feat: verbessere Feedback- und Fehlerhandling im Nennformular
- **OnlineNennungFormular:** Ladeindikator und Fehleranzeige bei API-Fehlermeldungen hinzugefügt.
- **WebMainScreen:** Navigation zum Erfolgsscreen erfolgt erst nach erfolgreicher API-Bestätigung.
- **UI:** Aktualisiere Versionsmarker auf `v2026-04-23.11 - NETWORK STATUS FIX`.
2026-04-23 10:16:16 +02:00

3.4 KiB

Journal-Eintrag: Plan-B Online-Nenn-Formulare

Datum: 23. April 2026 Agenten: 🎨 [Frontend Expert], 🖌️ [UI/UX Designer], 👷 [Backend Developer], 🧹 [Curator]

🎯 Zielsetzung

Erstellung von zwei hoch-optimierten Web-Formularen für die Turniere in Neumarkt (25. & 26. April 2026) im Rahmen des "Plan-B" (Offline-Meldestelle mit E-Mail-Sync).

🛠️ Durchgeführte Änderungen

🎨 Frontend & UI/UX

  • OnlineNennungFormular.kt: Komplette Neugestaltung des Formulars.
    • Integration der spezifischen Bewerbe für CSN-C Neumarkt (25.04.) und CDN-C Neumarkt (26.04.).
    • Implementierung der Validierungslogik für den "Jetzt nennen" Button (Bernstein-Orange).
    • Hinzufügen von Feldern für Reiter-Name, Kontakt (E-Mail/Tel), Pferdename und Anmerkungen.
    • Information Density: Alle Bewerbe direkt auswählbar.
    • Mobile-First Optimierung: Responsives Layout mittels BoxWithConstraints. Vertikaler Stack für Formularfelder auf Mobile, optimierte Paddings, Schriftgrößen und Touch-Targets.
  • WebMainScreen.kt: Aktualisierung der Landing-Page mit den realen Turnierdaten für Neumarkt.
    • Mobile-First Optimierung: Turnier-Karten passen sich an schmale Bildschirme an (Buttons nebeneinander, Icons für bessere UX).

👷 Backend & Integration

  • NennungRemoteRepository.kt: Verknüpfung des neuen Payloads mit dem mail-service.
  • MailController.kt: Validierung der API-Schnittstelle. Der Service ist so konfiguriert, dass er:
    1. Die Nennung in der Datenbank persistiert.
    2. Eine Benachrichtigungs-Mail an die Meldestelle (online-nennen@mo-code.at) sendet.
    3. Eine automatische Bestätigung an den Reiter schickt.

🏁 Ergebnis

Die "Hallo Du!" Test-UI wurde durch produktive, fachlich korrekte Formulare ersetzt. Sobald ein Reiter auf "Jetzt nennen" klickt, wird der E-Mail-Workflow ausgelöst.

Status: Bereit für den Live-Einsatz am Wochenende. 🚀

2026-04-23 09:35 - Version 12: Hard-coded HTTPS & Injektions-Fix

  • Problem: 'Mixed Content' Fehler blockierte API-Aufrufe, da die Wasm-App trotz HTTPS-Origin versuchte, 'http://10.0.0.50' (Lokale IP) via HTTP zu kontaktieren.
  • Lösung:
    • PlatformConfig.wasmJs.kt: Implementierung eines sicheren HTTPS-Fallbacks auf https://api.mo-code.at im Code, falls die Docker-Injektion (z.B. durch Browser-Cache) fehlschlägt.
    • dc-planb.yaml: Statische Konfiguration der HTTPS-URLs ohne Umgebungsvariablen-Platzhalter, um Fehlkonfigurationen am Host auszuschließen.
    • UI-Marker auf v2026-04-23.12 - HARD-CODED HTTPS aktualisiert.
    • Fehlerbehandlung in OnlineNennungFormular.kt zeigt nun explizit Netzwerkfehler an, falls diese auftreten.

2026-04-23 10:15 - Version 13: Radikale HTTPS-Priorisierung

  • Problem: Trotz harten Fallbacks im Code versuchte der Browser weiterhin http://10.0.0.50 (Mixed Content) aufzurufen. Ursache war die Priorisierung von dynamischen Variablen und window.location.origin in der PlatformConfig.wasmJs.kt.
  • Lösung:
    • PlatformConfig.wasmJs.kt: Alle Logiken zur Erkennung von URLs wurden temporär deaktiviert. Die Funktionen resolveMailServiceUrl() und resolveApiBaseUrl() geben nun zwingend https://api.mo-code.at zurück.
    • Dies umgeht jegliches Caching von index.html oder fälschlich injizierte Umgebungsvariablen.
    • UI-Marker auf v2026-04-23.13 - RADICAL HTTPS PRIORITIZATION aktualisiert.