self.addEventListener('push', function (event) { if (event.data) { const notification = event.data.json(); event.waitUntil(self.registration.showNotification(notification.title, { body: notification.body, tag: notification.type, icon: notification.icon, })); } else { console.error("Push event received, but it didn't contain any data.", event); } }); self.addEventListener('notificationclick', async event => { if (event.notification.tag === 'inbox') { event.preventDefault(); return clients.openWindow("/inbox", "_blank").then(result => { event.notification.close(); return result; }); } else { console.warn(`Unhandled notification tag: ${event.notification.tag}`); } });