diff --git a/.gitignore b/.gitignore index 2902a54..b624557 100644 --- a/.gitignore +++ b/.gitignore @@ -35,4 +35,4 @@ certificates content/output/* public/content/output/* public/content/output/shifts 2024.1.json -!public/content/uploads/* \ No newline at end of file +!public/content/uploads/* diff --git a/worker.js b/worker.js new file mode 100644 index 0000000..8ef95ff --- /dev/null +++ b/worker.js @@ -0,0 +1,71 @@ +// 'use strict' +// // currently not used as we ise next-pwa and in next.config.js we have withPWA. +// // maybe we can have withPWA({sw: './worker.js'}) ? +// console.log('Service Worker worker/index.js Loaded...') +// workbox.precaching.precacheAndRoute(self.__WB_MANIFEST); + + +// self.addEventListener('install', () => { +// console.log('service worker installed') +// }); + +// self.addEventListener('activate', () => { +// console.log('service worker activated') +// }); + +// self.addEventListener('fetch', (event) => { +// try { +// console.log('Fetch event for ', event.request.url); +// if (event.request.url.includes('/api/auth/callback/')) { +// // Use network only strategy for auth routes, or bypass SW completely +// event.respondWith(fetch(event.request)); +// return; +// } +// // other caching strategies... +// } catch (error) { +// console.error(error) +// } +// }); + +// self.addEventListener('push', function (event) { +// console.log('Push message', event) +// if (!(self.Notification && self.Notification.permission === 'granted')) { +// return +// } +// const data = JSON.parse(event.data.text()) +// event.waitUntil( +// registration.showNotification(data.title, { +// body: data.message, +// icon: '/icons/android-chrome-192x192.png' +// }) +// ) +// }) + +// self.addEventListener('notificationclick', function (event) { +// console.log('Notification click: tag', event.notification.tag) +// event.notification.close() +// event.waitUntil( +// clients.matchAll({ type: 'window', includeUncontrolled: true }).then(function (clientList) { +// if (clientList.length > 0) { +// let client = clientList[0] +// for (let i = 0; i < clientList.length; i++) { +// if (clientList[i].focused) { +// client = clientList[i] +// } +// } +// return client.focus() +// } +// return clients.openWindow('/') +// }) +// ) +// }) + +// // self.addEventListener('pushsubscriptionchange', function(event) { +// // event.waitUntil( +// // Promise.all([ +// // Promise.resolve(event.oldSubscription ? deleteSubscription(event.oldSubscription) : true), +// // Promise.resolve(event.newSubscription ? event.newSubscription : subscribePush(registration)) +// // .then(function(sub) { return saveSubscription(sub) }) +// // ]) +// // ) +// // }) \ No newline at end of file diff --git a/worker/index.js b/worker/index.js deleted file mode 100644 index 751e25e..0000000 --- a/worker/index.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict' - -console.log('Service Worker Loaded...') - -self.addEventListener('fetch', (event) => { - try { - if (event.request.url.includes('/api/auth/callback/')) { - // Use network only strategy for auth routes, or bypass SW completely - event.respondWith(fetch(event.request)); - return; - } - // other caching strategies... - } catch (error) { - console.error(error) - } -}); - -self.addEventListener('push', function (event) { - console.log('Push message', event) - if (!(self.Notification && self.Notification.permission === 'granted')) { - return - } - const data = JSON.parse(event.data.text()) - event.waitUntil( - registration.showNotification(data.title, { - body: data.message, - icon: '/icons/android-chrome-192x192.png' - }) - ) -}) - -self.addEventListener('notificationclick', function (event) { - console.log('Notification click: tag', event.notification.tag) - event.notification.close() - event.waitUntil( - clients.matchAll({ type: 'window', includeUncontrolled: true }).then(function (clientList) { - if (clientList.length > 0) { - let client = clientList[0] - for (let i = 0; i < clientList.length; i++) { - if (clientList[i].focused) { - client = clientList[i] - } - } - return client.focus() - } - return clients.openWindow('/') - }) - ) -}) - -// self.addEventListener('pushsubscriptionchange', function(event) { -// event.waitUntil( -// Promise.all([ -// Promise.resolve(event.oldSubscription ? deleteSubscription(event.oldSubscription) : true), -// Promise.resolve(event.newSubscription ? event.newSubscription : subscribePush(registration)) -// .then(function(sub) { return saveSubscription(sub) }) -// ]) -// ) -// }) \ No newline at end of file