選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 

89 行
4.3 KiB

  1. {# templates/_sections/nav.html.twig #}
  2. {% set currentRoute = app.request.attributes.get('_route') %}
  3. <nav class="main-nav">
  4. <div class="main-nav__left">
  5. <a href="{{ path('timetracking_week') }}"
  6. class="main-nav__item{% if currentRoute starts with 'timetracking' %} main-nav__item--active{% endif %}">
  7. {{ 'app.nav.time_tracking'|trans }}
  8. </a>
  9. <a href="{{ path('report_times') }}"
  10. class="main-nav__item{% if currentRoute starts with 'report' %} main-nav__item--active{% endif %}">
  11. {{ 'app.nav.reports'|trans }}
  12. </a>
  13. </div>
  14. <div class="main-nav__right">
  15. {% if isCurrentUserMemberOrAdmin() %}
  16. <a href="{{ path('client_index') }}"
  17. class="main-nav__item{% if currentRoute starts with 'client' %} main-nav__item--active{% endif %}">
  18. {{ 'app.nav.clients'|trans }}
  19. </a>
  20. <a href="{{ path('project_index') }}"
  21. class="main-nav__item{% if currentRoute starts with 'project' %} main-nav__item--active{% endif %}">
  22. {{ 'app.nav.projects'|trans }}
  23. </a>
  24. <a href="{{ path('service_index') }}"
  25. class="main-nav__item{% if currentRoute starts with 'service' %} main-nav__item--active{% endif %}">
  26. {{ 'app.nav.services'|trans }}
  27. </a>
  28. {% endif %}
  29. {% if isCurrentUserAdmin() %}
  30. <a href="{{ path('team_index') }}"
  31. class="main-nav__item{% if currentRoute starts with 'team' %} main-nav__item--active{% endif %}">
  32. {{ 'app.nav.team'|trans }}
  33. </a>
  34. {% endif %}
  35. <a href="{{ path('account_index') }}"
  36. class="main-nav__item{% if currentRoute starts with 'account' %} main-nav__item--active{% endif %}">
  37. {{ 'app.nav.account'|trans }}
  38. </a>
  39. <a href="{{ path('app_logout') }}" class="main-nav__item">
  40. {{ 'app.nav.logout'|trans }}
  41. </a>
  42. </div>
  43. </nav>
  44. {# Hamburger-Navigation — nur im Minimal-Theme sichtbar (via CSS) #}
  45. <div class="hamburger-nav" id="hamburger-nav">
  46. <button class="hamburger-nav__toggle" id="hamburger-toggle" aria-label="Menü öffnen" aria-expanded="false">
  47. <span class="hamburger-nav__icon"></span>
  48. </button>
  49. <div class="hamburger-nav__panel" id="hamburger-panel" hidden>
  50. <a href="{{ path('timetracking_week') }}"
  51. class="hamburger-nav__item{% if currentRoute starts with 'timetracking' %} hamburger-nav__item--active{% endif %}">
  52. {{ 'app.nav.time_tracking'|trans }}
  53. </a>
  54. <a href="{{ path('report_times') }}"
  55. class="hamburger-nav__item{% if currentRoute starts with 'report' %} hamburger-nav__item--active{% endif %}">
  56. {{ 'app.nav.reports'|trans }}
  57. </a>
  58. {% if isCurrentUserMemberOrAdmin() %}
  59. <a href="{{ path('client_index') }}"
  60. class="hamburger-nav__item{% if currentRoute starts with 'client' %} hamburger-nav__item--active{% endif %}">
  61. {{ 'app.nav.clients'|trans }}
  62. </a>
  63. <a href="{{ path('project_index') }}"
  64. class="hamburger-nav__item{% if currentRoute starts with 'project' %} hamburger-nav__item--active{% endif %}">
  65. {{ 'app.nav.projects'|trans }}
  66. </a>
  67. <a href="{{ path('service_index') }}"
  68. class="hamburger-nav__item{% if currentRoute starts with 'service' %} hamburger-nav__item--active{% endif %}">
  69. {{ 'app.nav.services'|trans }}
  70. </a>
  71. {% endif %}
  72. {% if isCurrentUserAdmin() %}
  73. <a href="{{ path('team_index') }}"
  74. class="hamburger-nav__item{% if currentRoute starts with 'team' %} hamburger-nav__item--active{% endif %}">
  75. {{ 'app.nav.team'|trans }}
  76. </a>
  77. {% endif %}
  78. <div class="hamburger-nav__divider"></div>
  79. <a href="{{ path('account_index', {tab: 'user'}) }}"
  80. class="hamburger-nav__item{% if currentRoute starts with 'account' %} hamburger-nav__item--active{% endif %}">
  81. {{ 'app.nav.account'|trans }}
  82. </a>
  83. <a href="{{ path('app_logout') }}" class="hamburger-nav__item">
  84. {{ 'app.nav.logout'|trans }}
  85. </a>
  86. </div>
  87. </div>