{% load static i18n statici18n conjunto %} {% get_current_language as LANGUAGE_CODE %} {% comment %} Slim, generic base template. Contains only the document shell: , , with CSS hooks, and with CSRF, scripts, modal and toast slots. It carries no topbar, sidebar, canvas or statusbar. Use this as the starting point for public / marketing / chrome-less pages. For the full application layout (topbar + sidebar + canvas + statusbar + offcanvas) extend ``conjunto/app_base.html`` instead. {% endcomment %} {% comment %} Disable HTMX attribute inheritance globally. Every hx-* must be declared on the element that uses it; ancestors do not silently leak hx-target, hx-swap, hx-select, etc. into descendants. This is the recommended htmx >= 2.0 setting and prevents the whole class of "modal opens but is empty because the wrapper's hx-select was inherited" bugs. {% endcomment %} {% block title %}{{ site.name|default:'Conjunto' }}{% endblock %} {% block meta %}{% endblock %} {% block extra_css %}{% endblock %} {% conjunto_css %} {% csrf_token %} {% block body %}{% endblock %} {# Modals / Toasts #} {% block modal %} {% endblock %} {% block toasts %} {% include "conjunto/includes/toasts.html" %} {% endblock %} {# Scripts #} {% conjunto_core_scripts %} {% block app_scripts %}{% endblock %} {% block feature_scripts %}{% conjunto_render_scripts %}{% endblock %} {% block scripts %}{% endblock %}