{% extends "base.html" %}
{% block title %}Voxint — dashboard{% endblock %}
{% block body %}
Dashboard
Run health and throughput at a glance — the same figures as
GET /metrics and voxint stats, refreshed automatically.
{# In-page window picker (issue #56). Options are exactly the strings parse_since
already accepts, so this needs no new parsing; an empty ?since= defaults to
24h, so "24h" is selected then too. A plain GET reloads the page, which
re-seeds the 15s htmx poll below with the chosen window. #}
{# The htmx poll re-requests /dashboard every 15s; the route answers the
HX-Request with just the fragment below, swapped into this container so the
page chrome and nav are untouched. The active ?since= is baked into the poll
URL so a custom window survives the refresh (htmx does not inherit the page's
query string). innerHTML swaps the contents, so this polling container — and
its hx-get — persists unchanged across polls. #}