mirror of
https://github.com/smittix/intercept.git
synced 2026-07-22 00:08:10 -07:00
feat(wifi): enhanced status bar with open count and scan indicator
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+19
-11
@@ -3553,20 +3553,28 @@ header h1 .tagline {
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wifi-status-indicator {
|
.wifi-scan-indicator {
|
||||||
width: 8px;
|
margin-left: auto;
|
||||||
height: 8px;
|
display: flex;
|
||||||
border-radius: 50%;
|
align-items: center;
|
||||||
background: #666;
|
gap: 6px;
|
||||||
|
font-size: 10px;
|
||||||
|
color: var(--accent-cyan);
|
||||||
|
letter-spacing: 0.5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wifi-status-indicator.idle { background: #666; }
|
.wifi-scan-dot {
|
||||||
.wifi-status-indicator.scanning { background: var(--accent-green); animation: pulse 1s infinite; }
|
width: 7px;
|
||||||
.wifi-status-indicator.error { background: var(--accent-red); }
|
height: 7px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: var(--accent-cyan);
|
||||||
|
display: none;
|
||||||
|
animation: wifi-scan-pulse 1.2s ease-in-out infinite;
|
||||||
|
}
|
||||||
|
|
||||||
@keyframes pulse {
|
@keyframes wifi-scan-pulse {
|
||||||
0%, 100% { opacity: 1; }
|
0%, 100% { opacity: 1; transform: scale(1); }
|
||||||
50% { opacity: 0.5; }
|
50% { opacity: 0.4; transform: scale(0.7); }
|
||||||
}
|
}
|
||||||
|
|
||||||
/* WiFi Main Content - 3 columns */
|
/* WiFi Main Content - 3 columns */
|
||||||
|
|||||||
+8
-16
@@ -190,7 +190,8 @@ const WiFiMode = (function() {
|
|||||||
scanModeDeep: document.getElementById('wifiScanModeDeep'),
|
scanModeDeep: document.getElementById('wifiScanModeDeep'),
|
||||||
|
|
||||||
// Status bar
|
// Status bar
|
||||||
scanStatus: document.getElementById('wifiScanStatus'),
|
scanIndicator: document.getElementById('wifiScanIndicator'),
|
||||||
|
openCount: document.getElementById('wifiOpenCount'),
|
||||||
networkCount: document.getElementById('wifiNetworkCount'),
|
networkCount: document.getElementById('wifiNetworkCount'),
|
||||||
clientCount: document.getElementById('wifiClientCount'),
|
clientCount: document.getElementById('wifiClientCount'),
|
||||||
hiddenCount: document.getElementById('wifiHiddenCount'),
|
hiddenCount: document.getElementById('wifiHiddenCount'),
|
||||||
@@ -210,12 +211,6 @@ const WiFiMode = (function() {
|
|||||||
zoneNear: document.getElementById('wifiZoneNear'),
|
zoneNear: document.getElementById('wifiZoneNear'),
|
||||||
zoneFar: document.getElementById('wifiZoneFar'),
|
zoneFar: document.getElementById('wifiZoneFar'),
|
||||||
|
|
||||||
// Security counts
|
|
||||||
wpa3Count: document.getElementById('wpa3Count'),
|
|
||||||
wpa2Count: document.getElementById('wpa2Count'),
|
|
||||||
wepCount: document.getElementById('wepCount'),
|
|
||||||
openCount: document.getElementById('openCount'),
|
|
||||||
|
|
||||||
// Detail drawer
|
// Detail drawer
|
||||||
detailDrawer: document.getElementById('wifiDetailDrawer'),
|
detailDrawer: document.getElementById('wifiDetailDrawer'),
|
||||||
detailEssid: document.getElementById('wifiDetailEssid'),
|
detailEssid: document.getElementById('wifiDetailEssid'),
|
||||||
@@ -669,12 +664,12 @@ const WiFiMode = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Update status
|
// Update status
|
||||||
if (elements.scanStatus) {
|
const dot = elements.scanIndicator?.querySelector('.wifi-scan-dot');
|
||||||
elements.scanStatus.textContent = scanning
|
const text = elements.scanIndicator?.querySelector('.wifi-scan-text');
|
||||||
? `Scanning (${scanMode === 'quick' ? 'Quick' : 'Deep'})...`
|
if (dot) dot.style.display = scanning ? 'inline-block' : 'none';
|
||||||
: 'Idle';
|
if (text) text.textContent = scanning
|
||||||
elements.scanStatus.className = scanning ? 'status-scanning' : 'status-idle';
|
? `SCANNING (${scanMode === 'quick' ? 'Quick' : 'Deep'})`
|
||||||
}
|
: 'IDLE';
|
||||||
}
|
}
|
||||||
|
|
||||||
async function checkScanStatus() {
|
async function checkScanStatus() {
|
||||||
@@ -1497,9 +1492,6 @@ const WiFiMode = (function() {
|
|||||||
else if (sec === 'open' || sec === '') securityCounts.open++;
|
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;
|
if (elements.openCount) elements.openCount.textContent = securityCounts.open;
|
||||||
|
|
||||||
// Update zone summary
|
// Update zone summary
|
||||||
|
|||||||
@@ -834,9 +834,13 @@
|
|||||||
<span class="wifi-status-label">Hidden:</span>
|
<span class="wifi-status-label">Hidden:</span>
|
||||||
<span class="wifi-status-value" id="wifiHiddenCount">0</span>
|
<span class="wifi-status-value" id="wifiHiddenCount">0</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="wifi-status-item" id="wifiScanStatus">
|
<div class="wifi-status-item">
|
||||||
<span class="wifi-status-indicator idle"></span>
|
<span class="wifi-status-label">Open:</span>
|
||||||
<span>Ready</span>
|
<span class="wifi-status-value" id="wifiOpenCount" style="color:var(--accent-red);">0</span>
|
||||||
|
</div>
|
||||||
|
<div class="wifi-scan-indicator" id="wifiScanIndicator">
|
||||||
|
<span class="wifi-scan-dot"></span>
|
||||||
|
<span class="wifi-scan-text">IDLE</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user