From 66d22411a4430d0a0b7452f06d2ddbc2e346decf Mon Sep 17 00:00:00 2001 From: Roby Date: Wed, 22 Apr 2026 02:08:51 +0200 Subject: [PATCH] update Push Notification --- app.py | 8 ++++---- templates/index.html | 13 ++++--------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/app.py b/app.py index bc54f2c..6dc01a5 100644 --- a/app.py +++ b/app.py @@ -184,11 +184,11 @@ def on_message(client, userdata, msg): # --- GRILLETTO PUSH: STATO NODO --- if payload.upper() == 'OFFLINE': if last_notified_errors.get(f"{cid}_NODE") != 'OFFLINE': - broadcast_push_notification(f"💀 NODO OFFLINE: {cid.upper()}", "Disconnesso dal broker.") + broadcast_push_notification(f"💀 NODE OFFLINE: {cid.upper()}", "Connection lost with broker.") last_notified_errors[f"{cid}_NODE"] = 'OFFLINE' elif payload.upper() == 'ONLINE': if last_notified_errors.get(f"{cid}_NODE") == 'OFFLINE': - broadcast_push_notification(f"🌤️ NODO ONLINE: {cid.upper()}", "Tornato operativo.") + broadcast_push_notification(f"🌤️ NODE ONLINE: {cid.upper()}", "Node is back online.") del last_notified_errors[f"{cid}_NODE"] if payload.upper() not in ['OFF', 'OFFLINE', '']: @@ -221,10 +221,10 @@ def on_message(client, userdata, msg): if last_notified_errors.get(status_key) != s_lower: msg_err = f"Servizio {svc_name} KO ({svc_status})" if s_lower == "error": msg_err += " - Auto-healing fallito! ⚠️" - broadcast_push_notification(f"🚨 ALLARME: {cid.upper()}", msg_err) + broadcast_push_notification(f"🚨 ALARM: {cid.upper()}", msg_err) last_notified_errors[status_key] = s_lower elif s_lower == "online" and status_key in last_notified_errors: - broadcast_push_notification(f"✅ RIPRISTINO: {cid.upper()}", f"Servizio {svc_name} tornato ONLINE.") + broadcast_push_notification(f"✅ RESTORED: {cid.upper()}", f"Service{svc_name} back ONLINE.") del last_notified_errors[status_key] # ----------------------------------------- diff --git a/templates/index.html b/templates/index.html index 5de210a..c3ce33e 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1077,19 +1077,13 @@ }); } -// --- FUNZIONE PER ISCRIVERSI ALLE PUSH --- + // --- FUNZIONE PER ISCRIVERSI ALLE PUSH --- async function subscribeToPush() { - const lang = document.documentElement.lang || 'it'; - const msg = { - it: { ok: "Notifiche attivate!", err: "Errore o permesso negato", title: "PUSH" }, - en: { ok: "Notifications enabled!", err: "Error or permission denied", title: "PUSH" } - }; - if (!('serviceWorker' in navigator)) return; const permission = await Notification.requestPermission(); if (permission !== 'granted') { - customAlert("Error", msg[lang].err, true); + customAlert("Error", "Push notifications permission denied.", true); return; } @@ -1109,10 +1103,11 @@ body: JSON.stringify(subscription) }); - customAlert("Success", msg[lang].ok); + customAlert("Success", "Push notifications enabled successfully!"); document.getElementById('push-btn').style.color = 'var(--success)'; } catch (e) { console.error(e); + customAlert("Error", "Failed to enable notifications.", true); } }