try different approach to opening push notification

pull/38/head
Aevann1 2022-12-03 01:47:35 +02:00
parent 64de53e9a9
commit d8292b7601
1 changed files with 5 additions and 3 deletions

View File

@ -70,7 +70,9 @@ self.addEventListener('push', function(event) {
});
self.addEventListener('notificationclick', (e) => {
if (e.notification.data.url)
e.waitUntil(clients.openWindow(e.notification.data.url));
e.notification.close();
});
e.waitUntil(clients.matchAll({ type: 'window' }).then((clientsArr) => {
const hadWindowToFocus = clientsArr.some((windowClient) => windowClient.url === e.notification.data.url ? (windowClient.focus(), true) : false);
if (!hadWindowToFocus) clients.openWindow(e.notification.data.url).then((windowClient) => windowClient ? windowClient.focus() : null);
}));
});