fix: use element IDs for auth checkboxes — reliable checked state

This commit is contained in:
Claus Lohmar 2026-08-06 19:02:21 +01:00
parent f548ec8fe2
commit 700a0ab4f0

View file

@ -269,7 +269,7 @@ async function renderCameraCards() {
<label>Username <input type="text" value="${escAttr(config?.auth?.master?.username || '')}" data-auth="master-user"></label> <label>Username <input type="text" value="${escAttr(config?.auth?.master?.username || '')}" data-auth="master-user"></label>
<label>Password <input type="password" placeholder="new password" data-auth="master-pass"></label> <label>Password <input type="password" placeholder="new password" data-auth="master-pass"></label>
<div class="row" style="margin-top:8px"> <div class="row" style="margin-top:8px">
<label>Require login on port 8080 <input type="checkbox" ${config?.auth?.enabled ? 'checked' : ''} data-auth="auth-enabled" style="width:auto"></label> <label>Require login on port 8080 <input type="checkbox" id="auth-enable" ${config?.auth?.enabled ? 'checked' : ''} style="width:auto"></label>
</div> </div>
</div> </div>
<div style="flex:1;min-width:200px"> <div style="flex:1;min-width:200px">
@ -277,7 +277,7 @@ async function renderCameraCards() {
<label>Username <input type="text" value="${escAttr(config?.auth?.viewer?.username || '')}" data-auth="viewer-user"></label> <label>Username <input type="text" value="${escAttr(config?.auth?.viewer?.username || '')}" data-auth="viewer-user"></label>
<label>Password <input type="password" placeholder="new password" data-auth="viewer-pass"></label> <label>Password <input type="password" placeholder="new password" data-auth="viewer-pass"></label>
<div class="row" style="margin-top:8px"> <div class="row" style="margin-top:8px">
<label>Enable local view access <input type="checkbox" ${config?.auth?.viewer?.enabled ? 'checked' : ''} data-auth="viewer-enabled" style="width:auto"></label> <label>Enable local view access <input type="checkbox" id="viewer-enable" ${config?.auth?.viewer?.enabled ? 'checked' : ''} style="width:auto"></label>
</div> </div>
</div> </div>
</div> </div>
@ -420,12 +420,12 @@ document.getElementById('btn-save').addEventListener('click', async () => {
cfg.cameras = updatedCameras; cfg.cameras = updatedCameras;
// Include auth settings from the management card. // Include auth settings from the management card.
const authEnabled = document.querySelector('[data-auth="auth-enabled"]')?.checked || false; const authEnabled = document.getElementById('auth-enable')?.checked || false;
const masterUser = document.querySelector('[data-auth="master-user"]')?.value || ''; const masterUser = document.querySelector('[data-auth="master-user"]')?.value || '';
const masterPass = document.querySelector('[data-auth="master-pass"]')?.value || ''; const masterPass = document.querySelector('[data-auth="master-pass"]')?.value || '';
const viewerUser = document.querySelector('[data-auth="viewer-user"]')?.value || ''; const viewerUser = document.querySelector('[data-auth="viewer-user"]')?.value || '';
const viewerPass = document.querySelector('[data-auth="viewer-pass"]')?.value || ''; const viewerPass = document.querySelector('[data-auth="viewer-pass"]')?.value || '';
const viewerEnabled = document.querySelector('[data-auth="viewer-enabled"]')?.checked || false; const viewerEnabled = document.getElementById('viewer-enable')?.checked || false;
cfg.auth = cfg.auth || {}; cfg.auth = cfg.auth || {};
cfg.auth.enabled = authEnabled; cfg.auth.enabled = authEnabled;