diff --git a/app.js b/app.js new file mode 100644 index 0000000..42988f7 --- /dev/null +++ b/app.js @@ -0,0 +1,8 @@ +if ('serviceWorker' in navigator) { // Setup — initialises and adds service worker to page + window.addEventListener('load', () => { + navigator.serviceWorker + .register('/service-worker.js') + .then(reg => console.log('Service worker registered:', reg.scope)) + .catch(err => console.error('Registration failed:', err)); + }); +} \ No newline at end of file diff --git a/html/home.html b/html/home.html index cb48165..cbb1157 100644 --- a/html/home.html +++ b/html/home.html @@ -7,6 +7,7 @@ + diff --git a/html/login.html b/html/login.html index 219873f..30a4088 100644 --- a/html/login.html +++ b/html/login.html @@ -7,6 +7,7 @@ +
diff --git a/html/transport.html b/html/transport.html index d17d4fc..a9697f5 100644 --- a/html/transport.html +++ b/html/transport.html @@ -7,6 +7,7 @@ + diff --git a/service-worker.js b/service-worker.js new file mode 100644 index 0000000..7874655 --- /dev/null +++ b/service-worker.js @@ -0,0 +1,40 @@ +// This was created/generated by Claude AI LLM there may be errors present. + +const CACHE_NAME = 'sentinel-v1'; +const ASSETS = [ + '/', + '/html/home.html', + '/html/login.html', + '/html/transport.html', + '/app.js', + '/manifest.json', + '/css/styles.css', + '/css/loader.css', + '/assets/icons/favicon.ico', + '/assets/images/sentinelLogo.png', +]; + +// Install — cache your core assets +self.addEventListener('install', event => { + event.waitUntil( + caches.open(CACHE_NAME).then(cache => cache.addAll(ASSETS)) + ); +}); + +// Activate — clean up old caches +self.addEventListener('activate', event => { + event.waitUntil( + caches.keys().then(keys => + Promise.all( + keys.filter(key => key !== CACHE_NAME).map(key => caches.delete(key)) + ) + ) + ); +}); + +// Fetch — serve from cache, fall back to network +self.addEventListener('fetch', event => { + event.respondWith( + caches.match(event.request).then(cached => cached || fetch(event.request)) + ); +}); \ No newline at end of file