mirror of
https://github.com/smittix/intercept.git
synced 2026-07-11 11:08:12 -07:00
fix(drone): conform to established SPA patterns throughout
- Device population: move refreshDroneDevices() inline to index.html
(same pattern as refreshTscmDevices) and call it from switchMode
alongside DroneMode.init(); remove _refreshDevices/populateSelect
from drone.js which was never guaranteed to run before lazy-load
completed, causing selects to stay on "Loading…" permanently
- IIFE pattern: change from named IIFE + window.DroneMode assignment
to var DroneMode = (function(){...return{...}})() matching OOK/
SpyStations convention
- Init guard: add _initialized flag (OOK state.initialized pattern);
re-entry after destroy() re-registers map/SSE cleanly without
duplicating click listeners on every mode switch
- Lifecycle: destroy() resets _initialized = false so map and SSE
are correctly rebuilt on re-entry
- Stop phase: add isDroneRunning tracking variable in index.html;
_setRunningUI() syncs it; switchMode stop phase now POSTs
/drone/stop when leaving drone mode while active, matching TSCM
- /drone/devices: add monitor_capable field to WiFi interfaces,
add running_as_root and warnings array to response (mirrors
/tscm/devices shape); add os import; show privilege warning div
in drone.html when not running as root
- drone.html: remove for= attribute from SDR label (plain <label>
inside .form-group matches TSCM convention); add droneDeviceWarnings
div for privilege warnings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
<div class="section">
|
||||
<h3>WiFi Interface</h3>
|
||||
<div class="form-group">
|
||||
<label for="droneWifiIface">Interface (monitor mode)</label>
|
||||
<label>Interface (monitor mode)</label>
|
||||
<select id="droneWifiIface">
|
||||
<option value="">Loading interfaces…</option>
|
||||
</select>
|
||||
@@ -29,7 +29,7 @@
|
||||
<div class="section">
|
||||
<h3>SDR Settings</h3>
|
||||
<div class="form-group">
|
||||
<label for="droneRtlIndex">RTL-SDR Device (433 MHz)</label>
|
||||
<label>RTL-SDR Device (433 MHz)</label>
|
||||
<select id="droneRtlIndex">
|
||||
<option value="">Loading devices…</option>
|
||||
</select>
|
||||
@@ -42,6 +42,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="droneDeviceWarnings" class="info-text" style="display:none; color:var(--accent-yellow); font-size:10px; padding: 0 4px;"></div>
|
||||
|
||||
<div class="section">
|
||||
<div style="display:flex; gap:8px;">
|
||||
<button id="droneStartBtn" class="run-btn" style="flex:1;">Start</button>
|
||||
|
||||
Reference in New Issue
Block a user