{% extends "base.html" %} {% block content %} {# ── Global maintenance control ───────────────────────────────────── #} {% set config = global_config %} {% include "partials/global_maintenance.html" with context %} {# ── Compute per-status counts for the summary bar ────────────────── #} {% set n_active = states | selectattr("status", "equalto", "active") | list | length %} {% set n_maintenance = states | selectattr("status", "equalto", "maintenance") | list | length %} {% set n_disabled = states | selectattr("status", "equalto", "disabled") | list | length %} {% set n_env_gated = states | selectattr("status", "equalto", "env_gated") | list | length %} {% set n_deprecated = states | selectattr("status", "equalto", "deprecated") | list | length %} {# ── Page title ───────────────────────────────────────────────────── #}

Routes

{{ states | length }} route{{ 's' if states | length != 1 else '' }} registered {% if n_maintenance > 0 %} · {{ n_maintenance }} in maintenance {% endif %} {% if n_disabled > 0 %} · {{ n_disabled }} disabled {% endif %}

{# Live indicator #}
Live
{% if states %} {# ── Status summary cards ─────────────────────────────────────────── #}
{{ n_active }}
Active
{{ n_maintenance }}
Maintenance
{{ n_disabled }}
Disabled
{{ n_env_gated }}
Env Gated
{{ n_deprecated }}
Deprecated
{# ── Routes table ─────────────────────────────────────────────────── #}
{% for state in states %} {% set path_slug = path_slug(state.path) %} {% include "partials/route_row.html" with context %} {% endfor %}
Path Status Actions
{% else %} {# ── Empty state ──────────────────────────────────────────────────── #}

No routes registered

Routes appear here once the application starts with ShieldRouter or ShieldMiddleware.

{% endif %} {% endblock %}