forked from rDrama/rDrama
try different approach to opening push notification
parent
64de53e9a9
commit
d8292b7601
|
@ -70,7 +70,9 @@ self.addEventListener('push', function(event) {
|
||||||
});
|
});
|
||||||
|
|
||||||
self.addEventListener('notificationclick', (e) => {
|
self.addEventListener('notificationclick', (e) => {
|
||||||
if (e.notification.data.url)
|
|
||||||
e.waitUntil(clients.openWindow(e.notification.data.url));
|
|
||||||
e.notification.close();
|
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);
|
||||||
|
}));
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue