{% load static lucide ui %} {% comment %} Standalone shell for the control panel -- does NOT extend templates/_base.html or _platform_base.html, and does not load assets/app.css or daisyUI. This surface is platform-staff-only, desktop-only (see design_handoff_rosterchief_platform/README.md: "Control panel ... Desktop only"), and deliberately never club-branded, so it gets its own document shell, its own stylesheet (assets/controlpanel.css -> static/css/controlpanel.css) and its own type system (Barlow / Barlow Condensed / IBM Plex Mono) rather than inheriting the club-facing app's theme. No mobile nav, no theme toggle -- neither exists in the design. {% endcomment %} {% block title %}{% block panel_title %}Control panel{% endblock panel_title %} ยท RosterChief{% endblock title %} {% block extra_head %}{% endblock extra_head %} {% comment %} App-shell layout: the command bar and breadcrumb strip are pinned,
is the only scrolling region -- same reasoning templates/_base.html gives for the club-facing shell. {% endcomment %}
{# The real mark, not the .crest clip-path fallback (that's for clubs with no logo of their own) -- white-on-dark variant for this bar. #} RosterChief control
{% block actions %}{% endblock actions %}
{% comment %} Native
/ disclosure -- no JS needed for a menu this small. Only the account/system info on the right, grouped with the status indicator. {% endcomment %} {% comment %} Real, not decorative. Three states, most severe wins: maintenance (reflects features.models.Maintenance, the same switch the Features tab's "Close the platform" action controls) beats recent job failures (failed_jobs, from controlpanel.context_processors.job_health -- see features/models.JobRun) beats "all systems ok". Links to where you'd go to do something about it. {% endcomment %} {% if maintenance_on %} maintenance mode {% elif failed_jobs %} {{ failed_jobs|length }} job failure{{ failed_jobs|length|pluralize }} {% else %}
all systems ok
{% endif %}
{% block breadcrumb %}control{% endblock breadcrumb %}
{% block strip_right %}{% endblock strip_right %}
{% if maintenance_on %} {% 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 %}