Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 

83 linhas
3.5 KiB

  1. {# templates/_sections/tt-header.html.twig #}
  2. {# Erwartet im Kontext: currentDate, todayStr, tomorrowStr, yesterdayStr,
  3. months, monthsShort, weekdays, weekDays, currentWeekNumber,
  4. prevWeekUrl, nextWeekUrl #}
  5. <header class="tt-header">
  6. {# Minimal-Modus: kompakter Header mit Toggle #}
  7. <div class="tt-header__minimal-bar">
  8. <div class="tt-header__minimal-date">
  9. {% set activStr = currentDate|date('Y-m-d') %}
  10. {% set monthName = months[currentDate|date('n') - 1] %}
  11. {% set weekdayIdx = currentDate|date('N') - 1 %}
  12. {% if activStr == todayStr %}
  13. {{ 'app.date.today'|trans }}, {{ currentDate|date('j') }}. {{ monthName }}
  14. {% elseif activStr == tomorrowStr %}
  15. {{ 'app.date.tomorrow'|trans }}, {{ currentDate|date('j') }}. {{ monthName }}
  16. {% elseif activStr == yesterdayStr %}
  17. {{ 'app.date.yesterday'|trans }}, {{ currentDate|date('j') }}. {{ monthName }}
  18. {% else %}
  19. {{ weekdays[weekdayIdx] }}, {{ currentDate|date('j') }}. {{ monthName }}
  20. {% endif %}
  21. </div>
  22. <button type="button" class="tt-header__week-toggle" id="btn-week-toggle" aria-expanded="false" title="Wochenansicht">
  23. KW {{ currentWeekNumber }} ▾
  24. </button>
  25. </div>
  26. <div class="tt-header__meta">
  27. <div class="tt-header__date">
  28. {% set activStr = currentDate|date('Y-m-d') %}
  29. {% set monthName = months[currentDate|date('n') - 1] %}
  30. {% set weekdayIdx = currentDate|date('N') - 1 %}
  31. {% if activStr == todayStr %}
  32. {{ 'app.date.today'|trans }}, {{ currentDate|date('j') }}. {{ monthName }}
  33. {% elseif activStr == tomorrowStr %}
  34. {{ 'app.date.tomorrow'|trans }}, {{ currentDate|date('j') }}. {{ monthName }}
  35. {% elseif activStr == yesterdayStr %}
  36. {{ 'app.date.yesterday'|trans }}, {{ currentDate|date('j') }}. {{ monthName }}
  37. {% else %}
  38. {{ weekdays[weekdayIdx] }}, {{ currentDate|date('j') }}. {{ monthName }}
  39. {% endif %}
  40. </div>
  41. <div class="tt-header__kw">{{ 'app.date.week_label'|trans }} {{ currentWeekNumber }}</div>
  42. </div>
  43. <div class="tt-header__collapsible" id="tt-header-collapsible">
  44. <nav class="week-nav"
  45. aria-label="{{ 'app.date.week_label'|trans }}"
  46. data-active-date="{{ currentDate|date('Y-m-d') }}">
  47. <a href="{{ prevWeekUrl }}"
  48. class="week-nav__arrow week-nav__arrow--prev"
  49. title="{{ 'app.nav.prev_week'|trans }}">
  50. {% include '_atoms/icon-arrow-left.html.twig' %}
  51. </a>
  52. <div class="week-nav__days">
  53. {% for day in weekDays %}
  54. {% set dayMonthShort = monthsShort[day.date|date('n') - 1] %}
  55. <a href="{{ path('timetracking_week_date', { date: day.date|date('Y-m-d') }) }}"
  56. class="week-nav__day{% if day.isActive %} week-nav__day--active{% endif %}{% if day.isToday %} week-nav__day--today{% endif %}"
  57. data-date="{{ day.date|date('Y-m-d') }}"
  58. {% if day.isActive %}aria-current="date"{% endif %}>
  59. <span class="week-nav__day-name">{{ day.short }}</span>
  60. <span class="week-nav__day-date">{{ day.date|date('d') }}. {{ dayMonthShort }}</span>
  61. </a>
  62. {% endfor %}
  63. </div>
  64. <button class="week-nav__cal" title="{{ 'app.nav.month_view'|trans }}">
  65. {% include '_atoms/icon-calendar.html.twig' %}
  66. </button>
  67. <a href="{{ nextWeekUrl }}"
  68. class="week-nav__arrow week-nav__arrow--next"
  69. title="{{ 'app.nav.next_week'|trans }}">
  70. {% include '_atoms/icon-arrow-right.html.twig' %}
  71. </a>
  72. </nav>
  73. </div>{# /.tt-header__collapsible #}
  74. </header>