// Nombre del caché para la aplicación const CACHE_NAME = 'radius-nucleo-cache-v1'; // Archivos que se almacenarán en caché durante la instalación const URLS_TO_CACHE = [ '/', '/index.html', '/manifest.json', '/sw.js', // Iconos '/icons/icon-192.png', '/icons/icon-512.png', '/icons/icon-192-maskable.png', '/icons/icon-512-maskable.png', '/icons/icon-192-black.png', '/icons/icon-512-black.png', // Capturas de pantalla '/screenshots/screenshot-desktop.png', '/screenshots/screenshot-mobile.png' ]; // Evento de instalación: almacena los archivos definidos en la caché self.addEventListener('install', (event) => { event.waitUntil( caches.open(CACHE_NAME) .then((cache) => cache.addAll(URLS_TO_CACHE)) ); }); // Evento de recuperación (fetch): responde desde la caché si existe, si no, recupera de la red self.addEventListener('fetch', (event) => { event.respondWith( caches.match(event.request) .then((response) => { // Devuelve la respuesta en caché o realiza la solicitud a la red return response || fetch(event.request); }) ); });