[object Object]

← back to Re Coverage Dashboard

href-drill: gauge counts + totals now href to /api/coverage (every data point drills to its source; TK-10377)

ca21edbd6f93bd2502edf9a049f23545b5250796 · 2026-08-08 15:18:56 -0700 · Steve

Files touched

Diff

commit ca21edbd6f93bd2502edf9a049f23545b5250796
Author: Steve <steve@designerwallcoverings.com>
Date:   Sat Aug 8 15:18:56 2026 -0700

    href-drill: gauge counts + totals now href to /api/coverage (every data point drills to its source; TK-10377)
---
 public/index.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/public/index.html b/public/index.html
index eba7a9f..498f406 100644
--- a/public/index.html
+++ b/public/index.html
@@ -117,13 +117,13 @@ async function refresh() {
   d.metrics.forEach(m => {
     gauges[m.key] && gauges[m.key].setTarget(m.pct);
     const c = document.getElementById('c_' + m.key);
-    if (c) c.textContent = `${(m.num || 0).toLocaleString()} / ${(m.den || 0).toLocaleString()} ${m.unit}`;
+    if (c) c.innerHTML = `<a href="/api/coverage" style="color:inherit;text-decoration:none">${(m.num || 0).toLocaleString()} / ${(m.den || 0).toLocaleString()} ${esc(m.unit || '')}</a>`;
   });
   const t = d.totals;
   document.getElementById('totals').innerHTML = [
     ['Sites found', t.sites_found], ['Phones found', t.phones_found],
     ['Agents searched', t.searched], ['Firm-linked', t.firm_linked],
-  ].map(([l, v]) => `<div class="tot"><b>${(v || 0).toLocaleString()}</b><span class="l">${l}</span></div>`).join('');
+  ].map(([l, v]) => `<div class="tot"><a href="/api/coverage" style="color:inherit;text-decoration:none"><b>${(v || 0).toLocaleString()}</b></a><span class="l">${l}</span></div>`).join('');
   document.getElementById('upd').textContent = 'updated ' + new Date(d.updated).toLocaleTimeString();
   const w = await fetch('/api/wins').then(r => r.json()).catch(() => ({ wins: [] }));
   const wl = document.getElementById('winlist');

← 2c9331a chore: lint (XSS esc fix), refactor (named consts, resilient  ·  back to Re Coverage Dashboard  ·  nav-agent: universal grid-controls drop-in on internal dashb cbc6293 →