feat: add GPS status endpoint and dashboard indicator

- add /api/gps/status for thread/fix-age visibility
- surface GPS status in Pi health and live GPS cards
- add tests for app_gps status snapshots

Co-authored-by: Copilot <[email protected]>
This commit is contained in:
Mathieu Moran
2026-08-10 18:18:14 -04:00
co-authored by Copilot
parent 675bffb4a4
commit be40bbc15f
6 changed files with 163 additions and 3 deletions
+12 -3
View File
@@ -87,6 +87,11 @@
<div class="text-uppercase text-muted fw-bold text-xs mb-1">Uptime</div>
<div id="pi-uptime" class="h6 text-dark fw-bold mb-0">--</div>
</div>
<div class="col-6 col-lg-3">
<div class="text-uppercase text-muted fw-bold text-xs mb-1">GPS</div>
<div id="pi-gps-status" class="h6 text-dark fw-bold mb-0">--</div>
<div id="pi-gps-detail" class="small text-muted">Waiting…</div>
</div>
</div>
</div>
</div>
@@ -97,9 +102,12 @@
<div class="card shadow-sm h-100">
<div class="card-header py-2 d-flex justify-content-between align-items-center">
<h6 class="text-primary fw-bold m-0">Live GPS</h6>
<button id="btn-recenter" class="btn btn-outline-secondary btn-sm" type="button" title="Recenter map" hidden>
<i class="fas fa-crosshairs" aria-hidden="true"></i>
</button>
<div class="d-flex align-items-center gap-2">
<span id="gps-live-badge" class="badge text-bg-secondary">Checking…</span>
<button id="btn-recenter" class="btn btn-outline-secondary btn-sm" type="button" title="Recenter map" hidden>
<i class="fas fa-crosshairs" aria-hidden="true"></i>
</button>
</div>
</div>
<div class="card-body p-0">
<div id="map"></div>
@@ -116,6 +124,7 @@
</div>
</div>
<div id="gps-location-name" class="text-muted small" style="font-size:0.75rem;min-height:1rem"></div>
<div id="gps-fix-detail" class="text-muted small mt-1" style="font-size:0.75rem;min-height:1rem">Waiting for GPS status…</div>
</div>
</div>
</div>