{# Layout: sin sidebar/topbar. Para login, signup, password reset, errores. #} {% block title %}Datagrowth{% endblock %} {# FOUC guard: aplica data-theme antes del primer paint. Ver dg/layouts/sidebar_shell.html para la rationale completa. #} {% if tokens_override_href %} {% endif %} {# CSRF double-submit wiring: el form de login (`POST /auth/password`) lo necesita para que `CSRFMiddleware` no responda 403. Idem para signup/ password-reset que vivan en este layout. #} {# `toasts.js` cablea el auto-dismiss de los toasts en `#dg-toasts`. `register_error_handlers` puede renderizar este layout con un toast inicial (caso: 401 anónimo, 500 sin sesión); sin este script el banner quedaría pegado en la esquina hasta el siguiente nav. #} {% block extra_head %}{% endblock %}
{% block content %}{% endblock %}
{# Región de toasts. `register_error_handlers` inyecta el toast inicial vía el bloque `toast_initial` (renderiza el macro `toast()`). El mismo id `dg-toasts` se usa para OOB swaps de HTMX. #}
{% block toast_initial %}{% endblock %}
{% block extra_body %}{% endblock %}