uptime-kuma/src/serviceWorker.ts
cmorg789 23c4916c74
Webpush notifications (#6421)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-11-27 03:55:46 +00:00

24 lines
709 B
TypeScript

// Needed per Vite PWA docs
import { precacheAndRoute } from 'workbox-precaching'
declare let self: ServiceWorkerGlobalScope
precacheAndRoute(self.__WB_MANIFEST)
// Receive push notifications
self.addEventListener('push', function (event) {
if (self.Notification?.permission !== 'granted') {
console.error("Notifications aren't supported or permission not granted!");
return;
}
if (event.data) {
let message = event.data.json();
try {
self.registration.showNotification(message.title, {
body: message.body,
});
} catch (error) {
console.error('Failed to show notification:', error);
}
}
});