diff --git a/static/css/index.css b/static/css/index.css index 56954b2..8c9c72f 100644 --- a/static/css/index.css +++ b/static/css/index.css @@ -3553,20 +3553,28 @@ header h1 .tagline { font-weight: 600; } -.wifi-status-indicator { - width: 8px; - height: 8px; - border-radius: 50%; - background: #666; +.wifi-scan-indicator { + margin-left: auto; + display: flex; + align-items: center; + gap: 6px; + font-size: 10px; + color: var(--accent-cyan); + letter-spacing: 0.5px; } -.wifi-status-indicator.idle { background: #666; } -.wifi-status-indicator.scanning { background: var(--accent-green); animation: pulse 1s infinite; } -.wifi-status-indicator.error { background: var(--accent-red); } +.wifi-scan-dot { + width: 7px; + height: 7px; + border-radius: 50%; + background: var(--accent-cyan); + display: none; + animation: wifi-scan-pulse 1.2s ease-in-out infinite; +} -@keyframes pulse { - 0%, 100% { opacity: 1; } - 50% { opacity: 0.5; } +@keyframes wifi-scan-pulse { + 0%, 100% { opacity: 1; transform: scale(1); } + 50% { opacity: 0.4; transform: scale(0.7); } } /* WiFi Main Content - 3 columns */ diff --git a/static/js/modes/wifi.js b/static/js/modes/wifi.js index 787ea66..dbd15f4 100644 --- a/static/js/modes/wifi.js +++ b/static/js/modes/wifi.js @@ -190,7 +190,8 @@ const WiFiMode = (function() { scanModeDeep: document.getElementById('wifiScanModeDeep'), // Status bar - scanStatus: document.getElementById('wifiScanStatus'), + scanIndicator: document.getElementById('wifiScanIndicator'), + openCount: document.getElementById('wifiOpenCount'), networkCount: document.getElementById('wifiNetworkCount'), clientCount: document.getElementById('wifiClientCount'), hiddenCount: document.getElementById('wifiHiddenCount'), @@ -210,12 +211,6 @@ const WiFiMode = (function() { zoneNear: document.getElementById('wifiZoneNear'), zoneFar: document.getElementById('wifiZoneFar'), - // Security counts - wpa3Count: document.getElementById('wpa3Count'), - wpa2Count: document.getElementById('wpa2Count'), - wepCount: document.getElementById('wepCount'), - openCount: document.getElementById('openCount'), - // Detail drawer detailDrawer: document.getElementById('wifiDetailDrawer'), detailEssid: document.getElementById('wifiDetailEssid'), @@ -669,12 +664,12 @@ const WiFiMode = (function() { } // Update status - if (elements.scanStatus) { - elements.scanStatus.textContent = scanning - ? `Scanning (${scanMode === 'quick' ? 'Quick' : 'Deep'})...` - : 'Idle'; - elements.scanStatus.className = scanning ? 'status-scanning' : 'status-idle'; - } + const dot = elements.scanIndicator?.querySelector('.wifi-scan-dot'); + const text = elements.scanIndicator?.querySelector('.wifi-scan-text'); + if (dot) dot.style.display = scanning ? 'inline-block' : 'none'; + if (text) text.textContent = scanning + ? `SCANNING (${scanMode === 'quick' ? 'Quick' : 'Deep'})` + : 'IDLE'; } async function checkScanStatus() { @@ -1497,9 +1492,6 @@ const WiFiMode = (function() { else if (sec === 'open' || sec === '') securityCounts.open++; }); - if (elements.wpa3Count) elements.wpa3Count.textContent = securityCounts.wpa3; - if (elements.wpa2Count) elements.wpa2Count.textContent = securityCounts.wpa2; - if (elements.wepCount) elements.wepCount.textContent = securityCounts.wep; if (elements.openCount) elements.openCount.textContent = securityCounts.open; // Update zone summary diff --git a/templates/index.html b/templates/index.html index 6485d77..660312f 100644 --- a/templates/index.html +++ b/templates/index.html @@ -834,9 +834,13 @@ Hidden: 0 -
- - Ready +
+ Open: + 0 +
+
+ + IDLE