diff --git a/frontend/web/firebase-messaging-sw.js b/frontend/web/firebase-messaging-sw.js index c31a6bc..673c8a0 100644 --- a/frontend/web/firebase-messaging-sw.js +++ b/frontend/web/firebase-messaging-sw.js @@ -18,13 +18,16 @@ firebase.initializeApp(firebaseConfig); // Initialize Firebase Messaging const messaging = firebase.messaging(); -// Handle background messages +// Handle background messages (data-only notifications) messaging.onBackgroundMessage((payload) => { console.log('Received background message ', payload); - const notificationTitle = payload.notification?.title || 'Wesal App'; + // For data-only messages, title and body are in payload.data + const notificationTitle = payload.data?.title || payload.notification?.title || 'Wesal App'; + const notificationBody = payload.data?.body || payload.notification?.body || 'You have a new notification'; + const notificationOptions = { - body: payload.notification?.body || 'You have a new notification', + body: notificationBody, icon: '/icons/Icon-192.png', badge: '/icons/Icon-192.png', data: payload.data, @@ -73,29 +76,7 @@ self.addEventListener('notificationclick', (event) => { ); }); -// Handle push events -self.addEventListener('push', (event) => { - console.log('Push event received:', event); - - if (event.data) { - const data = event.data.json(); - console.log('Push data:', data); - - const notificationTitle = data.notification?.title || 'Wesal App'; - const notificationOptions = { - body: data.notification?.body || 'You have a new notification', - icon: '/icons/Icon-192.png', - badge: '/icons/Icon-192.png', - data: data.data, - tag: data.data?.type || 'general', - requireInteraction: true, - }; - - event.waitUntil( - self.registration.showNotification(notificationTitle, notificationOptions) - ); - } -}); +// Note: Removed duplicate push event handler - Firebase onBackgroundMessage handles this // Handle service worker activation self.addEventListener('activate', (event) => {