소스 검색

fix: polish gui labels and popover layout

master
Jan Svabenik 3 일 전
부모
커밋
06b2a9a1d7
3개의 변경된 파일10개의 추가작업 그리고 5개의 파일을 삭제
  1. +7
    -2
      web/app.js
  2. +2
    -2
      web/index.html
  3. +1
    -1
      web/style.css

+ 7
- 2
web/app.js 파일 보기

@@ -224,8 +224,12 @@ function renderSignalPopover(rect, signal) {
return `<div class="signal-popover__row"><span>${label}</span><span class="signal-popover__bar"><span class="signal-popover__fill" style="width:${width}%"></span></span><span>${Number(value).toFixed(2)}</span></div>`;
}).join('');
signalPopover.innerHTML = `<div class="signal-popover__title">${signal.class?.mod_type || 'Signal'}</div><div class="signal-popover__meta">${fmtMHz(signal.center_hz, 5)} · ${fmtKHz(signal.bw_hz || 0)} · ${(signal.snr_db || 0).toFixed(1)} dB SNR</div><div class="signal-popover__scores">${rows || '<div class="signal-popover__meta">No classifier scores</div>'}</div>`;
signalPopover.style.left = `${Math.max(8, rect.x + rect.w + 8)}px`;
signalPopover.style.top = `${Math.max(8, rect.y + 8)}px`;
const popW = 220;
const left = rect.x + rect.w + 8;
const top = rect.y + 8;
const maxLeft = Math.max(8, spectrumCanvas.width - popW - 8);
signalPopover.style.left = `${Math.max(8, Math.min(maxLeft, left))}px`;
signalPopover.style.top = `${Math.max(8, top)}px`;
signalPopover.classList.add('open');
signalPopover.setAttribute('aria-hidden', 'false');
}
@@ -1650,3 +1654,4 @@ setInterval(fetchRecordings, 5000);
setInterval(loadSignals, 1500);
setInterval(loadDecoders, 10000);



+ 2
- 2
web/index.html 파일 보기

@@ -83,10 +83,10 @@
<div class="viz-card">
<div class="viz-head">
<span class="viz-label">Spectrum</span>
<span class="viz-hint" id="spectrumMeta">Wheel = zoom · Drag = pan · Dbl-click = reset</span>
<span class="viz-hint" id="spectrumMeta">Wheel = zoom · Drag = pan · Double-click = reset</span>
<span class="viz-legend" id="cfarLegend">
<span class="legend-swatch"></span>
CFAR edge (static threshold)
Adaptive CFAR threshold
</span>
</div>
<canvas id="spectrum"></canvas>


+ 1
- 1
web/style.css 파일 보기

@@ -214,7 +214,7 @@ button, input, select { font: inherit; }

canvas { display: block; width: 100%; height: 100%; border-radius: var(--r-sm); background: #030508; }
.signal-popover {
position: absolute; z-index: 8; pointer-events: none; min-width: 180px;
position: absolute; z-index: 8; pointer-events: none; min-width: 180px; max-width: 220px;
padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line-hi);
background: rgba(6, 10, 18, 0.94); box-shadow: 0 18px 50px rgba(0,0,0,0.38);
font-size: 0.72rem; color: var(--text); display: none;


불러오는 중...
취소
저장