blob: 04c401d9b7010af85d3e143397f13d96014e4f6b [file] [log] [blame]
avm999630b275e82022-03-31 11:44:32 +02001var CACHE_NAME = 'all-v1.1.10';
avm999631ca663e2020-12-17 19:34:22 +01002var urlsToCache = [
3 '/',
4 '/css/styles.css',
5 '/img/logo.svg',
Adrià Vilanova Martínez5d5742a2022-03-26 18:13:20 +01006 '/img/logo-biblioteca.png',
avm999636a5bb402021-03-01 23:25:37 +01007 '/img/logo-ciba.png',
Adrià Vilanova Martínezc5f06262022-03-26 18:56:47 +01008 '/img/cartells/cant2022.webp',
avm999631ca663e2020-12-17 19:34:22 +01009 '/js/script.js',
10 '/concerts/nadal2020joves.json',
11 '/concerts/nadal2020nens.json',
avm99963c26d16b2021-02-28 00:58:56 +010012 '/concerts/ciba2021.json',
Adrià Vilanova Martínez5d5742a2022-03-26 18:13:20 +010013 '/concerts/cant2022.json',
avm999631ca663e2020-12-17 19:34:22 +010014];
15
16self.addEventListener('install', event => {
17 self.skipWaiting();
18
19 event.waitUntil(
20 caches.open(CACHE_NAME).then(cache => {
21 return cache.addAll(urlsToCache);
22 })
23 );
24});
25
avm999636a5bb402021-03-01 23:25:37 +010026self.addEventListener('activate', event => {
27 event.waitUntil(
28 caches.keys().then(keyList => {
29 return Promise.all(keyList.map(key => {
30 if (key !== CACHE_NAME)
31 return caches.delete(key);
32 }));
33 })
34 );
35});
36
avm999631ca663e2020-12-17 19:34:22 +010037self.addEventListener('fetch', event => {
38 event.respondWith(
avm99963a30f0552022-03-31 12:16:29 +020039 caches.open(CACHE_NAME).then(cache => {
40 return caches.match(event.request).then(response => {
41 if (response) return response;
42 return fetch(event.request);
43 }).catch(() => {
44 // Load a fallback version of the file if everything failed.
45 return caches.match(event.request);
46 });
avm999631ca663e2020-12-17 19:34:22 +010047 })
48 );
49});