Adiciona regiões Top Bar e Navigation ao tema do microsite

- Top Bar: barra estreita acima do header para menu do usuário,
  fundo escuro com links claros alinhados à direita.
- Navigation: barra horizontal abaixo do header para menu da página,
  estilo baseado no nav-secondary do Olivero (hover com underline animado).
- Inclui menu.html.twig para gerar as classes .menu, .menu__item e
  .menu__link necessárias para o CSS funcionar (stable9 não as adiciona).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-16 11:10:36 -03:00
parent 0c7b346530
commit 505c9fb64a
4 changed files with 187 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
{#
/**
* @file
* Template de menu do microsite.
*
* Gera as classes usadas pelo CSS da região nav (.menu, .menu__item,
* .menu__link), seguindo o mesmo padrão de classes do Olivero.
*/
#}
{% import _self as menus %}
{% set attributes = attributes.addClass('menu') %}
{{ menus.menu_links(items, attributes, 0) }}
{% macro menu_links(items, attributes, menu_level) %}
{% import _self as menus %}
{% if items %}
<ul{{ attributes.addClass('menu--level-' ~ (menu_level + 1)) }}>
{% set attributes = attributes.removeClass('menu--level-' ~ (menu_level + 1)) %}
{% for item in items %}
<li{{ item.attributes.addClass([
'menu__item',
'menu__item--level-' ~ (menu_level + 1),
item.in_active_trail ? 'menu__item--active-trail',
]) }}>
{{ link(item.title, item.url, {
'class': [
'menu__link',
'menu__link--level-' ~ (menu_level + 1),
item.in_active_trail ? 'menu__link--active-trail',
]
}) }}
{% if item.below %}
{{ menus.menu_links(item.below, attributes, menu_level + 1) }}
{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
{% endmacro %}