22 lines
586 B
JavaScript
22 lines
586 B
JavaScript
|
|
// Simple service worker for PWA installability
|
||
|
|
const CACHE_NAME = 'zpark-ems-v1';
|
||
|
|
|
||
|
|
self.addEventListener('install', (event) => {
|
||
|
|
self.skipWaiting();
|
||
|
|
});
|
||
|
|
|
||
|
|
self.addEventListener('activate', (event) => {
|
||
|
|
event.waitUntil(clients.claim());
|
||
|
|
});
|
||
|
|
|
||
|
|
self.addEventListener('fetch', (event) => {
|
||
|
|
// Network-first strategy for API calls, cache-first for static assets
|
||
|
|
if (event.request.url.includes('/api/')) {
|
||
|
|
event.respondWith(fetch(event.request));
|
||
|
|
} else {
|
||
|
|
event.respondWith(
|
||
|
|
caches.match(event.request).then(response => response || fetch(event.request))
|
||
|
|
);
|
||
|
|
}
|
||
|
|
});
|