feat: système de toasts pour les alertes API #20

Merged
pickle-dev-fr merged 1 commit from feat/5 into main 2026-04-09 22:09:46 +00:00

Summary

  • toast.ts : singleton accessible partout (Option B), sans dépendance React
  • ToastContainer : affiché en bas à droite, auto-dismiss 4s, animation slide-in depuis la droite + fade-out
  • client.ts : toasts automatiques sur toutes les erreurs — 401 → session expirée, 5xx → erreur serveur, 4xx avec detail → message du back, sinon erreur générique
  • Option silent sur les requêtes HEAD pour éviter les toasts parasites au chargement de l'app
  • Toasts de succès manuels sur : création/modification/suppression de compte, changement de mot de passe
  • Toasts d'erreur sur : login échoué, mots de passe différents, inscription

Test plan

  • Login avec mauvais identifiants → toast error
  • Inscription avec username existant → toast warning (message du back)
  • Créer un compte → toast success
  • Modifier un compte → toast success
  • Supprimer un compte → toast success
  • Changer le mot de passe avec mots de passe différents → toast warning
  • Changer le mot de passe → toast success
  • Recharger l'app avec token expiré → pas de toast (silent)
  • Vérifier l'animation slide-in et fade-out

Closes #5

## Summary - `toast.ts` : singleton accessible partout (Option B), sans dépendance React - `ToastContainer` : affiché en bas à droite, auto-dismiss 4s, animation slide-in depuis la droite + fade-out - `client.ts` : toasts automatiques sur toutes les erreurs — `401` → session expirée, `5xx` → erreur serveur, `4xx` avec `detail` → message du back, sinon erreur générique - Option `silent` sur les requêtes HEAD pour éviter les toasts parasites au chargement de l'app - Toasts de succès manuels sur : création/modification/suppression de compte, changement de mot de passe - Toasts d'erreur sur : login échoué, mots de passe différents, inscription ## Test plan - [ ] Login avec mauvais identifiants → toast error - [ ] Inscription avec username existant → toast warning (message du back) - [ ] Créer un compte → toast success - [ ] Modifier un compte → toast success - [ ] Supprimer un compte → toast success - [ ] Changer le mot de passe avec mots de passe différents → toast warning - [ ] Changer le mot de passe → toast success - [ ] Recharger l'app avec token expiré → pas de toast (silent) - [ ] Vérifier l'animation slide-in et fade-out Closes #5
- Singleton toast.ts (option B) : toast.success/error/warning/info()
- ToastContainer : affichage bas-droite, auto-dismiss 4s, animation slide-in/out
- client.ts : toasts automatiques sur toutes les erreurs API (401/5xx/4xx/detail)
- Option silent pour éviter les toasts parasites au chargement (HEAD /auth/me)
- Toasts de succès manuels : create/update/delete compte, changement de mot de passe
- Toasts d'erreur : login échoué, mots de passe différents, inscription

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pickle-dev-fr/FamilyBudget!20
No description provided.