chore: auto-merge develop → main

Triggered by: 108f3ef feat(settings): add screensaver toggle in Language tab (default off)
This commit is contained in:
github-actions[bot]
2026-05-04 16:19:21 +00:00
5 changed files with 28 additions and 0 deletions
+8
View File
@@ -1101,6 +1101,9 @@ function translatePage() {
// Populate the language selector dropdown // Populate the language selector dropdown
function _populateLanguageSelector() { function _populateLanguageSelector() {
const sel = document.getElementById('setting-language'); const sel = document.getElementById('setting-language');
// Screensaver toggle
const ssEl = document.getElementById('setting-screensaver-enabled');
if (ssEl) ssEl.checked = s.screensaver_enabled === true;
if (!sel) return; if (!sel) return;
sel.innerHTML = ''; sel.innerHTML = '';
for (const [code, name] of Object.entries(_SUPPORTED_LANGS)) { for (const [code, name] of Object.entries(_SUPPORTED_LANGS)) {
@@ -2124,6 +2127,9 @@ async function saveSettings() {
s.dietary = document.getElementById('setting-dietary').value.trim(); s.dietary = document.getElementById('setting-dietary').value.trim();
// Camera // Camera
s.camera_facing = document.getElementById('setting-camera-facing').value; s.camera_facing = document.getElementById('setting-camera-facing').value;
// Screensaver
const ssEl = document.getElementById('setting-screensaver-enabled');
if (ssEl) s.screensaver_enabled = ssEl.checked;
// Meal plan enabled toggle // Meal plan enabled toggle
const mpEnabledEl = document.getElementById('setting-meal-plan-enabled'); const mpEnabledEl = document.getElementById('setting-meal-plan-enabled');
if (mpEnabledEl) s.meal_plan_enabled = mpEnabledEl.checked; if (mpEnabledEl) s.meal_plan_enabled = mpEnabledEl.checked;
@@ -11691,6 +11697,8 @@ function initScreensaverShortcuts() {
} }
function initInactivityWatcher() { function initInactivityWatcher() {
const s = getSettings();
if (!s.screensaver_enabled) return; // disabled by default
const events = ['pointerdown', 'pointermove', 'keydown', 'scroll', 'touchstart']; const events = ['pointerdown', 'pointermove', 'keydown', 'scroll', 'touchstart'];
events.forEach(evt => { events.forEach(evt => {
document.addEventListener(evt, () => { document.addEventListener(evt, () => {
+11
View File
@@ -1088,6 +1088,17 @@
<p class="settings-hint mt-2" data-i18n="settings.language.restart_notice">La pagina verrà ricaricata per applicare la nuova lingua.</p> <p class="settings-hint mt-2" data-i18n="settings.language.restart_notice">La pagina verrà ricaricata per applicare la nuova lingua.</p>
</div> </div>
</div> </div>
<div class="settings-card">
<h4>🌑 Salvaschermo</h4>
<p class="settings-hint">Mostra un orologio con fatti utili dopo 5 minuti di inattività. Di default è disattivato.</p>
<div class="form-group">
<label class="toggle-label">
<input type="checkbox" id="setting-screensaver-enabled" class="toggle-input">
<span class="toggle-slider"></span>
<span class="toggle-text" data-i18n="settings.screensaver.label">Attiva salvaschermo</span>
</label>
</div>
</div>
</div> </div>
</div> </div>
+3
View File
@@ -595,6 +595,9 @@
"label": "🌐 Sprache", "label": "🌐 Sprache",
"restart_notice": "Die Seite wird neu geladen, um die neue Sprache anzuwenden." "restart_notice": "Die Seite wird neu geladen, um die neue Sprache anzuwenden."
}, },
"screensaver": {
"label": "Bildschirmschoner aktivieren"
},
"scale": { "scale": {
"title": "⚖️ Smart-Waage", "title": "⚖️ Smart-Waage",
"hint": "Verbinde eine Bluetooth-Waage über das Android-Gateway, um das Gewicht automatisch auszulesen.", "hint": "Verbinde eine Bluetooth-Waage über das Android-Gateway, um das Gewicht automatisch auszulesen.",
+3
View File
@@ -594,6 +594,9 @@
"label": "🌐 Language", "label": "🌐 Language",
"restart_notice": "The page will reload to apply the new language." "restart_notice": "The page will reload to apply the new language."
}, },
"screensaver": {
"label": "Enable screensaver"
},
"scale": { "scale": {
"title": "⚖️ Smart Scale", "title": "⚖️ Smart Scale",
"hint": "Connect a Bluetooth scale via the Android gateway to automatically read weight.", "hint": "Connect a Bluetooth scale via the Android gateway to automatically read weight.",
+3
View File
@@ -594,6 +594,9 @@
"label": "🌐 Lingua", "label": "🌐 Lingua",
"restart_notice": "La pagina verrà ricaricata per applicare la nuova lingua." "restart_notice": "La pagina verrà ricaricata per applicare la nuova lingua."
}, },
"screensaver": {
"label": "Attiva salvaschermo"
},
"scale": { "scale": {
"title": "⚖️ Bilancia Smart", "title": "⚖️ Bilancia Smart",
"hint": "Collega una bilancia Bluetooth tramite il gateway Android per leggere il peso automaticamente.", "hint": "Collega una bilancia Bluetooth tramite il gateway Android per leggere il peso automaticamente.",