{#- Форма совместимости: страница /match (повторный показ с ошибками сервера) и «Изменить данные» под результатом. Два партнёра в одной форме, имена полей с префиксом he_ и she_. values — введённые значения, errors — сообщения по именам полей; оба необязательны. time_choices — {who: вопрос о времени на переводе часов}, кнопки-варианты (name/value/label). Время необязательно: пустое поле — «не знаю». Отправка POST: данные не попадают в адрес и логи. -#} {% from "_partials/icon.html" import icon %} {% from "_partials/forms.html" import error_slot, invalid %} {% from "_partials/city_field.html" import city_field with context %} {% set values = values or {} %} {% set errors = errors or {} %} {% set time_choices = time_choices or {} %} {#- Фокус — на первый вариант первого вопроса (он раньше неё, как в errors) -#} {% set first_asked = (time_choices|list|first) if time_choices else None %}
{% if time_choices %} {#- Enter в поле формы нажимает первую кнопку отправки. Без этой пустой кнопки ею была бы кнопка первого варианта времени, и выбор сделался бы сам -#} {% endif %}
{%- for who in ("he", "she") %} {%- set n = who ~ "_" %}
{{ t("match." ~ who) }}
{#- Границы — файлы эфемерид в ephe/ (sepl_18, semo_18, seas_18): 1800–2399 годы. #} {#- autocomplete="off": даты здесь чужие, подстановка своего дня рождения только мешает -#} {{ error_slot(who ~ "-date", errors.get(n ~ "date")) }}
{{ error_slot(who ~ "-time", errors.get(n ~ "time")) }}

{{ t("match.time_hint") }}

{%- set choice = time_choices.get(who) %} {% if choice %}

{{ icon("warning-circle") }}{{ choice.message }}

{%- for option in choice.options %} {%- endfor %}
{% elif values.get(n ~ "utc_offset") %} {#- Выбор из двух одинаковых времён, сделанный раньше: без него форма снова спросит -#} {% endif %} {{ city_field(who, values, errors, n) }}
{%- endfor %}

{{ t("natal_form.privacy") }}