From faf427c897bc67dba0722037630ebdb1d3277d94 Mon Sep 17 00:00:00 2001 From: Ben Nicholson Date: Fri, 25 Sep 2026 23:20:41 +1000 Subject: [PATCH] Web UI: sticky save bar; drop the Force source dropdown Save/Revert/Reboot and the status message stay at the bottom of the window while the settings form is in view. The runtime source override stays in the API (listed in the page's API box) but is no longer on the page, where it duplicated the saved source mode. Co-Authored-By: Claude Opus 5.5 --- web/index.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/web/index.html b/web/index.html index 37ac459..786caa7 100644 --- a/web/index.html +++ b/web/index.html @@ -20,13 +20,14 @@ input:not([type=checkbox]),select{width:14em;max-width:100%} textarea{width:100%;height:14em;font:12px monospace} table td:first-child{padding-right:1em;opacity:.7} pre{overflow-x:auto} -#msg{min-height:1.4em} +#msg{margin-left:1em} +/* Save bar: stays at the bottom of the window while the settings form is in view */ +.bar{position:sticky;bottom:0;background:Canvas;padding:8px 0;border-top:1px solid color-mix(in srgb,CanvasText 20%,transparent)} .ok{color:#2a2}.warn{color:#d80}.bad{color:#e33}

AES67 device

-

Status
PTP status
@@ -44,9 +45,6 @@ pre{overflow-x:auto} -
API
 GET  /api/player                 state, track, position, volume
 POST /api/player/play|pause|toggle|stop|next|prev
@@ -188,9 +186,12 @@ e.g. curl -X POST http://p4-aes67.local/api/player/next
 
 
+
+ +
SDP @@ -261,7 +262,6 @@ function showPlayer(p) { `[${p.source}] ${p.state}: ${[p.artist, p.title].filter(Boolean).join(' – ') || '–'}`; const v = document.getElementById('vol'); if (document.activeElement !== v) v.value = p.volume; - document.getElementById('force').value = p.forced || 'config'; } /* ===== PROJECT END ===== */