summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-03-22 09:13:51 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-22 09:13:51 +0000
commitd8939199f129ccb1abcf0150012bc23209facf12 (patch)
treecbf4194482e7996b4699f1c7435c8dbfd12f59b2 /web
parent15a46b0e8d6fc9b986bce6b17b471c4a29cc950c (diff)
feat: color logo based on build version hash
Adds GET /api/version endpoint and uses the first 6 hex chars of the commit hash to derive an HSL hue for the header h1 logo color. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'web')
-rw-r--r--web/app.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/web/app.js b/web/app.js
index d26d051..1e10ad3 100644
--- a/web/app.js
+++ b/web/app.js
@@ -3097,6 +3097,23 @@ function switchTab(name) {
poll();
}
+// ── Version color ─────────────────────────────────────────────────────────────
+
+async function applyVersionColor() {
+ try {
+ const res = await fetch(`${BASE_PATH}/api/version`);
+ if (!res.ok) return;
+ const { version } = await res.json();
+ // Use first 6 hex chars of version as hue seed (works for commit hashes and "dev")
+ const hex = version.replace(/[^0-9a-f]/gi, '').slice(0, 6).padEnd(6, '0');
+ const hue = Math.round((parseInt(hex, 16) / 0xffffff) * 360);
+ const h1 = document.querySelector('header h1');
+ if (h1) h1.style.color = `hsl(${hue}, 70%, 55%)`;
+ } catch {
+ // non-fatal — logo stays default color
+ }
+}
+
// ── Boot ──────────────────────────────────────────────────────────────────────
if (typeof document !== 'undefined') {
@@ -3105,6 +3122,7 @@ if (typeof document !== 'undefined') {
handleStartNextTask(this);
});
+ applyVersionColor();
switchTab(getActiveMainTab());
startPolling();
connectWebSocket();