{% extends "ui/_layout.html" %} {% block title %}Dashboard - bty-web{% endblock %} {% block content %}

Dashboard

live
{# The counter cards subscribe to /events/machines via SSE; the server publishes a fresh ``dashboard-counts`` HTML fragment on every machine mutation and image upload, which htmx-ext-sse swaps in below. ``sse-target`` opts the swap target into the layout-level "flash green when content changes" animation. #}
{% include "ui/_dashboard_counts.html" %}
{# Recent activity slice -- reuses the per-subject events card. Static at request time (reload to refresh); the live SSE stream is wired to the counters above, not here. #} {% with events=recent_events, title="Recent activity", link_to_full="/ui/events" %} {% include "ui/_events_card.html" %} {% endwith %} {% endblock %}