diff --git a/public/app.js b/public/app.js index 87305ad..783da8c 100644 --- a/public/app.js +++ b/public/app.js @@ -383,6 +383,12 @@ document.getElementById('btn-save').addEventListener('click', async () => { }); try { + // Fetch current config. + const cr = await fetch(API + '/config'); + const cj = await cr.json(); + const cfg = cj.data || {}; + cfg.cameras = updatedCameras; + // Include auth settings from the management card. const authEnabled = document.querySelector('[data-auth="auth-enabled"]')?.checked || false; const masterUser = document.querySelector('[data-auth="master-user"]')?.value || ''; @@ -390,23 +396,15 @@ document.getElementById('btn-save').addEventListener('click', async () => { const viewerUser = document.querySelector('[data-auth="viewer-user"]')?.value || ''; const viewerPass = document.querySelector('[data-auth="viewer-pass"]')?.value || ''; const viewerEnabled = document.querySelector('[data-auth="viewer-enabled"]')?.checked || false; - + cfg.auth = cfg.auth || {}; cfg.auth.enabled = authEnabled; - cfg.auth.master = cfg.auth.master || {}; cfg.auth.master.username = masterUser; - cfg.auth.viewer = cfg.auth.viewer || {}; cfg.auth.viewer.username = viewerUser; cfg.auth.viewer.enabled = viewerEnabled || false; if (masterPass) { cfg.auth.master.password = masterPass; cfg.auth.master.enabled = true; } if (viewerPass) { cfg.auth.viewer.password = viewerPass; } - // Fetch current config, then post updated version. - const cr = await fetch(API + '/config'); - const cj = await cr.json(); - const cfg = cj.data || {}; - cfg.cameras = updatedCameras; - const r = await fetch(API + '/config', { method: 'POST', headers: { 'Content-Type': 'application/json' },