{# Тело страницы дня. Живое обновление подменяет только его, поэтому кнопки разбора и просмотрщик скриншотов живут снаружи — их обработчики настраиваются один раз. #} {# Живая пара «Идёт работа / Перерыв»: секунды тикают на клиенте (day.html), сервер даёт только якоря. Пока человек за делом, идут часы работы с начала отрезка; замолчал дольше порога простоя — работа застывает на длительности отрезка, и начинает идти перерыв от последней активности. #} {% if d.live_now %} {# Серверного «сейчас» здесь нарочно нет: оно менялось бы каждым опросом, и живая подмена дёргала бы DOM даже без новых данных. Сдвиг часов зрителя считается один раз при загрузке страницы (day.html). #}
{{ tr('Столбик — доля часа, занятая работой: полная высота значит «весь час за делом».') }}
{{ d.summary }}
{{ d.summary }}
{{ b.title }}
{{ b.summary }}
{% if b.details %}{{ tr('Ещё не разобрано — нажмите «Проанализировать день».') if b.closed else tr('Блок ещё не закрыт, разбор будет после паузы в работе.') }}
{% endif %}