mirror of
https://github.com/smittix/intercept.git
synced 2026-07-09 10:08:12 -07:00
Fix multiple UI bugs and improve error handling
Issues fixed: - #113: Display RTL-SDR serial numbers in device selector - #112: Kill all processes now stops Bluetooth scans - #111: BLE device list no longer overflows container bounds - #109: WiFi scanner panels maintain minimum width (no more "imploding") - #108: Radar device hover no longer causes violent shaking - #106: "Use GPS" button now uses gpsd for USB GPS devices - #105: Meter trend text no longer overlaps adjacent columns - #104: dump1090 errors now provide specific troubleshooting guidance Changes: - app.py: Add Bluetooth cleanup to /killall endpoint - routes/adsb.py: Parse dump1090 stderr for specific error messages - templates/index.html: Show SDR serial numbers in device dropdown - static/css/index.css: Fix WiFi/BT panel layouts with proper min-width - static/css/components/signal-cards.css: Fix meter grid overflow - static/css/components/proximity-viz.css: Fix radar hover transform - static/css/settings.css: Add GPS detection spinner - static/js/components/proximity-radar.js: Add invisible hit areas - static/js/core/settings-manager.js: Use gpsd before browser geolocation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -207,9 +207,14 @@ const ProximityRadar = (function() {
|
||||
const pulseClass = isNew ? 'radar-dot-pulse' : '';
|
||||
const isSelected = selectedDeviceKey && device.device_key === selectedDeviceKey;
|
||||
|
||||
// Hit area size (prevents hover flicker when scaling)
|
||||
const hitAreaSize = Math.max(dotSize * 2, 15);
|
||||
|
||||
return `
|
||||
<g class="radar-device ${pulseClass}${isSelected ? ' selected' : ''}" data-device-key="${escapeAttr(device.device_key)}"
|
||||
transform="translate(${x}, ${y})" style="cursor: pointer;">
|
||||
<!-- Invisible hit area to prevent hover flicker -->
|
||||
<circle class="radar-device-hitarea" r="${hitAreaSize}" fill="transparent" />
|
||||
${isSelected ? `<circle r="${dotSize + 8}" fill="none" stroke="#00d4ff" stroke-width="2" stroke-opacity="0.8">
|
||||
<animate attributeName="r" values="${dotSize + 6};${dotSize + 10};${dotSize + 6}" dur="1.5s" repeatCount="indefinite"/>
|
||||
<animate attributeName="stroke-opacity" values="0.8;0.4;0.8" dur="1.5s" repeatCount="indefinite"/>
|
||||
|
||||
Reference in New Issue
Block a user