Auto-refresh dati ogni 10 min + visibilitychange

- setInterval ogni 10 minuti ricarica la pagina corrente (dashboard,
  inventario, spesa) silenziosamente, senza reload — i contatori di
  scadenza restano sempre aggiornati anche se la scheda è aperta da ore
- visibilitychange ora aggiorna SEMPRE la pagina corrente, non solo
  la lista spesa, quando la tab torna in foreground
This commit is contained in:
dadaloop82
2026-04-09 05:03:47 +00:00
parent 978c298cc3
commit 7f0d4d817b
+13 -3
View File
@@ -8620,12 +8620,22 @@ document.addEventListener('DOMContentLoaded', () => {
initScreensaverShortcuts();
startBgShoppingRefresh();
// Auto-refresh Bring list when user returns to the browser tab (e.g. was in the Bring app)
// ── Auto-refresh dati ogni 10 minuti ──────────────────────────────────
// Garantisce che scadenze e contatori si aggiornino anche senza toccare
// la schermata (es. pagina aperta tutta la notte).
const DATA_REFRESH_INTERVAL = 10 * 60 * 1000; // 10 minuti
setInterval(() => {
if (!_screensaverActive) {
refreshCurrentPage();
}
}, DATA_REFRESH_INTERVAL);
// Aggiorna anche quando la tab torna visibile dopo essere stata in background
document.addEventListener('visibilitychange', () => {
if (!document.hidden && _currentPageId === 'shopping') {
loadShoppingList();
if (!document.hidden) {
refreshCurrentPage();
}
});
// ─────────────────────────────────────────────────────────────────────
// Silent background sync: update urgency specs on Bring and add missing critical items
// Runs once at startup (time-gated: max every 10 min) without affecting the UI