menu dynamic

This commit is contained in:
Charles 2026-02-02 14:44:46 +01:00
parent ca891f434c
commit c62f50c2f4
1 changed files with 15 additions and 34 deletions

View File

@ -1,61 +1,42 @@
<nav class="sidebar sidebar-offcanvas" id="sidebar">
{# 1. Get the current route name into a variable for easier use #}
{% set current_route = app.request.attributes.get('_route') %}
<ul class="nav">
{% if is_granted("ROLE_SUPER_ADMIN") %}
<li class="nav-item active">
<a class="nav-link" href="#">
{# 2. Check if route is 'app_index' #}
<li class="nav-item {{ current_route == 'app_index' ? 'active' : '' }}">
<a class="nav-link" href="{{ path('app_index') }}">
<i class="icon-grid menu-icon">{{ ux_icon('material-symbols:dashboard-outline-rounded', {height: '16px', width: '16px'}) }}</i>
<span class="menu-title">Dashboard</span>
</a>
</li>
{% endif %}
{# <!-- Example of a collapsible menu item -->#}
{# <li class="nav-item">#}
{# <a class="nav-link" data-bs-toggle="collapse" href="#ui-basic" aria-expanded="false"#}
{# aria-controls="ui-basic">#}
{# <i class="icon-layout menu-icon">{{ ux_icon('bi:menu-up', {height: '16px', width: '16px'}) }}</i>#}
{# <span class="menu-title">Menu</span>#}
{# <i class="menu-arrow">{{ ux_icon('bi:chevron-right', {height: '16px', width: '16px'}) }}</i>#}
{# </a>#}
{# <div class="collapse" id="ui-basic">#}
{# <ul class="nav sub-menu flex-column">#}
{# <li class="nav-item">{{ ux_icon('material-symbols-light:play-arrow-outline', {height: '16px', width: '16px'}) }}#}
{# <a class="nav-link" href="#">Accordions</a></li>#}
{# <li class="nav-item">{{ ux_icon('material-symbols-light:play-arrow-outline', {height: '16px', width: '16px'}) }}#}
{# <a class="nav-link" href="#">Buttons</a></li>#}
{# <li class="nav-item">{{ ux_icon('material-symbols-light:play-arrow-outline', {height: '16px', width: '16px'}) }}#}
{# <a class="nav-link" href="#">Badges</a></li>#}
{# <li class="nav-item">{{ ux_icon('material-symbols-light:play-arrow-outline', {height: '16px', width: '16px'}) }}#}
{# <a class="nav-link" href="#">Breadcrumbs</a></li>#}
{# <li class="nav-item">{{ ux_icon('material-symbols-light:play-arrow-outline', {height: '16px', width: '16px'}) }}#}
{# <a class="nav-link" href="#">Dropdowns</a></li>#}
{# </ul>#}
{# </div>#}
{# </li>#}
<li class="nav-item">
{# 3. Check if route starts with 'application_' (covers index, edit, show, etc.) #}
<li class="nav-item {{ current_route starts with 'application_' ? 'active' : '' }}">
<a class="nav-link" href="{{ path('application_index') }}">
<i class="icon-grid menu-icon">{{ ux_icon('material-symbols:settings-applications-outline', {height: '15px', width: '15px'}) }}</i>
<span class="menu-title">Applications</span>
</a>
</li>
{# if user is Super Admin #}
{% if is_granted('ROLE_SUPER_ADMIN') %}
<li class="nav-item">
<li class="nav-item {{ current_route starts with 'user_' ? 'active' : '' }}">
<a class="nav-link" href="{{ path('user_index') }}">
<i class="icon-grid menu-icon">{{ ux_icon('fa6-regular:circle-user', {height: '15px', width: '15px'}) }}</i>
<span class="menu-title">Users</span>
</a>
</li>
{% endif %}
<li class="nav-item">
<li class="nav-item {{ current_route starts with 'organization_' ? 'active' : '' }}">
{% if is_granted('ROLE_ADMIN') %}
<a class="nav-link" href="{{ path('organization_index') }}">
<i class="icon-grid menu-icon"> {{ ux_icon('bi:buildings', {height: '15px', width: '15px'}) }}
</i>
<span class="menu-title">
Organizations</span>
<i class="icon-grid menu-icon"> {{ ux_icon('bi:buildings', {height: '15px', width: '15px'}) }}</i>
<span class="menu-title">Organizations</span>
</a>
{% endif %}
</li>
</ul>
</nav>