User-Feedback-Patterns
Diese Seite definiert die zwei verbindlichen Feedback-Mechanismen in der Hausmeter-App:
- Lösch-Bestätigungen via
AlertDialog(modal, blockierend) - Erfolgs-/Fehlermeldungen via
Sonner/Toast(nicht-blockierend, auto-dismiss)
1. Destruktive Aktionen — AlertDialog
Section titled “1. Destruktive Aktionen — AlertDialog”Wann: Jede Aktion, die Daten unwiderruflich löscht oder storniert.
Komponente: AlertDialog aus @/components/ui/alert-dialog
Regeln:
- Kein
window.confirm()— ImmerAlertDialog - Button-Text konkret (z.B. „Endgültig löschen”)
variant="destructive"Pflicht (Terracotta #B84A2E)- Konsequenzen benennen (Kaskaden explizit nennen)
- Deutsche Texte (Du-Ansprache)
2. Backend-Feedback — Sonner/Toast
Section titled “2. Backend-Feedback — Sonner/Toast”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
Abgrenzung: Toast vs. Alert
Section titled “Abgrenzung: Toast vs. Alert”| | Toast (Sonner) | Alert (shadcn) | |---|---|---| | Zweck | Reaktion auf Benutzer-Aktion | Systemstatus anzeigen | | Lebensdauer | Auto-Dismiss (3-5s) | Persistent | | Position | Overlay (top-right) | Inline im Content |
Checkliste für neue Features
Section titled “Checkliste für neue Features”- Lösch-Button mit
AlertDialogund Konsequenzen-Text - Speichern/Erstellen mit
toast.success()bei Erfolg - API-Fehler mit
toast.error()und konkreter Fehlermeldung - Kein
window.alert(), keinwindow.confirm(), keinconsole.error()als User-Feedback