{% load static lucide ui i18n %} {% comment %} Standalone shell for allauth screens (password change/reset, MFA, passkeys, recovery codes) and 403.html/maintenance.html, rendered whenever the request path is under /manage/ (see club/context_processors.py: MANAGEMENT_BASE_TEMPLATE). Without this, a club staff member clicking "Change password" or "Manage MFA" from the management app's user menu would get bounced onto _club_base.html's old daisyUI chain -- the club's *public* skin, not the management app they were just in. Same reasoning and structure as controlpanel/_auth_base.html (its own fork of this same problem for the platform side), but themed with assets/management.css and this club's own colours, matching management/base.html. Block names match what templates/allauth/layouts/base.html and templates/403.html/ maintenance.html target (head_title, extra_head, main, extra_body) -- same contract as controlpanel/_auth_base.html and _club_base.html, so none of those shared templates need to know this base exists. {% endcomment %} {% block head_title %}{% endblock head_title %} · {{ club.name }} {% if club.secondary_color %} {% endif %} {% block extra_head %}{% endblock extra_head %}
{% if club.logo %} {% else %} {{ club.initials }} {% endif %} {{ club.name }} {% lucide "arrow-left" size=14 %} {% trans "Back to management" %}
{% if messages %}
{% for message in messages %} {% with alert=message|as_alert %} {% endwith %} {% endfor %}
{% endif %} {% block main %}{% endblock main %}

© {% now "Y" %} RosterChief

{% comment %} Same data-otp enhancement as controlpanel/_auth_base.html -- see that file's own comment for why the real stays invisible-but-focusable and each typed character is mirrored into its own instead of trying to align the real glyphs with the box pitch via CSS alone. {% endcomment %} {% block extra_body %}{% endblock extra_body %}