diff --git a/frontend/public/sw.js b/frontend/public/sw.js index 7e549c7..4d93cd4 100644 --- a/frontend/public/sw.js +++ b/frontend/public/sw.js @@ -32,3 +32,23 @@ self.addEventListener('fetch', e => { }) ); }); + +self.addEventListener('push', event => { + if (!event.data) return; + let data = {}; + try { data = event.data.json(); } catch { data = { title:'Neue Nachricht', body: event.data.text() }; } + event.waitUntil( + self.registration.showNotification(data.title || 'DickenDock', { + body: data.body || '', + icon: data.icon || '/favicon.svg', + badge: '/favicon.svg', + tag: 'message', + renotify: true, + }) + ); +}); + +self.addEventListener('notificationclick', event => { + event.notification.close(); + event.waitUntil(clients.openWindow('/')); +});