{% macro renderAttributes(attributes) %}{% for attributeKey, attributeValue in attributes -%}{{ attributeKey }}="{{ attributeValue }}"{%- endfor %}{% endmacro %}{% macro render_menu(item) %}{% import _self as macros %}{% set itemUri = null %}{% if item.url is not empty %}{% set itemUri = item.url %}{% elseif item.path is not empty %}{% set itemParameters = item.parameterValue + ['_locale', item.locale] %}{% set itemUri = path(item.path, item.parameterValue) %}{% endif %}{% if item.items is not empty %}<li class="menu-item-with-children"><a class="dropdown-item">{{ item.title }}</a><ul>{% for subitem in item.items %}{% set subItemUri = null %}{% if subitem.url is not empty %}{% set subItemUri = subitem.url %}{% elseif subitem.path is not empty %}{% set subItemParameters = subitem.parameterValue + ['_locale', item.locale] %}{% set subItemUri = path(subitem.path, subitem.parameterValue) %}{% endif %}{% if subItemUri is not null %}{% set attrs = subitem.attributes is iterable ? subitem.attributes : {} %}{% set desc = attrs['data-description']|default('') %}{% set subImg = subitem.attributes['data-image']|default(null) %}<lidata-description="{{ desc|e('html_attr') }}"{% if subImg %}data-has-image="1"style="--menu-preview-image: url('{{ asset(subImg) }}');"{% endif %}><a href="{{ subItemUri }}">{{ subitem.title }}</a></li>{% endif %}{% endfor %}</ul></li>{% elseif itemUri is not null %}<li><a class="dropdown-item" href="{{ itemUri }}">{{ item.title }}</a></li>{% endif %}{% endmacro %}{% if menu is not empty %}{% import _self as macros %}<ul {{ macros.renderAttributes(menu.attributes) }}>{% for item in menu.items %}{% set hasRight = item.right is empty or is_granted(item.right) == item.hasRight %}{% if hasRight %}{% set attributes = item.attributes %}{% if attributes.class is defined %}{% set class = attributes.class|split(' ')|merge(['nav-item']) %}{% else %}{% set class = ['nav-item'] %}{% endif %}{% if item.slug is not empty %}{% set class = class|merge(['link-'~item.slug]) %}{% endif %}{% if loop.first %}{% set class = class|merge(['first']) %}{% endif %}{% if loop.last %}{% set class = class|merge(['last']) %}{% endif %}{% set uri = '' %}{% if item.url is not empty %}{% set uri = item.url %}{% elseif item.path is not empty %}{% set parameters = item.parameterValue + ['_locale', item.locale] %}{% set uri = path(item.path, item.parameterValue) %}{% endif %}{% set activeRoute = app.request.attributes.get('_route') %}{% set activeQuery = app.request.query.all %}{% set isActive = item.path == activeRoute and item.parameterValue == activeQuery %}{% if uri is not null %}{% set attributes = attributes|merge({class:class|join(' ')}) %}<li {{ macros.renderAttributes(attributes) }}>{% if item.items is not empty %}<a class="nav-link dropdown-toggle accordion-header"data-toggle="dropdown"aria-haspopup="true"aria-expanded="false">{{ item.title }}</a><ul class="dropdown-menu" aria-labelledby="dLabel">{% for subitem in item.items %}{{ macros.render_menu(subitem) }}{% endfor %}</ul>{% else %}<a class="nav-link {{ isActive ? 'active' : '' }}" href="{{ uri }}">{{ item.title }}</a>{% endif %}{% if attributes['data-image'] is defined %}<img src="{{ asset(attributes['data-image']) }}" alt="{{ item.title }}" />{% endif %}</li>{% endif %}{% endif %}{% endfor %}</ul>{% endif %}{% block javascripts %}{# {{ parent() }}#}{# <script type="application/javascript" src="{{ asset('assets/app/menu.js') }}"></script>#}{{ encore_entry_script_tags('app/dropdown_menu') }}{% endblock %}