File size: 950 Bytes
cb18dab |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
const CACHE_NAME = 'ghostboard-v1';
const ASSETS = [
'/',
'/static/images/icon.svg',
'/static/manifest.json',
'https://cdn.tailwindcss.com',
'https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js'
];
self.addEventListener('install', (e) => {
e.waitUntil(
caches.open(CACHE_NAME).then((cache) => cache.addAll(ASSETS))
);
});
self.addEventListener('fetch', (e) => {
// Network first for HTML (navigation), Cache first for assets
if (e.request.mode === 'navigate') {
e.respondWith(
fetch(e.request).catch(() => {
return caches.match(e.request).then(response => {
if (response) return response;
// Fallback to offline page if I had one, or just root
return caches.match('/');
});
})
);
} else {
e.respondWith(
caches.match(e.request).then((response) => {
return response || fetch(e.request);
})
);
}
});
|