71 lines
2.5 KiB
JavaScript
71 lines
2.5 KiB
JavaScript
// '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) })
|
|
// // ])
|
|
// // )
|
|
// // })
|