()
| 9474 | addConsoleMessage('All tabs preloaded and ready', 'success'); |
| 9475 | |
| 9476 | } catch (error) { |
| 9477 | console.error('Error during tab preloading:', error); |
| 9478 | } |
| 9479 | } |
| 9480 | |
| 9481 | async function loadTabData(tabName) { |
| 9482 | // If tab was already preloaded, skip reloading unless it's a dynamic tab |
| 9483 | // System and netkb always load (they use polling/intervals) |
| 9484 | // Network and threat-intel always refresh for up-to-date data |
| 9485 | const alreadyPreloaded = preloadedTabs.has(tabName); |
| 9486 | |
| 9487 | switch(tabName) { |
| 9488 | case 'terminal': |
| 9489 | initTerminal(); |
| 9490 | break; |
| 9491 | case 'rusense': |
| 9492 | initRusense(); |
| 9493 | break; |
| 9494 | case 'dashboard': |
| 9495 | // Load dashboard stats immediately, defer console logs |
| 9496 | await loadDashboardData(); |
| 9497 | setTimeout(() => loadConsoleLogs(), 50); |
| 9498 | break; |
| 9499 | case 'network': |
| 9500 | // Always refresh network data when switching to this tab |
| 9501 | await loadNetworkData(); |
| 9502 | break; |
| 9503 | case 'wifidef': |
| 9504 | initWifiDefense(); |
| 9505 | break; |
| 9506 | case 'networks': |
| 9507 | if (!alreadyPreloaded) { |
| 9508 | await loadAllNetworksData(); |
| 9509 | } |
| 9510 | break; |
| 9511 | case 'connect': |
| 9512 | if (!alreadyPreloaded) { |
| 9513 | await loadConnectData(); |
| 9514 | } else { |
| 9515 | await refreshWifiStatus().catch(err => console.warn('WiFi refresh failed:', err)); |
| 9516 | await refreshEthernetStatus().catch(err => console.warn('LAN refresh failed:', err)); |
| 9517 | await refreshBluetoothStatus().catch(err => console.warn('Bluetooth refresh failed:', err)); |
| 9518 | } |
| 9519 | break; |
| 9520 | case 'mesh': |
| 9521 | // Always refresh: the point of the tab is current peer state. |
| 9522 | await refreshMesh(false); |
| 9523 | break; |
| 9524 | case 'pentest': |
| 9525 | if (manualModeActive) { |
| 9526 | await loadPentestData(); |
| 9527 | checkAirSnitchInstalled(); |
| 9528 | populateAirSnitchInterfaceDropdowns(); |
| 9529 | refreshAirSnitchResults(); |
| 9530 | } else { |
| 9531 | addConsoleMessage('Enable Pentest Mode to access the Pentest tab', 'warning'); |
| 9532 | showTab('dashboard'); |
| 9533 | } |
nothing calls this directly
no test coverage detected