From b908f394ed8f937d735689f4132e692806baf76b Mon Sep 17 00:00:00 2001 From: serversdown Date: Thu, 11 Jun 2026 06:05:09 +0000 Subject: [PATCH] =?UTF-8?q?feat(portal):=20M2a=20=E2=80=94=20live=20status?= =?UTF-8?q?=20map=20+=20status=20rollup=20on=20the=20overview?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reuses the existing per-location /live fetch (no backend change): - Map dots recolor live by current level (green/amber/red bands, grey when not measuring/offline) and the tooltip shows the live Leq. Bands are placeholders until M2 alert thresholds drive the color. - Status rollup header: total locations, # live vs offline, and a "Loudest now" Leq callout. Aggregated each 15s refresh. Refactored the refresh into refreshAll() (Promise.all over loadTile -> updateRollup); loadTile now also feeds liveState + recolors the matching map dot. Co-Authored-By: Claude Opus 4.8 --- templates/portal/overview.html | 124 +++++++++++++++++++++++++++------ 1 file changed, 103 insertions(+), 21 deletions(-) diff --git a/templates/portal/overview.html b/templates/portal/overview.html index acd82f6..4f01d3d 100644 --- a/templates/portal/overview.html +++ b/templates/portal/overview.html @@ -8,6 +8,22 @@

Live sound levels for your active locations. Read-only.

{% if locations %} + + +
@@ -38,6 +54,20 @@ {% endblock %}