Easy_solution/templates/elements/menu.html.twig

42 lines
2.1 KiB
Twig

<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_ADMIN") %}
{# 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 %}
{# 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 is_granted('ROLE_ADMIN') %}
<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 %}
{% if can_view_org_menu() %}
<li class="nav-item {{ current_route starts with 'organization_' ? 'active' : '' }}">
<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>
</a>
</li>
{% endif %}
</ul>
</nav>