{% extends "ui/_layout.html" %} {% block title %}Dashboard - bty-web{% endblock %} {% block subnav %} {# In-page jump links to the dashboard's panels, separated by rules. #} {% endblock %} {% block intro %} {% from "ui/_intro_box.html" import render as intro_box %} {% call intro_box() %} Fleet overview. Counters and recent activity update live as machines check in via PXE, operators bind catalog entries to MACs, image uploads complete, and target boxes signal flash-done. Drill into any count to see the underlying rows. {% endcall %} {% endblock %} {% block content %} {# Top row: three independent, equally-spaced panels. Each is a direct grid column so Bootstrap's gutters apply uniformly (an earlier display:contents wrapper bundled Machine + Images and ate their gutter). The row opens one SSE connection; the Machine Summary + Images columns each swap their own event (``dashboard-machine`` / ``dashboard-images``) live on machine mutations / image changes. Health Monitoring is rendered at request time (reload to refresh) -- its checks shell out, so we don't want them on every check-in. #}