Files
tonehaus/templates/_partials/navbar.html.twig
boris 1c98a634c3
All checks were successful
CI - Build Tonehaus Docker image / tonehaus-ci-build (push) Successful in 1m57s
eerrrrrr
2025-11-27 23:42:17 +00:00

54 lines
3.0 KiB
Twig

<nav class="navbar navbar-expand-lg bg-body-tertiary" data-auth-header>
<div class="container">
<a class="navbar-brand fw-bold ps-2" href="{{ path('album_search') }}">tonehaus</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navMain" aria-controls="navMain" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navMain">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
{% if app.user %}
<li class="nav-item"><a class="nav-link" href="{{ path('album_new') }}">Create Album</a></li>
{% endif %}
</ul>
<div class="d-flex align-items-center gap-3">
{% if app.user %}
<div class="dropdown">
{% set avatar = app.user.profileImagePath %}
<button class="btn btn-outline-secondary dropdown-toggle d-flex align-items-center gap-2" type="button" data-bs-toggle="dropdown" aria-expanded="false">
{% if avatar %}
<img src="{{ avatar }}" alt="Profile picture" class="rounded-circle border" width="28" height="28" style="object-fit: cover;">
{% else %}
<span class="rounded-circle bg-secondary text-white d-inline-flex align-items-center justify-content-center" style="width:28px;height:28px;">
{{ (app.user.displayName ?? app.user.userIdentifier)|slice(0,1)|upper }}
</span>
{% endif %}
<span class="text-truncate" style="max-width: 180px;">{{ app.user.displayName ?? app.user.userIdentifier }}</span>
</button>
<ul class="dropdown-menu dropdown-menu-end">
{% if is_granted('ROLE_MODERATOR') %}
<li><h6 class="dropdown-header">Site</h6></li>
<li><a class="dropdown-item" href="{{ path('admin_dashboard') }}">Dashboard</a></li>
<li><a class="dropdown-item" href="{{ path('admin_users') }}">User Management</a></li>
{% if is_granted('ROLE_ADMIN') %}
<li><a class="dropdown-item" href="{{ path('admin_settings') }}">Settings</a></li>
{% endif %}
<li><hr class="dropdown-divider"></li>
{% endif %}
<li><h6 class="dropdown-header">User</h6></li>
<li><a class="dropdown-item" href="{{ path('account_dashboard') }}">Dashboard</a></li>
<li><a class="dropdown-item" href="{{ path('account_profile') }}">Profile</a></li>
<li><a class="dropdown-item" href="{{ path('account_settings') }}">Settings</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="{{ path('app_logout') }}">Logout</a></li>
</ul>
</div>
{% else %}
<button class="btn btn-success" type="button" data-open-auth="login">Login / Sign up</button>
{% endif %}
</div>
</div>
</div>
</nav>