const CACHE_NAME = 'digital-gut-v1'; | |
const ASSETS_TO_CACHE = [ | |
'/', | |
'/gradio', | |
'/manifest.json', | |
'/assets/main_music.mp3', | |
'/static/icons/icon-192x192.png', | |
'/static/icons/icon-512x512.png' | |
]; | |
self.addEventListener('install', (event) => { | |
event.waitUntil( | |
caches.open(CACHE_NAME) | |
.then((cache) => cache.addAll(ASSETS_TO_CACHE)) | |
.then(() => self.skipWaiting()) | |
); | |
}); | |
self.addEventListener('activate', (event) => { | |
event.waitUntil( | |
caches.keys().then((cacheNames) => { | |
return Promise.all( | |
cacheNames.map((cacheName) => { | |
if (cacheName !== CACHE_NAME) { | |
return caches.delete(cacheName); | |
} | |
}) | |
); | |
}) | |
); | |
}); | |
self.addEventListener('fetch', (event) => { | |
event.respondWith( | |
caches.match(event.request) | |
.then((response) => { | |
if (response) { | |
return response; | |
} | |
return fetch(event.request); | |
}) | |
); | |
}); |