{% load static lucide ui i18n %} {% comment %} Standalone shell for club management -- does NOT extend templates/_base.html or _club_base.html, and does not load assets/app.css or daisyUI. Same reasoning as controlpanel/templates/controlpanel/base.html's own standalone shell, but this surface IS club-branded (design_handoff_rosterchief_platform/README.md, "Club theming"): the --tenant-club/--tenant-club-dark custom properties below feed assets/management.css's --color-club/--color-club-dark tokens, set per request from Club.secondary_color. Desktop only, matching the design's own scope for this surface -- no mobile nav here, unlike the club-facing chrome this replaces. The page itself scrolls (body/document), not a boxed-in
under a fixed- height shell -- the sidebar and topbar are sticky (top-0) instead, same reasoning (and same fix) as mobile/templates/mobile/base.html's own shell: a fixed shell with an inner overflow-y-auto
reads as two separate scrollable areas nested inside each other, most noticeable on a tall page like the week calendar (event_list.html's own .cal-week-body, sized well past a screenful of hours). {% endcomment %} {% block title %}{% block panel_title %}Management{% endblock panel_title %} · {{ club.name }}{% endblock title %} {% if club.secondary_color %} {% endif %} {% if club.primary_color %} {% endif %} {% block extra_head %}{% endblock extra_head %}
{% block heading %}{% block topbar_title %}Management{% endblock topbar_title %}{% endblock heading %} {% block topbar_context %}{% endblock topbar_context %}
{% if unread_notification_count is not None %} {# Same
/ convention as the sidebar's own user-menu below -- no JS needed to open it, only the shared outside-click/Escape listener to close it. #}
{% lucide "bell" size=16 %} {% if unread_notification_count %} {{ unread_notification_count }} {% endif %}
{% trans "Notifications" %} {% if unread_notification_count %}
{% csrf_token %}
{% endif %}
{% for notification in recent_notifications %}
{{ notification.title }} {{ notification.body|truncatechars:100 }} {{ notification.created|timesince }} {% trans "ago" %}
{% empty %}

{% trans "Nothing yet." %}

{% endfor %}
{% endif %}
{% block actions %}{% endblock actions %}
{% block filter_strip %}{% endblock filter_strip %}
{% if billing_notice.is_urgent and nav != "home" %} {% include "management/_billing_notice.html" %} {% endif %} {% if messages %}
{% for message in messages %} {% with alert=message|as_alert %} {% endwith %} {% endfor %}
{% endif %} {% block panel %}{% endblock panel %}
{% block extra_body %}{% endblock extra_body %}