diff --git a/internal/web/static/index.html b/internal/web/static/index.html index bd7d4f3..3f511f4 100644 --- a/internal/web/static/index.html +++ b/internal/web/static/index.html @@ -21,6 +21,13 @@ .meta { color: #9aa0b4; } .pill { display: inline-block; font-size: 12px; letter-spacing: .15em; text-transform: uppercase; color: #7a8095; border: 1px solid #272b38; border-radius: 999px; padding: 3px 10px; } + .ev { margin-top: 18px; border-top: 1px solid #272b38; padding-top: 14px; } + .ev .now { font-size: 14px; color: #cdd2e0; } + .ev .health-ok { color: #5fd08a; } + .ev .health-bad { color: #e0b15f; } + .buckets { list-style: none; padding: 0; margin: 10px 0 0; font-size: 13px; color: #9aa0b4; } + .buckets li { display: flex; justify-content: space-between; padding: 2px 0; font-variant-numeric: tabular-nums; } + .switches { font-size: 13px; color: #7a8095; margin-top: 8px; }
@@ -47,6 +54,22 @@ function fmt(secs) { return `${m}:${s}`; } +function evidenceBlock(ev) { + if (!ev) return ''; + const health = ev.available + ? `tracking` + : `evidence unavailable: ${ev.reason || 'unknown'}`; + const now = ev.current && (ev.current.class || ev.current.title) + ? `${ev.current.class || '?'} · ${ev.current.title || ''}` : '—'; + const rows = (ev.buckets || []).map(b => + `Session ended
+ ${evidenceBlock(state.evidence)} `; document.getElementById('end').onclick = () => post('/end'); } else {