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