{% extends 'base.html' %} {% block title %}{{ service_type }} — {{ day.strftime('%-d %B %Y') }}{% endblock %} {% block content %} {# ── Breadcrumb ────────────────────────────────────────────────────────── #} {# ── Page header ───────────────────────────────────────────────────────── #}

{{ service_type }}

{{ day.strftime('%A %-d %B %Y') }} {% if service_time %} at {{ service_time.strftime('%H:%M') }}{% endif %}

↓ PDF
{# ── Lectionary readings ───────────────────────────────────────────────── #} {% if readings %}

Readings

{% if readings.old_testament %}
Old Testament
{{ readings.old_testament }}
{% endif %} {% if readings.psalm %}
Psalm
{{ readings.psalm }}
{% endif %} {% if readings.epistle %}
Epistle
{{ readings.epistle }}
{% endif %} {% if readings.gospel %}
Gospel
{{ readings.gospel }}
{% endif %} {% for extra in readings.extra %}
{{ extra }}
{% endfor %}
{% endif %} {# ── Placement slots ───────────────────────────────────────────────────── #}

Hymns

{% for slot in placements %} {% set hymn = choices.get(slot) %}
{{ slot }} {% if hymn %} {# Filled slot #}
{{ hymn.number }} {{ hymn.words }} {{ hymn.tune }}{% if hymn.tune_number != 'First' %} ({{ hymn.tune_number }}){% endif %} {% if hymn.recency_class %} {{ hymn.recency_label }} {% endif %}
{% else %} {# Empty slot #} {% endif %}
{% endfor %}
{# ── Hymn search ───────────────────────────────────────────────────────── #}

Search Hymns

{% if query %} Clear {% endif %}
{% if query and results %}
{% for r in results %} {% endfor %}
No. First line Tune Last used
{{ r.number }} {{ r.words }} {{ r.tune }}{% if r.tune_number != 'First' %} ({{ r.tune_number }}){% endif %} {% if r.recency_class %} {{ r.recency_label }} {% else %} {{ r.recency_label }} {% endif %} {% if target_placement %}
{% else %} Select a slot above first {% endif %}
{% elif query and not results %}

No hymns found for {{ query }}. Add a new hymn?

{% endif %}
{# ── Quick-assign from placement buttons ───────────────────────────────── #} {% endblock %}