From 890393550b9775f4fbd51b39f12596b8b9a4da37 Mon Sep 17 00:00:00 2001 From: Jan Svabenik Date: Sun, 22 Mar 2026 22:54:25 +0100 Subject: [PATCH] Restore prominent RDS labels in signals list --- web/app.js | 13 ++++++++++++- web/style.css | 6 ++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/web/app.js b/web/app.js index 1ff44f4..dbd5750 100644 --- a/web/app.js +++ b/web/app.js @@ -1534,17 +1534,28 @@ function _patchSignalItem(el, s) { const mod = s.class?.mod_type || ''; const primaryMode = getSignalPrimaryMode(s); const mc = modColor(primaryMode); + const rds = s.class?.pll?.rds_station || ''; + const rdsEl = el.querySelector('[data-field="rds"]'); const dec = decisionIndex.get(String(s.id || 0)); const decText = dec?.reason ? `${dec.reason}` : ''; const decFlags = dec ? `${dec.record ? 'REC' : ''}${dec.decode ? (dec.record ? '+DEC' : 'DEC') : ''}` : ''; const metaBits = []; if (decFlags) metaBits.push(decFlags); if (decText) metaBits.push(decText); - if (s.class?.pll?.rds_station) metaBits.push(`RDS ${s.class.pll.rds_station}`); el.title = metaBits.join(' ยท '); if (freqEl) freqEl.textContent = fmtMHz(s.center_hz, 6); if (snrEl) { snrEl.textContent = `${(s.snr_db || 0).toFixed(1)} dB`; snrEl.style.color = snrColor(s.snr_db || 0); } if (modeEl) { modeEl.textContent = primaryMode; modeEl.style.color = mc.label; } + if (rdsEl) { + rdsEl.textContent = rds; + rdsEl.style.display = rds ? '' : 'none'; + } else if (rds) { + const span = document.createElement('span'); + span.className = 'item-meta item-meta--rds'; + span.dataset.field = 'rds'; + span.textContent = rds; + el.querySelector('.item-bottom')?.appendChild(span); + } el.dataset.center = s.center_hz; el.dataset.bw = s.bw_hz || 0; el.dataset.class = mod; diff --git a/web/style.css b/web/style.css index 4f0fe67..611698a 100644 --- a/web/style.css +++ b/web/style.css @@ -442,6 +442,12 @@ input[type="range"]::-moz-range-thumb { color: var(--accent); font-weight: 700; } +.item-meta--rds { + color: #fff; + font-weight: 800; + font-size: 0.78rem; + letter-spacing: 0.01em; +} /* Health Grid */ .health-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }