{# # ============================================================================ # MOLECULE: TOAST NOTIFICATION SYSTEM # ============================================================================ # # Système de notifications toast global utilisant le design Alert. # À inclure UNE SEULE FOIS dans base.html.twig # # ============================================================================ # UTILISATION JAVASCRIPT (actions sans refresh) # ============================================================================ # # showToast('success', 'Titre', 'Message'); # showToast('error', 'Erreur', 'Une erreur est survenue.'); # showToast('warning', 'Attention', 'Action irréversible.', { duration: 8000 }); # showToast('info', 'Info', 'Nouvelle version disponible.'); # # Options disponibles : # - duration: 5000 (ms) - durée d'affichage # - dismissible: true - afficher le bouton fermer # - pauseOnHover: true - pause au survol # # ============================================================================ # UTILISATION SYMFONY (avec redirect/refresh) # ============================================================================ # # Dans un Controller : # $this->addFlash('success', 'Titre|Message descriptif'); # $this->addFlash('error', 'Erreur|Description de l\'erreur'); # # Format: 'type', 'Titre|Message' # # La barre est une COMMODITÉ, pas une condition d'affichage : un message posé # sans barre s'affiche quand même, la phrase entière devenant le titre. Le # gabarit de base jetait autrefois ces messages en silence — le contrôleur # croyait avoir parlé, l'utilisateur ne voyait rien. # # ============================================================================ #} {# Container fixe pour les toasts #}
{# ============================================================================ TEMPLATES CACHÉS - Un par variante (utilise atomes, classes statiques) Le JS clone ces templates pour créer les toasts ============================================================================ #}