From c3c94461c295ef4c6219051369472f983267437c Mon Sep 17 00:00:00 2001
From: retoor <retoor@molodetz.nl>
Date: Wed, 5 Mar 2025 17:19:24 +0100
Subject: [PATCH] Update service worker.

---
 src/snek/static/service-worker.js | 36 ++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/src/snek/static/service-worker.js b/src/snek/static/service-worker.js
index dfdc493..5881455 100644
--- a/src/snek/static/service-worker.js
+++ b/src/snek/static/service-worker.js
@@ -1,3 +1,37 @@
+async function requestNotificationPermission() {
+  const permission = await Notification.requestPermission();
+  return permission === 'granted';
+}
+
+// Subscribe to Push Notifications
+async function subscribeUser() {
+  const registration = await navigator.serviceWorker.register('/service-worker.js');
+  
+  const subscription = await registration.pushManager.subscribe({
+    userVisibleOnly: true,
+    applicationServerKey: urlBase64ToUint8Array(PUBLIC_VAPID_KEY)
+  });
+
+  // Send subscription to your backend
+  await fetch('/subscribe', {
+    method: 'POST',
+    body: JSON.stringify(subscription),
+    headers: {
+      'Content-Type': 'application/json'
+    }
+  });
+}
+
+// Service Worker (service-worker.js)
+self.addEventListener('push', event => {
+  const data = event.data.json();
+  self.registration.showNotification(data.title, {
+    body: data.message,
+    icon: data.icon
+  });
+});
+
+/*
 self.addEventListener("install", (event) => {
   console.log("Service worker installed");
 });
@@ -27,4 +61,4 @@ self.addEventListener("notificationclick", (event) => {
     event.notification.close();
     event.waitUntil(clients.openWindow(
       "https://snek.molodetz.nl",));
-});
+});*/