| {#
   This is a template fragment designed to be included in other templates
   See https://symfony.com/doc/current/templates.html#including-templates
   A common practice to better distinguish between templates and fragments is to
   prefix fragments with an underscore. That's why this template is called
   '_flash_messages.html.twig' instead of 'flash_messages.html.twig'
#}
{#
   The check is needed to prevent starting the session when looking for "flash messages":
   https://symfony.com/doc/current/session.html#avoid-starting-sessions-for-anonymous-users
   TIP: With FOSHttpCache you can also adapt this to make it cache safe:
   https://foshttpcachebundle.readthedocs.io/en/latest/features/helpers/flash-message.html
#}
{% if app.request.hasPreviousSession %}
    <div class="messages">
        {% for type, messages in app.flashes %}
            {% for message in messages %}
                {# Bootstrap alert, see https://getbootstrap.com/docs/3.4/components/#alerts #}
                <div class="alert alert-dismissible alert-{{ type }} fade in" role="alert">
                    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                        <span aria-hidden="true">×</span>
                    </button>
                    {{ message|trans }}
                </div>
            {% endfor %}
        {% endfor %}
    </div>
{% endif %}
 |