{# Notifications Zone Component - Zone pour afficher les toasts et messages flash Cette zone est positionnée en haut de l'écran (pleine largeur mobile, droite desktop) - Les messages flash Symfony - Les toasts/notifications Auto-dismiss après 5 secondes avec possibilité de fermeture manuelle #}
{# Messages Flash Symfony #} {% for type, messages in app.flashes %} {% for message in messages %} {% set toastId = 'toast-' ~ type ~ '-' ~ random() %} {# Mapping des types Symfony vers les types de toast #} {% set toastType = type %} {% if type == 'danger' %} {% set toastType = 'error' %} {% endif %} {# Configuration des icônes, couleurs et labels #} {% set config = { 'success': { 'icon': '', 'bgColor': 'bg-green-100', 'textColor': 'text-green-500', 'borderColor': 'border-green-500', 'label': 'Succès' }, 'error': { 'icon': '', 'bgColor': 'bg-red-100', 'textColor': 'text-red-500', 'borderColor': 'border-red-500', 'label': 'Erreur' }, 'warning': { 'icon': '', 'bgColor': 'bg-orange-100', 'textColor': 'text-orange-500', 'borderColor': 'border-orange-500', 'label': 'Attention' }, 'info': { 'icon': '', 'bgColor': 'bg-blue-100', 'textColor': 'text-blue-500', 'borderColor': 'border-blue-500', 'label': 'Information' } } %} {% set toastConfig = config[toastType]|default(config.info) %} {% endfor %} {% endfor %}
{# JavaScript pour auto-dismiss après 5 secondes #}