{#- The two authored fields shared by every maintenance set/edit form. The note
— the pin's own text (ADR-0047), which the route still reads as `reason` — is
raw Markdown source, never rendered DOM round-tripped back into a control, so
it is a textarea even when today's explanation happens to be one line.
`prefix` keeps labels unique on the member page, which may carry hundreds of
editors. The duration-or-expiry value deliberately stays one line, and the
click-opened help makes its exact grammar discoverable without a hover gesture
or a second client-side parser.
What the expiry field holds is the caller's (ADR-0104 decision 5). A **new**
pin's is empty, and blank keeps the ADR-0014 configured-default rule. An
**edit** passes the stored expiry twice — as `duration`, which fills the field,
and as `expiry_was`, which the form carries hidden — and the route keeps the
stored instant while the two still agree. The sentence under the field says so
only while it is true of what the field shows: a refusal's page may carry
`expiry_was` beside text the admin typed. -#}
{% macro kept_hint(maintenance_default) -%}
Unchanged, the pin keeps this expiry; emptied, it runs for the default, {{ maintenance_default }}, from now.
{%- endmacro %}
{% macro maintenance_fields(note, duration, prefix, maintenance_default,
maintenance_timezone, compact=false, expiry_was='') -%}
Markdown is supported; raw HTML is shown as text.
{%- if expiry_was %}
{%- if duration == expiry_was %}
{{ kept_hint(maintenance_default) }}
{%- endif %}
{%- endif %}
Timezone: {{ maintenance_timezone }} — used when the input has no
Z or numeric offset.