Auto-refresh: 5min pagina corrente + 2min lista spesa bg
- Intervallo pagina corrente: 5 minuti (era 10) -> dashboard, inventario, scadenze aperte, ricette, log si aggiornano automaticamente - Intervallo lista spesa: 2 minuti in background anche se non sei sulla pagina Shopping -> badge/contatore aggiornato, e se sei sulla pagina Shopping vedi i nuovi prodotti aggiunti da Bring! da un altro device - refreshCurrentPage() ora copre anche 'recipe' e 'log' - visibilitychange: refresh immediato su qualsiasi pagina (già presente)
This commit is contained in:
+22
-11
@@ -942,6 +942,9 @@ function refreshCurrentPage() {
|
|||||||
case 'inventory': loadInventory(); break;
|
case 'inventory': loadInventory(); break;
|
||||||
case 'shopping': loadShoppingList(); break;
|
case 'shopping': loadShoppingList(); break;
|
||||||
case 'products': loadAllProducts(); break;
|
case 'products': loadAllProducts(); break;
|
||||||
|
case 'recipe': loadRecipeArchive(); break;
|
||||||
|
case 'log': loadLog(); break;
|
||||||
|
// scan/ai/settings/chat: nessun dato live da ricaricare
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8620,20 +8623,28 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
initScreensaverShortcuts();
|
initScreensaverShortcuts();
|
||||||
startBgShoppingRefresh();
|
startBgShoppingRefresh();
|
||||||
|
|
||||||
// ── Auto-refresh dati ogni 10 minuti ──────────────────────────────────
|
// ── Auto-refresh dati ─────────────────────────────────────────────────
|
||||||
// Garantisce che scadenze e contatori si aggiornino anche senza toccare
|
// 1) Ogni 5 minuti: ricarica la pagina corrente (scadenze, inventario, ecc.)
|
||||||
// la schermata (es. pagina aperta tutta la notte).
|
|
||||||
const DATA_REFRESH_INTERVAL = 10 * 60 * 1000; // 10 minuti
|
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
if (!_screensaverActive) {
|
if (!_screensaverActive) refreshCurrentPage();
|
||||||
refreshCurrentPage();
|
}, 5 * 60 * 1000);
|
||||||
|
|
||||||
|
// 2) Ogni 2 minuti: aggiorna lista spesa in background (anche se non sei
|
||||||
|
// sulla pagina Shopping), così i prodotti aggiunti da un altro dispositivo
|
||||||
|
// su Bring! appaiono subito quando torni sulla schermata.
|
||||||
|
setInterval(() => {
|
||||||
|
if (_screensaverActive) return;
|
||||||
|
if (_currentPageId === 'shopping') {
|
||||||
|
loadShoppingList(); // già visibile → aggiorna tutto
|
||||||
|
} else {
|
||||||
|
// Aggiorna solo il badge/contatore senza cambiare pagina
|
||||||
|
loadShoppingCount();
|
||||||
}
|
}
|
||||||
}, DATA_REFRESH_INTERVAL);
|
}, 2 * 60 * 1000);
|
||||||
// Aggiorna anche quando la tab torna visibile dopo essere stata in background
|
|
||||||
|
// 3) Aggiorna immediatamente quando la tab torna visibile (es. torni da Bring! app)
|
||||||
document.addEventListener('visibilitychange', () => {
|
document.addEventListener('visibilitychange', () => {
|
||||||
if (!document.hidden) {
|
if (!document.hidden) refreshCurrentPage();
|
||||||
refreshCurrentPage();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
// ─────────────────────────────────────────────────────────────────────
|
// ─────────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user