diff --git a/templates/index.html b/templates/index.html index baea888..3aeaefb 100644 --- a/templates/index.html +++ b/templates/index.html @@ -4989,92 +4989,12 @@ } // Load interfaces and initialize visualizations when switching modes - if (mode === 'wifi') { - refreshWifiInterfaces(); - initRadar(); - initWatchList(); - // Initialize v2 WiFi components - if (typeof WiFiMode !== 'undefined') { - WiFiMode.init(); - } - } else if (mode === 'bluetooth') { - refreshBtInterfaces(); - initBtRadar(); - } else if (mode === 'aprs') { - checkAprsTools(); - initAprsMap(); - // Fix map sizing on mobile after container becomes visible - setTimeout(() => { - if (aprsMap) aprsMap.invalidateSize(); - }, 100); - } else if (mode === 'satellite') { - initPolarPlot(); - initSatelliteList(); - } else if (mode === 'spystations') { - SpyStations.init(); - } else if (mode === 'meshtastic') { - Meshtastic.init(); - // Fix map sizing after container becomes visible - setTimeout(() => { - Meshtastic.invalidateMap(); - }, 100); - } else if (mode === 'meshcore') { - MeshCore.init(); - setTimeout(() => { - MeshCore.invalidateMap(); - }, 100); - } else if (mode === 'sstv') { - SSTV.init(); - setTimeout(() => { - if (typeof SSTV !== 'undefined' && SSTV.invalidateMap) SSTV.invalidateMap(); - }, 120); - } else if (mode === 'weathersat') { - WeatherSat.init(); - setTimeout(() => { - WeatherSat.invalidateMap(); - }, 100); - } else if (mode === 'sstv_general') { - SSTVGeneral.init(); - } else if (mode === 'gps') { - GPS.init(); - } else if (mode === 'websdr') { - if (typeof initWebSDR === 'function') initWebSDR(); - } else if (mode === 'subghz') { - SubGhz.init(); - } else if (mode === 'bt_locate') { - BtLocate.init(); - setTimeout(() => { - if (typeof BtLocate !== 'undefined' && BtLocate.invalidateMap) BtLocate.invalidateMap(); - }, 100); - setTimeout(() => { - if (typeof BtLocate !== 'undefined' && BtLocate.invalidateMap) BtLocate.invalidateMap(); - }, 320); - } else if (mode === 'wifi_locate') { - WiFiLocate.init(); - } else if (mode === 'wefax') { - WeFax.init(); - } else if (mode === 'spaceweather') { - SpaceWeather.init(); - } else if (mode === 'waterfall') { - if (typeof Waterfall !== 'undefined') Waterfall.init(); - } else if (mode === 'morse') { - MorseMode.init(); - } else if (mode === 'radiosonde') { - initRadiosondeWaveform(); - initRadiosondeMap(); - setTimeout(() => { - if (radiosondeMap) radiosondeMap.invalidateSize(); - }, 100); - } else if (mode === 'meteor') { - MeteorScatter.init(); - } else if (mode === 'system') { - SystemHealth.init(); - } else if (mode === 'ook') { - OokMode.init(); - } else if (mode === 'drone') { - if (typeof DroneMode !== 'undefined') { - DroneMode.init(); - setTimeout(() => { DroneMode.invalidateMap?.(); }, 100); + const modeDef = window.INTERCEPT_MODES[mode]; + if (modeDef && typeof modeDef.init === 'function') { + try { + modeDef.init(); + } catch (err) { + console.error(`Mode init failed for ${mode}:`, err); } } if (requestId !== modeSwitchRequestId) return;