/* eslint-env serviceworker */ /* global workbox */ importScripts( "https://storage.googleapis.com/workbox-cdn/releases/6.4.1/workbox-sw.js", ); self.addEventListener("install", (event) => { console.log("Install event fired."); importScripts("safari-notifications.js"); console.log("scripts imported", event); }); self.addEventListener("push", function (event) { event.waitUntil( (async () => { try { let payload; if (event.data) { payload = JSON.parse(event.data.text()); } const value = await self.getNotificationCount(); const title = payload ? payload.title : "Custom Title"; const options = { body: payload ? value : "SAMPLE", icon: payload ? payload.icon : "icon.png", badge: payload ? payload.badge : "badge.png", }; await self.registration.showNotification(title, options); } catch (error) { console.error("Error in processing the push event:", error); } })(), ); }); self.addEventListener("message", (event) => { if (event.data && event.data.type === "SEND_LOCAL_DATA") { self.secret = event.data.data; console.log("Data stored in service worker:", self.secret); event.ports[0].postMessage({ success: true }); } }); self.addEventListener("activate", (event) => { event.waitUntil(clients.claim()); console.log("Service worker activated", event); }); self.addEventListener("fetch", (event) => { console.log(event.request); }); workbox.precaching.precacheAndRoute(self.__WB_MANIFEST);