Add ignition-based screen sleep simulation
This commit is contained in:
@@ -14,6 +14,11 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="sleepOverlay" class="sleep-overlay hidden" onclick="wakeScreen()">
|
||||
<div>Screen Off</div>
|
||||
<small>Tap to wake</small>
|
||||
</div>
|
||||
|
||||
<div id="warningBanner" class="warning-banner hidden"></div>
|
||||
|
||||
<main>
|
||||
@@ -129,6 +134,7 @@
|
||||
let relayState = {};
|
||||
let activeAlarmKey = null;
|
||||
let acknowledgedAlarms = new Set();
|
||||
let screenWakeTimeout = null;
|
||||
|
||||
let alarmConfig = {
|
||||
rear_seat_warning: 85,
|
||||
@@ -289,6 +295,7 @@ async function loadStatus() {
|
||||
document.getElementById('sysWifi').textContent = data.network.wifi_enabled ? 'Enabled' : 'Disabled';
|
||||
document.getElementById('sysWifiOverride').textContent = data.network.wifi_override_active ? 'Active' : 'Inactive';
|
||||
document.getElementById('sysIgnition').textContent = data.vehicle.ignition_on ? 'ON' : 'OFF';
|
||||
updateSleepOverlay(data.vehicle.ignition_on);
|
||||
|
||||
checkAlarms(data);
|
||||
}
|
||||
@@ -303,6 +310,33 @@ async function toggleRelay(name) {
|
||||
loadStatus();
|
||||
}
|
||||
|
||||
function updateSleepOverlay(ignitionOn) {
|
||||
const overlay = document.getElementById('sleepOverlay');
|
||||
|
||||
if (ignitionOn) {
|
||||
overlay.classList.add('hidden');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!screenWakeTimeout) {
|
||||
overlay.classList.remove('hidden');
|
||||
}
|
||||
}
|
||||
|
||||
function wakeScreen() {
|
||||
const overlay = document.getElementById('sleepOverlay');
|
||||
overlay.classList.add('hidden');
|
||||
|
||||
if (screenWakeTimeout) {
|
||||
clearTimeout(screenWakeTimeout);
|
||||
}
|
||||
|
||||
screenWakeTimeout = setTimeout(() => {
|
||||
screenWakeTimeout = null;
|
||||
overlay.classList.remove('hidden');
|
||||
}, 10000);
|
||||
}
|
||||
|
||||
async function toggleIgnition() {
|
||||
await fetch('/vehicle/ignition', {
|
||||
method: 'POST',
|
||||
|
||||
Reference in New Issue
Block a user