const CACHE_NAME = 'eur-dzd-calculator-v1'; self.addEventListener('install', function(event) { event.waitUntil( caches.open(CACHE_NAME) .then(function(cache) { return cache.addAll([ '/index.html', '/manifest.json', '/icon.png', '/style.css', '/script.js', ]); }) ); }); self.addEventListener('fetch', function(event) { event.respondWith( caches.match(event.request) .then(function(response) { if (response) { return response; } let fetchRequest = event.request.clone(); return fetch(fetchRequest) .then(function(response) { if (!response || response.status !== 200 || response.type !== 'basic') { return response; } let responseToCache = response.clone(); caches.open(CACHE_NAME) .then(function(cache) { cache.put(event.request, responseToCache); }); return response; }) .catch(function(error) { console.error('Error fetching and caching:', error); }); }) ); });