diff --git a/static/service-worker.js b/static/service-worker.js index 84495ce..06b7495 100644 --- a/static/service-worker.js +++ b/static/service-worker.js @@ -22,6 +22,9 @@ self.addEventListener('install', function(event) { }); self.addEventListener('push', function(event) { + console.log('[Service Worker] Push Received.'); + console.log(`[Service Worker] Push data: "${event.data.text()}"`); + const data = event.data.json(); const options = { body: data.body, diff --git a/templates/base.html b/templates/base.html index 54a4278..ba00197 100644 --- a/templates/base.html +++ b/templates/base.html @@ -82,6 +82,28 @@ }, function(err) { console.log('ServiceWorker registration failed: ', err); }); + + const forceResubscribeBtn = document.getElementById('force-resubscribe-btn'); + if (forceResubscribeBtn) { + forceResubscribeBtn.addEventListener('click', function() { + navigator.serviceWorker.ready.then(function(registration) { + registration.pushManager.getSubscription().then(function(subscription) { + if (subscription) { + subscription.unsubscribe().then(function(successful) { + if (successful) { + console.log('Unsubscribed successfully.'); + askPermission(registration); + } else { + console.log('Unsubscribe failed.'); + } + }); + } else { + askPermission(registration); + } + }); + }); + }); + } } function askPermission(registration) { diff --git a/templates/config_dashboard.html b/templates/config_dashboard.html index 7f6ffe3..5edaca3 100644 --- a/templates/config_dashboard.html +++ b/templates/config_dashboard.html @@ -15,6 +15,7 @@
+