Files
ephub/templates/board/index.html.twig
T
2026-09-18 09:54:18 +02:00

46 lines
1.9 KiB
Twig

{% extends 'layout.html.twig' %}
{% block title %}{{ type.plural }} buchen · E&P Platz{% endblock %}
{% block content %}
{# The dashboard is the only navigation there is, so every board says how to get back. #}
<a class="text-sm text-gray-500 hover:text-gray-900" href="{{ path('app_dashboard') }}">← Übersicht</a>
<h1 class="pt-2">{{ type.plural }} buchen</h1>
<p class="subline">Tag und Zeitraum wählen, dann einen freien Platz anklicken.</p>
<div class="mt-8 grid gap-8 xl:grid-cols-3">
<div class="xl:col-span-1">
{#
The two blocks below are what Board\DayController and the booking controllers swap out
of band. Each one owns a stable id and emits hx-swap-oob only when rendered
through htmxOobResponse -- rendered normally they are plain markup.
#}
{% block calendar %}
<div id="board-calendar"{% if htmx_oob_swap is defined and htmx_oob_swap %} hx-swap-oob="true"{% endif %}>
{% include 'board/_calendar.html.twig' %}
</div>
{% endblock %}
</div>
<div class="xl:col-span-2">
{% block floorplan %}
<div id="board-floorplan"{% if htmx_oob_swap is defined and htmx_oob_swap %} hx-swap-oob="true"{% endif %}>
{% include 'board/_floorplan.html.twig' %}
</div>
{% endblock %}
</div>
</div>
{% endblock %}
{#
Removes whatever modal is open, out of band. Only Booking\ReleaseController renders
it, and only for a confirmation that was opened over another modal -- the confirmation swaps
itself away by targeting its own element, which leaves the one underneath behind.
Never rendered as part of the page: nothing in the layout calls this block.
#}
{% block modal_dismiss %}
<div id="htmx-modal" hx-swap-oob="delete"></div>
{% endblock %}