Store admin key in localStorage for unlock forms
This commit is contained in:
@@ -216,7 +216,7 @@ $submitted_key = trim($_POST['admin_key_input'] ?? $_POST['admin_key_hidden']
|
||||
<div class="lock-sub">GridTV is already configured.<br>Enter your admin key to edit the settings.</div>
|
||||
<form method="POST" action="setup.php">
|
||||
<div class="lock-form">
|
||||
<input type="password" name="admin_key_input" placeholder="Your admin key" autofocus autocomplete="off">
|
||||
<input type="password" id="setupAdminKeyInput" name="admin_key_input" placeholder="Your admin key" autofocus autocomplete="off">
|
||||
<button type="submit" class="btn-submit" style="width:auto;padding:10px 20px;">Unlock</button>
|
||||
</div>
|
||||
</form>
|
||||
@@ -349,6 +349,41 @@ function syncPersonalM3uToggle() {
|
||||
}
|
||||
allowPersonalEpgToggle?.addEventListener('change', syncPersonalM3uToggle);
|
||||
syncPersonalM3uToggle();
|
||||
|
||||
const GRIDTV_ADMIN_KEY_STORAGE = 'gridtv-admin-key';
|
||||
const setupAdminKeyInput = document.getElementById('setupAdminKeyInput');
|
||||
const setupAdminHiddenInput = document.querySelector('input[name="admin_key_hidden"]');
|
||||
|
||||
try {
|
||||
const savedAdminKey = localStorage.getItem(GRIDTV_ADMIN_KEY_STORAGE) || '';
|
||||
if (setupAdminKeyInput && savedAdminKey) setupAdminKeyInput.value = savedAdminKey;
|
||||
if (setupAdminHiddenInput && savedAdminKey) setupAdminHiddenInput.value = savedAdminKey;
|
||||
} catch (_) {}
|
||||
|
||||
if (setupAdminKeyInput?.form) {
|
||||
setupAdminKeyInput.form.addEventListener('submit', () => {
|
||||
try {
|
||||
localStorage.setItem(GRIDTV_ADMIN_KEY_STORAGE, setupAdminKeyInput.value.trim());
|
||||
} catch (_) {}
|
||||
});
|
||||
}
|
||||
|
||||
if (setupAdminHiddenInput?.form) {
|
||||
const persistHiddenAdminKey = () => {
|
||||
try {
|
||||
const currentKey = setupAdminHiddenInput.value.trim();
|
||||
if (currentKey) localStorage.setItem(GRIDTV_ADMIN_KEY_STORAGE, currentKey);
|
||||
} catch (_) {}
|
||||
};
|
||||
persistHiddenAdminKey();
|
||||
setupAdminHiddenInput.form.addEventListener('submit', persistHiddenAdminKey);
|
||||
}
|
||||
|
||||
<?php if ($mode === 'success' && !empty($new_key)): ?>
|
||||
try {
|
||||
localStorage.setItem(GRIDTV_ADMIN_KEY_STORAGE, <?= json_encode($new_key) ?>);
|
||||
} catch (_) {}
|
||||
<?php endif; ?>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user