(message, type = 'info')
| 12022 | // CREDENTIALS AND LOOT FUNCTIONS |
| 12023 | // ============================================================================ |
| 12024 | |
| 12025 | function escapeHtml(text) { |
| 12026 | const div = document.createElement('div'); |
| 12027 | div.textContent = text; |
| 12028 | return div.innerHTML; |
| 12029 | } |
| 12030 | |
| 12031 | async function loadConfigData() { |
| 12032 | try { |
| 12033 | const config = await fetchAPI('/api/config'); |
| 12034 | displayConfigForm(config); |
| 12035 | |
| 12036 | // Reflect the server-stored RuSense tab visibility on the toggle here. |
| 12037 | syncRusenseTabFromServer(config); |
| 12038 | syncMeshTabFromServer(config); |
| 12039 | |
| 12040 | // Load AI configuration |
| 12041 | loadAIConfiguration(config); |
| 12042 | |
| 12043 | // Load Pushover configuration |
| 12044 | loadPushoverConfiguration(config); |
| 12045 | |
| 12046 | // Load hardware profiles |
| 12047 | await loadHardwareProfiles(); |
| 12048 | |
| 12049 | // Display current profile if set |
| 12050 | displayCurrentProfile(config); |
| 12051 | |
| 12052 | // Update vulnerability count in data management card |
no test coverage detected