{# Patched Admin surface — drop into whilly/api/templates/_admin.html Context vars expected: admin.slack {token, channel, template, notify_on:{...}} admin.sources list of {kind, url, existing_only, status} admin.repos list of {name, branch, default, protected_files} admin.paused bool theme "light" | "dark" | "auto" #}
Admin · Slack
{% for key, label in [ ('complete','task.complete'), ('fail','task.fail'), ('human_loop','human_loop.required'), ('paused','workers.paused') ] %} {% endfor %}
Admin · Task sources
{% for s in admin.sources %} {% endfor %}
KindURL/ProjectExisting-onlyStatus
{{ s.kind }} {{ s.url }} {{ '✓' if s.existing_only else '—' }} {{ 'OK' if s.status == 'ok' else 'WARN' }}
Admin · Repo targets
{% for r in admin.repos %} {% endfor %}
RepoBranchDefaultProtected
{{ r.name }} {{ r.branch }} {{ '✓' if r.default else '—' }} {{ r.protected_files|join(', ') }}
Admin · Cluster control
{% if admin.paused %} {% else %} {% endif %}
{% for t in ['light','dark','auto'] %} {% endfor %}