{% for message in app.flashes('success') %}
{% endfor %}
{% for message in app.flashes('error') %}
{% endfor %}
{# Zone de messages #}
{% if messages is empty %}
{{ 'messages.no_messages_yet'|trans }}
{% else %}
{% set lastDate = null %}
{% for msg in messages %}
{% set isSentByMe = msg.sender.id == app.user.id %}
{% set msgDate = msg.createdAt|date('Y-m-d') %}
{% set today = "now"|date('Y-m-d') %}
{% set yesterday = "-1 day"|date('Y-m-d') %}
{# Sรฉparateur de date timeline #}
{% if msgDate != lastDate %}
{% set lastDate = msgDate %}
{% if msgDate == today %}Aujourd'hui
{% elseif msgDate == yesterday %}Hier
{% else %}{{ msg.createdAt|date('d/m/Y') }}{% endif %}
{% endif %}
{# Dรฉtecter si le message est uniquement composรฉ d'รฉmojis #}
{% set trimmed = msg.content|trim %}
{% set isEmojiOnly = trimmed matches '/^(\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|[\\x{1F1E0}-\\x{1F1FF}]|[\\x{1F300}-\\x{1FAFF}]|[\\x{2600}-\\x{27BF}]|[\\x{FE00}-\\x{FEFF}]|\\x{20E3}|\\x{200D}|\\x{FE0F})+$/u' %}
{# Horodatage ร GAUCHE pour messages reรงus #}
{% if not isSentByMe %}
{{ msg.createdAt|date('H:i') }}
{% endif %}
{# Bulle โ ou รฉmoji seul sans fond #}
{% if isEmojiOnly %}
{{ msg.content }}
{% else %}
{% endif %}
{# Horodatage + statut ร DROITE pour messages envoyรฉs #}
{% if isSentByMe %}
{{ msg.createdAt|date('H:i') }}
{% if msg.isRead %}โโ{% else %}โ{% endif %}
{% endif %}
{% endfor %}
{% endif %}