{% extends 'layouts/base.twig' %} {% block title %}{{ translations.cases_title }}{% endblock %} {% block head %} {{ parent() }} {% endblock %} {% block page_heading %}

{{ translations.cases_title }}

{{ translations.cases_subtitle }}

{% endblock %} {% block content %} {# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SEKCJA 1 — Zespół konsultantów ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ #}
{{ translations.cases_team_heading }}
{% if team is not empty %} {{ team|length }} {% endif %}
{% if team is empty %}

{{ translations.cases_team_empty }}

{% else %}
{% for consultant in team %}
{# ── Nagłówek karty ── #}
{{ consultant.getInitials() }}
{{ consultant.getFullName() }}
{% if consultant.getPositionName() %}
{{ consultant.getPositionName() }}
{% endif %} {% if consultant.getLevelName() %}
{{ consultant.getLevelName() }}
{% endif %}
{# ── Dane kontaktowe ── #} {% if consultant.getEmail() or consultant.getPhone() %}
{% if consultant.getEmail() %} {{ consultant.getEmail() }} {% endif %} {% if consultant.getPhone() %} {{ consultant.getPhone() }} {% endif %}
{% endif %} {# ── Obszary odpowiedzialności ── #} {% set areas = consultant.getAreas() %} {% if areas is not empty %}
{{ translations.cases_responsibility_areas }}
{% for area in areas %} {{ area.label ?? area.area_key ?? area.key }} {% endfor %}
{# ── Obowiązki pierwszego obszaru (jeśli dostępne) ── #} {% set firstWithDuties = null %} {% for area in areas %} {% if firstWithDuties is null and area.duties is defined and area.duties is not empty %} {% set firstWithDuties = area %} {% endif %} {% endfor %} {% if firstWithDuties is not null %}
{{ translations.cases_duties }}
{% for duty in firstWithDuties.duties|slice(0, 3) %}
{{ duty }}
{% endfor %} {% if firstWithDuties.duties|length > 3 %}
+ {{ firstWithDuties.duties|length - 3 }} {{ translations.cases_and_more }}
{% endif %}
{% endif %} {% endif %}
{% endfor %}
{% endif %}
{# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SEKCJA 2 — Nadchodzące spotkania ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ #}
{{ translations.cases_upcoming_meetings }}
{% if upcoming is not empty %} {{ upcoming|length }} {% endif %} {{ translations.cases_see_schedule }}
{% if upcoming is empty %}

{{ translations.cases_no_upcoming }}

{{ translations.cases_see_schedule }}
{% else %}
{% for meeting in upcoming %} {% set daysUntil = meeting.getDaysUntil() %} {% set isToday = daysUntil == 0 %} {% set isTomorrow = daysUntil == 1 %} {% set isUrgent = daysUntil is not null and daysUntil <= 3 %}
{# Kafelek z datą #}
{{ meeting.getMeetingDate()|date('d') }}
{{ meeting.getPolishMonth() }}
{# Treść #}
{{ meeting.getTitle() }} {% if meeting.isGroup() %} {{ translations.type_group }} {% else %} {{ translations.type_individual }} {% endif %} {% if meeting.isCancelled() %} {{ translations.status_cancelled }} {% endif %}
{{ meeting.getDayOfWeek()|capitalize }}, {{ meeting.getMeetingDate()|date('d') }} {{ meeting.getPolishMonthFull() }} {{ meeting.getMeetingTime()|slice(0, 5) }} {% if meeting.getDurationMinutes() %} {{ meeting.getDurationMinutes() }} min {% endif %} {% if meeting.getFormattedLocation() %} {{ meeting.getFormattedLocation() }} {% endif %}
{# Konsultanci w spotkaniu #} {% set consultants = meeting.getConsultants() %} {% if consultants is not empty %}
{% for p in consultants %} {{ p.display_name }} {% endfor %}
{% endif %} {# Akcje #} {% if meeting.getExternalLink() %} {% endif %}
{# Wskaźnik pilności #}
{% if not meeting.isCancelled() %} {% if isToday %} {{ translations.cases_day_today }} {% elseif isTomorrow %} {{ translations.cases_day_tomorrow }} {% elseif isUrgent %} {{ translations.cases_in_days_prefix }} {{ daysUntil }} {{ translations.cases_in_days_suffix }} {% else %} {{ translations.cases_in_days_prefix }} {{ daysUntil }} {{ translations.cases_in_days_suffix }} {% endif %} {% endif %}
{% endfor %}
{% endif %}
{% endblock %}