{# /** * @file * Theme override for the administrative toolbar. * * Available variables: * - attributes: HTML attributes for the wrapper. * - toolbar_attributes: HTML attributes to apply to the toolbar. * - toolbar_heading: The heading or label for the toolbar. * - tabs: List of tabs for the toolbar. * - attributes: HTML attributes for the tab container. * - link: Link or button for the menu tab. * - trays: Toolbar tray list, each associated with a tab. Each tray in trays * contains: * - attributes: HTML attributes to apply to the tray. * - label: The tray's label. * - links: The tray menu links. * - remainder: Any non-tray, non-tab elements left to be rendered. * * @see template_preprocess_toolbar() */ #} {# JS fix #} {% include '@gin/navigation/fix-toolbar-js-error.html.twig' ignore missing with { toolbar_variant, core_navigation, } %} {# Prevent duplicate ids by using secondary tabs and trays when provided. #} {% if _context['#secondary']['tabs'] %} {% set tabs = _context['#secondary']['tabs'] %} {% endif %} {% if _context['#secondary']['trays'] %} {% set trays = _context['#secondary']['trays'] %} {% endif %}

{{ toolbar_heading }}

{% for key, tab in tabs %} {% set tray = trays[key] %} {% set user_menu = tray.links['user_links'] ? 'user-menu' : false %} {% set item_id = [] %} {% for key, item in tab.link['#attributes']['class'] %} {% if 'icon-' in item %} {% set item_id = item_id|merge(['toolbar-id--' ~ item]) %} {% endif %} {% endfor %} {% set tab_id = tab.link['#id'] ? 'toolbar-tab--' ~ tab.link['#id'] %} {% set tab_classes = item_id|merge(['toolbar-tab', user_menu, tab_id]) %} {% set denylist_items = [ 'toolbar-id--toolbar-icon-menu', ] %} {# All items except main nav #} {% if item_id[0] not in denylist_items %} {% if item_id[0] == 'toolbar-id--toolbar-icon-user' %} {{ user_picture }} {% else %} {{ tab.link }} {% endif %} {% if tray.label %} {{ remainder }}