Files
luminic-front/public/service-worker.js
Vladimir Voronin aa078c4228 chet novoe
2024-10-30 17:36:03 +03:00

40 lines
1.7 KiB
JavaScript
Raw 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();
console.log(data);
const options = {
body: data.url,
icon: "/icon.png",
badge: "/badge.png",
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."); // Сообщение об активации обработчика
console.log("Notification data:", event.notification.data); // Проверка данных уведомления
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);
}
})
);
});