Skip to content

User-Feedback-Patterns

Diese Seite definiert die zwei verbindlichen Feedback-Mechanismen in der Hausmeter-App:

  1. Lösch-Bestätigungen via AlertDialog (modal, blockierend)
  2. Erfolgs-/Fehlermeldungen via Sonner/Toast (nicht-blockierend, auto-dismiss)

Wann: Jede Aktion, die Daten unwiderruflich löscht oder storniert.

Komponente: AlertDialog aus @/components/ui/alert-dialog

Regeln:

  • Kein window.confirm() — Immer AlertDialog
  • Button-Text konkret (z.B. „Endgültig löschen”)
  • variant="destructive" Pflicht (Terracotta #B84A2E)
  • Konsequenzen benennen (Kaskaden explizit nennen)
  • Deutsche Texte (Du-Ansprache)

Wann: Nach jeder asynchronen Aktion (API-Call, Mutation).

| Typ | Funktion | Beispiel | |-----|----------|---------| | toast.success() | Erfolgreiche Mutation | „Zählerstand gespeichert” | | toast.error() | Backend-Fehler | „Speichern fehlgeschlagen” | | toast.warning() | Nicht-kritische Hinweise | „Ablesung liegt >30% über dem Vorwert” | | toast.info() | Neutrale Information | „E-Mail wurde versendet” |

Regeln:

  • Jede Mutation braucht Feedback — kein stilles Scheitern
  • Fehlermeldung konkret (Backend-Fehlermeldung anzeigen)
  • Erfolg kurz halten (max 1 Satz)
  • Auto-Dismiss: Erfolg 3s, Fehler 5s
  • Position: top-right

| | Toast (Sonner) | Alert (shadcn) | |---|---|---| | Zweck | Reaktion auf Benutzer-Aktion | Systemstatus anzeigen | | Lebensdauer | Auto-Dismiss (3-5s) | Persistent | | Position | Overlay (top-right) | Inline im Content |

  • Lösch-Button mit AlertDialog und Konsequenzen-Text
  • Speichern/Erstellen mit toast.success() bei Erfolg
  • API-Fehler mit toast.error() und konkreter Fehlermeldung
  • Kein window.alert(), kein window.confirm(), kein console.error() als User-Feedback