{% extends 'layouts/base.twig' %} {% block title %}{{ title }} — Бизнес.Точка{% endblock %} {% block content %}

{{ title }}

Список Канбан
{# Статистика #}
Всего

{{ stats.total }}

Выполнено

{{ stats.completed }}

В ожидании

{{ stats.pending }}

Просрочено

{{ stats.overdue }}

{{ monthName }}
Сегодня
{# Дни недели #}
{% for day in ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'] %}
{{ day }}
{% endfor %}
{# Календарная сетка #}
{% set firstDay = firstDayOfWeek %} {% set daysInMonth = daysInMonth %} {# Пустые ячейки до первого дня #} {% for i in 0..(firstDay - 1) %}
{% endfor %} {# Дни месяца #} {% for day in 1..daysInMonth %} {% set dateStr = currentMonth ~ '-' ~ (day < 10 ? '0' ~ day : day) %} {% set isToday = dateStr == today %} {% set isPast = dateStr < today %} {% set dayEvents = eventsByDate[dateStr]|default([]) %}
{{ day }} {% if dayEvents|length > 0 %} {{ dayEvents|length }} {% endif %}
{% for event in dayEvents|slice(0, 3) %} {{ event.title|length > 15 ? event.title|slice(0, 15) ~ '...' : event.title }} {% if event.priority == 'urgent' or event.priority == 'high' %} {% endif %} {% endfor %} {% if dayEvents|length > 3 %}
+{{ dayEvents|length - 3 }} ещё
{% endif %}
{% endfor %} {# Пустые ячейки после последнего дня #} {% set remaining = 7 - ((firstDay + daysInMonth) % 7) %} {% if remaining < 7 %} {% for i in 1..remaining %}
{% endfor %} {% endif %}
{% endblock %} {% block scripts %} {% endblock %}