Files
luminic-front/public/service-worker.js
2025-02-17 17:57:43 +03:00

41 lines
1.6 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// public/service-worker.js
self.addEventListener("push", (event) => {
const data = event.data.json();
const options = {
body: data.body,
icon: data.icon,
badge: data.badge,
data: data.url
};
event.waitUntil(self.registration.showNotification(data.title, options));
// console.log(data);
});
self.addEventListener('notificationclick', function (event) {
// console.log("Notification click event received."); // Сообщение об активации обработчика
event.notification.close(); // Закрываем уведомление
// console.log(event)
const targetUrl = event.notification.data && event.notification.data ? event.notification.data : '/';
// console.log("Target URL to open:", targetUrl); // Выводим URL, который будет открыт
event.waitUntil(
clients.matchAll({type: 'window', includeUncontrolled: true}).then(clientList => {
for (const client of clientList) {
if (client.url === targetUrl && 'focus' in client) {
// console.log("Focusing on existing client:", client.url); // Сообщение об активации уже открытого клиента
return client.focus();
}
}
if (clients.openWindow) {
// console.log("Opening new window:", targetUrl); // Сообщение об открытии нового окна
return clients.openWindow(targetUrl);
}
})
);
});