2022-09-11 11:42:40 -07:00
|
|
|
self.addEventListener('push', function (event) {
|
|
|
|
if (event.data) {
|
|
|
|
const notification = event.data.json();
|
|
|
|
|
|
|
|
event.waitUntil(self.registration.showNotification(notification.title, {
|
2022-09-11 14:55:06 -07:00
|
|
|
body: notification.body,
|
2022-12-24 12:11:30 -08:00
|
|
|
tag: notification.type,
|
2022-12-25 16:19:52 -08:00
|
|
|
icon: notification.icon,
|
2022-09-11 11:42:40 -07:00
|
|
|
}));
|
|
|
|
} else {
|
|
|
|
console.error("Push event received, but it didn't contain any data.", event);
|
|
|
|
}
|
|
|
|
});
|
2022-09-11 14:55:06 -07:00
|
|
|
|
|
|
|
self.addEventListener('notificationclick', async event => {
|
|
|
|
if (event.notification.tag === 'inbox') {
|
|
|
|
event.preventDefault();
|
2022-12-26 03:09:25 -08:00
|
|
|
return clients.openWindow("/inbox", "_blank").then(result => {
|
|
|
|
event.notification.close();
|
|
|
|
return result;
|
|
|
|
});
|
2022-09-11 14:55:06 -07:00
|
|
|
} else {
|
|
|
|
console.warn(`Unhandled notification tag: ${event.notification.tag}`);
|
|
|
|
}
|
|
|
|
});
|