importScripts("https://www.gstatic.com/firebasejs/9.22.2/firebase-app-compat.js"); importScripts("https://www.gstatic.com/firebasejs/9.22.2/firebase-messaging-compat.js"); firebase.initializeApp({ apiKey: "AIzaSyCTjdsk2jE34IfnvSKP1JMTIf_Abd7tbt0", authDomain: "opplens-270d1.firebaseapp.com", projectId: "opplens-270d1", storageBucket: "opplens-270d1.firebasestorage.app", messagingSenderId: "6923326255", appId: "1:6923326255:web:c71763ece06aaaf3ed87da", measurementId: "G-M5HQR4YZVS" }); const messaging = firebase.messaging(); // Handle background messages // messaging.onBackgroundMessage(async (payload) => { // const notificationTitle = payload.notification.title; // const notificationOptions = { // body: payload.notification.body, // badge: '/icons/Icon-192.svg', // icon: '/icons/notification.svg', // data: payload.data, // click_action: payload.notification.click_action, // }; // self.registration.showNotification(notificationTitle, notificationOptions); // }); // Open or focus the app when a notification is clicked self.addEventListener('notificationclick', (event) => { event.notification.close(); // Get the URL from the data payload, defaulting to the notification page const urlToOpen = event.notification.data?.url || '/notification'; const baseUrl = 'https://app.opplens.com'; const targetUrl = urlToOpen.startsWith('http') ? urlToOpen : `${baseUrl}${urlToOpen}`; console.log('Opening URL:', targetUrl); event.waitUntil( clients.matchAll({ type: 'window', includeUncontrolled: true, }).then((clientList) => { // Find an open client (any tab/window belonging to your site) const focusedClient = clientList.find(client => { return new URL(client.url).origin === location.origin; }); if (focusedClient) { // If a client is open, navigate it to the new URL and focus it focusedClient.navigate(urlToOpen); return focusedClient.focus(); } else { // Otherwise, open a new window return clients.openWindow(targetUrl); } }) ); });