templates/_sidebar.html.twig line 1

Open in your IDE?
  1. {# Sidebar Start #}
  2. <div class="sidebar pe-4 pb-3">
  3.   <nav class="navbar bg-secondary navbar-dark">
  4.     <a href="{{ path('index') }}" class="navbar-brand mx-4 mb-3">
  5.       <h3 class="text-primary"><i class="fa fa-user-edit me-2"></i>MyHajs</h3>
  6.     </a>
  7.     <div class="d-flex align-items-center ms-4 mb-4">
  8.       <div class="position-relative">
  9.         {% set avatar = app.user and app.user.avatar ? '/uploads/avatars/' ~ app.user.avatar : '/darkpan/img/user.jpg' %}
  10.         <img class="rounded-circle" src="{{ avatar }}" alt="avatar" style="width: 40px; height: 40px; object-fit: cover;">
  11.         <div class="bg-success rounded-circle border border-2 border-white position-absolute end-0 bottom-0 p-1"></div>
  12.       </div>
  13.       <div class="ms-3">
  14.         <h6 class="mb-0">{{ app.user ? app.user.userIdentifier : 'Gość' }}</h6>
  15.         <span>{{ app.user ? 'Zalogowany' : 'Niezalogowany' }}</span>
  16.       </div>
  17.     </div>
  18.     {# Aktywne zakładki #}
  19.     {% set current = app.request.attributes.get('_route') %}
  20.     {% set isIndexActive = current == 'index' %}
  21.     {# Zbiory tras dla sekcji #}
  22.     {% set kategorieRoutes = ['kategorie_list', 'kategoria_new', 'kategoria_edit'] %}
  23.     {% set przychodyRoutes = ['przychody_list', 'przychod_new', 'przychod_edit', 'przychody_edit'] %}
  24.     {% set rozchodyRoutes = ['rozchody_list', 'rozchod_new', 'rozchod_edit', 'rozchody_edit'] %}
  25.     {% set planyRozchodowRoutes = ['plany_rozchodow'] %}
  26.     {% set statystykiRoutes = ['app_statistics'] %}
  27.       {# Flagi aktywności #}
  28.     {% set isKategorieActive = current in kategorieRoutes %}
  29.     {% set isPrzychodyActive = current in przychodyRoutes %}
  30.     {% set isRozchodyActive = current in rozchodyRoutes %}
  31.     {% set isPlanyRozchodowActive = current in planyRozchodowRoutes %}
  32.     {% set isStatystykiActive = current in statystykiRoutes %}
  33.     {% set isKontaActive = current == 'app_konta_index' or current == 'app_konta_new' or current == 'app_konta_edit' %}
  34.     {% set isKonfiguracjaActive = isKategorieActive or isPrzychodyActive or isRozchodyActive or isKontaActive %}
  35.     <div class="navbar-nav w-100">
  36.       <a href="{{ path('index') }}" class="nav-item nav-link {{ isIndexActive ? 'active' : '' }}">
  37.         <i class="fa fa-tachometer-alt me-2"></i>Budżet
  38.       </a>
  39.       {% if is_granted('ROLE_ADMIN') %}
  40.         <div class="nav-item dropdown">
  41.           <a href="#" class="nav-link dropdown-toggle {{ isKonfiguracjaActive ? 'active' : '' }}" data-bs-toggle="dropdown">
  42.             <i class="fa fa-laptop me-2"></i>Konfiguracja
  43.           </a>
  44.           <div class="dropdown-menu bg-transparent border-0 {{ isKonfiguracjaActive ? 'show' : '' }}">
  45.             <a href="{{ path('kategorie_list') }}" class="dropdown-item {{ isKategorieActive ? 'active' : '' }}"><i class="fa fa-tags me-2"></i>Kategorie</a>
  46.             <a href="{{ path('przychody_list') }}" class="dropdown-item {{ isPrzychodyActive ? 'active' : '' }}"><i class="fa fa-arrow-down me-2"></i>Przychody</a>
  47.             <a href="{{ path('rozchody_list') }}" class="dropdown-item {{ isRozchodyActive ? 'active' : '' }}"><i class="fa fa-arrow-up me-2"></i>Rozchody</a>
  48.             <a href="{{ path('app_konta_index') }}" class="dropdown-item {{ isKontaActive ? 'active' : '' }}"><i class="fa fa-wallet me-2"></i>Konta</a>
  49.           </div>
  50.         </div>
  51.       {% endif %}
  52.       {% set isPlanyActive = current in ['plany_list', 'plany_przychodow', 'plany_rozchody', 'plany_rozchodow'] %}
  53.       <div class="nav-item dropdown">
  54.           <a href="#" class="nav-link dropdown-toggle {{ isPlanyActive ? 'active' : '' }}" data-bs-toggle="dropdown" data-bs-auto-close="outside">
  55.               <i class="fa fa-th me-2"></i>Plany
  56.           </a>
  57.           <div class="dropdown-menu bg-transparent border-0 {{ isPlanyActive ? 'show' : '' }}">
  58.               <a href="{{ path('plany_list') }}" class="dropdown-item {{ current == 'plany_list' ? 'active' : '' }}"><i class="fa fa-list-ul me-2"></i>Zbiorczo</a>
  59.               <a href="{{ path('plany_przychodow') }}" class="dropdown-item {{ current == 'plany_przychodow' ? 'active' : '' }}"><i class="fa fa-arrow-down me-2"></i>Plany przychodów</a>
  60.               <a href="{{ path('plany_rozchodow') }}" class="dropdown-item {{ current == 'plany_rozchodow' ? 'active' : '' }}"><i class="fa fa-arrow-up me-2"></i>Plany rozchodów</a>
  61.           </div>
  62.       </div>
  63.       {% set isOperacjeActive = current in ['operacje_przychody', 'operacje_wydatki'] %}
  64.       <div class="nav-item dropdown">
  65.           <a href="#" class="nav-link dropdown-toggle {{ isOperacjeActive ? 'active' : '' }}" data-bs-toggle="dropdown" data-bs-auto-close="outside">
  66.               <i class="fa fa-keyboard me-2"></i>Operacje
  67.           </a>
  68.           <div class="dropdown-menu bg-transparent border-0 {{ isOperacjeActive ? 'show' : '' }}">
  69.               <a href="{{ path('operacje_przychody') }}" class="dropdown-item {{ current == 'operacje_przychody' ? 'active' : '' }}">
  70.                   <i class="fa fa-arrow-down text-success me-2"></i>Przychody
  71.               </a>
  72.               <a href="{{ path('operacje_wydatki') }}" class="dropdown-item {{ current == 'operacje_wydatki' ? 'active' : '' }}">
  73.                   <i class="fa fa-arrow-up text-danger me-2"></i>Wydatki
  74.               </a>
  75.           </div>
  76.       </div>
  77.         {% set isStatystykiActive = current in ['app_statistics', 'app_budget_realization'] %}
  78.         <div class="nav-item dropdown">
  79.             <a href="#" class="nav-link dropdown-toggle {{ isStatystykiActive ? 'active' : '' }}" data-bs-toggle="dropdown" data-bs-auto-close="outside">
  80.                 <i class="fa fa-chart-bar me-2"></i>Statystyki
  81.             </a>
  82.             <div class="dropdown-menu bg-transparent border-0 {{ isStatystykiActive ? 'show' : '' }}">
  83.                 <a href="{{ path('app_statistics') }}" class="dropdown-item {{ current == 'app_statistics' ? 'active' : '' }}">
  84.                     <i class="fa fa-chart-pie me-2"></i>Wykresy
  85.                 </a>
  86.                 <a href="{{ path('app_budget_realization') }}" class="dropdown-item {{ current == 'app_budget_realization' ? 'active' : '' }}">
  87.                     <i class="fa fa-chart-line me-2"></i>Realizacja budżetu
  88.                 </a>
  89.             </div>
  90.         </div>
  91.     </div>
  92.   </nav>
  93. </div>
  94. {# Sidebar End #}