{# Тему ставим ДО отрисовки: иначе при выбранной ночной страница успевает
мигнуть белым — на секунду, но в глаза бьёт каждый раз. #}
{% include "_tokens.html" %}
{% block head %}{% endblock %}
puntavia.
{# Разделов в полосе нет: сводка — это главная (марка puntavia. ведёт на
неё), а сотрудники, машины и доступ живут под настройками — решение
владельца 15.08: «зачем кнопка Сводка, если сводка и есть главный
экран». Остались адрес-крошка и инструменты. #}
{# Адрес текущего места — крошкой сразу за разделами: страница говорит,
где ты, в той же строке, а не второй пилюлей (см. .crumb). #}
{% block crumb %}{% endblock %}
{% if me and plan[0] == 'trial' %}
{# демо — тихой пилюлей, а не полосой на всю ширину: состояние обычное #}
{{ tr('демо') }}{{ plan[1] }} {{ tr('дн') }}
{% endif %}
{% if me %}
{# Свёрнут в лупу: постоянного поля правый кластер не заслужил — им
пользуются вспышками. Клик или «/» раскрывают поле, пустой Esc/blur
сворачивают обратно; в сложенном виде ширина кластера постоянна. #}
{% endif %}
{# Копилот — иконкой в правом кластере (владелец, 05.09). Сам чат прежний,
переехала только кнопка: плавающая пилюля закрывала содержимое. Блок
nav_ask из страниц Jinja молча игнорирует: в скелете его нет. #}
{% if me and request.path != '/ask' %}
{% endif %}
{# Глобуса в кабинете больше нет (владелец, 05.09: «разве нужно на главной
менять язык интерфейса — он же в настройках должен меняться»). Язык
человека живёт в его учётке (/me), язык компании — в настройках. На
витрине глобус остаётся: гостю больше негде. #}
{% if me %}
{# Кто вошёл: кружок-аватар и имя — видно с первого взгляда, а не
после нажатия. Компания и переключение между ними — внутри. #}
{% from "_ava.html" import ava with context %}
{{ ava(me.name or me.email, me.avatar) }}
{{ me.name or me.email }}{{ org_now.name if org_now else '' }}▾
{% endif %}
{# Поиск — в ПРАВОМ кластере, а не за крошкой: крошка на каждой странице
своя (или её нет), и стоящий за ней поиск прыгал при каждом переходе.
Правая половина шапки не двигается никогда. Клавиша «/» ставит курсор
сюда — привычка из всех рабочих инструментов. #}
{# Лампочки живого обновления в шапке больше нет (владелец, 20.08:
«зачем?») — обновление работает молча, liveMark() в JS терпит
отсутствие элемента. #}
{# Тема — ОДНА кнопка на три состояния: как в системе → день → ночь.
Значок — состоянию: полукруг/солнце/луна, рисованы линией, как всё. #}
{% if can('manage_settings') %}
{% endif %}
{% if me %}
{# выход — иконкой, как в Голове; в меню учётки он тоже остаётся #}
{% endif %}
{# Состояние компании — полоской над содержимым, а не карточкой на сводке:
человек, у которого кончается демо, должен видеть это на любой странице, в
том числе на той, где ему как раз показывают ценность. #}
{# Почта не подтверждена — той же тихой полоской, что и состояние компании.
Показывается только при настроенном SMTP: без него письмо некому отправить,
и баннер было бы нечем погасить. #}
{% if me and mail_ready and not me.email_verified %}
{{ tr('Подтвердите почту: письмо ушло на {email}.').format(email=me.email) }}
{% endif %}
{# Полоса — только когда случилось ПЛОХОЕ (демо кончилось, приём остановлен):
живому демо хватает тихой пилюли в шапке (владелец, 20.08: «зачем синяя
полоса» — обычное состояние не должно кричать на каждой странице). #}
{% if plan[0] in ('expired', 'blocked') %}
{# Не тонкая полоса, а стена во всю ширину: тонкую не видно, стоит
прокрутить страницу на экран вниз, и человек решает, что продукт
сломался после обновления (живой случай, 28.08). Данные под ней
остаются видимыми намеренно — увидеть свою неделю и есть причина
оплатить; выключено ровно то, что стоит денег. #}
{% if plan[0] == 'expired' %}
{{ tr('Демо кончилось — доступ приостановлен') }}
{{ tr('Разбор ИИ и скриншоты выключены, отчёты за прошлые дни остаются на месте.') }}
{{ tr('Замеры с машин ещё принимаются {n} дн. — если оплатить за это время, история не разорвётся.').format(n=plan[1]) }}
{{ tr('Замеры больше не принимаются: машины копят их у себя и отправят всё разом, как только компания снова заработает.') }}
{% endif %}
{% if plan_info %}
{% if pay_sent %}
{{ tr('Счёт запрошен — пришлём его на почту.') }}
{% else %}
€{{ plan_info.eur }}/{{ tr('мес') }}{{ tr('до {n} человек').format(n=plan_info.seats) }}
{% if pay_card and can('billing') %}
{# Оплата картой — сразу формой на Stripe, без промежуточной модалки:
лишний экран между «хочу заплатить» и оплатой не объясняет ничего. #}
{% else %}
{% endif %}
{% endif %}
{% endif %}
{% if plan_info and not pay_sent and not (pay_card and can('billing')) %}
{% endif %}
{% endif %}
{% block content %}{% endblock %}
{# Подвал с припиской про данные снят (владелец, 18.08): обещания о
приватности живут на витрине и в настройках, кабинету они мешали. #}
{% if me and request.path != '/ask' %}
{# Копилот-виджет: кнопка и панель живут вне живой зоны. Тема разговора
хранится на сервере и помнится в браузере (tl.cop.chat) — продолжается с
любой страницы. На /ask не показывается: там он и так целиком. #}