diff --git a/skolehjem/public/offline.html b/skolehjem/public/offline.html new file mode 100644 index 0000000..58f5bba --- /dev/null +++ b/skolehjem/public/offline.html @@ -0,0 +1,27 @@ + + + + @yield("title") + + + + + + + + +
+

ERROR: NO NETWORK

+

Du har ikke cachet denne side

+ +
+ + + + diff --git a/skolehjem/public/serviceWorkerCachedWebpags.js b/skolehjem/public/serviceWorkerCachedWebpags.js index d8d86a2..4c241a6 100644 --- a/skolehjem/public/serviceWorkerCachedWebpags.js +++ b/skolehjem/public/serviceWorkerCachedWebpags.js @@ -1,14 +1,31 @@ const staticCacheName = 'site-static-v2'; const dynamicCacheName = 'site-dynamic-v1'; const assets = [ - '/', + '/offline.html', '/css/app.css', '/css/normalize.css', '/css/webapp.css', '/css/webappdark.css', - '/home', - '/events', - '/login' + '/images/icons/Vagttelefon-normal.svg', + '/images/icons/Vagttelefon-hvid.svg', + '/images/icons/about.svg', + '/images/icons/Aktiviteter.svg', + '/images/icons/Home.svg', + '/images/icons/Kontoret.svg', + '/images/icons/location.svg', + '/images/icons/Menuplan.svg', + '/images/icons/news.svg', + '/images/icons/phone.svg', + '/images/icons/questionmark.svg', + '/images/icons/settings-hvid.svg', + '/images/icons/user.svg', + '/images/icons/user-hvid.svg', + '/images/icons/Vejledninger.svg', + '/images/icons/watermelon.svg', + '/images/logos/Logo-hvid.svg', + '/images/logos/Logo-normal.svg', + '/images/icons/Logout.svg' + ]; // install event @@ -18,6 +35,8 @@ self.addEventListener('install', evt => { caches.open(staticCacheName).then((cache) => { //console.log('caching shell assets'); return cache.addAll(assets); + }).catch((r) => { + console.log("I dont workkkkk"); }) ); }); @@ -37,22 +56,62 @@ self.addEventListener('activate', evt => { }); // fetch event - +/* self.addEventListener('fetch', evt => { console.log('fetch event'); + evt.respondWith( + caches.match(evt.request).then(async function (cacheRes) { + return cacheRes || fetch(evt.request).then(fetchRes => { + return caches.open(dynamicCacheName).then(cache => { + cache.put(evt.request.url, fetchRes.clone()).then(r => { + return fetchRes; + }); + }).catch((r) => { + console.log("I dont work"); + }); + }); + }) + ); +});*/ + +self.addEventListener('fetch', evt => { + console.log('fetch event', evt); evt.respondWith( - caches.match(evt.request).then( async function (cacheRes){ + caches.match(evt.request).then(cacheRes => { return cacheRes || fetch(evt.request).then(fetchRes => { return caches.open(dynamicCacheName).then(cache => { - cache.put(evt.request.url, fetchRes.clone()).then(r => { - return fetchRes; - }); + cache.put(evt.request.url, fetchRes.clone()); + return fetchRes; }) }); + }).catch(function () { + return caches.match('/offline.html'); }) ); }); +/* +self.addEventListener('fetch', evt => { + console.log("ARGHHHH"); + + if(navigator.onLine) { + evt.respondWith(async function() { + return fetch(evt.request).then((fetchRes) => { + caches.open(dynamicCacheName).then(cache => { + cache.put(evt.request.url, fetchRes.clone()); + }) + }) + }); + } else { + console.log('fetch event'); + evt.respondWith(async function () { + let cachedResponse = await caches.match(evt.request); + + if(cachedResponse) return cachedResponse; + else return caches.match("/offline.html"); + }); + } +});*/ /* diff --git a/skolehjem/resources/views/app/layout/base.blade.php b/skolehjem/resources/views/app/layout/base.blade.php index 32aae87..e789137 100644 --- a/skolehjem/resources/views/app/layout/base.blade.php +++ b/skolehjem/resources/views/app/layout/base.blade.php @@ -14,7 +14,7 @@ - + diff --git a/skolehjem/resources/views/user/layout/base.blade.php b/skolehjem/resources/views/user/layout/base.blade.php index 0c20034..a0bbc0e 100644 --- a/skolehjem/resources/views/user/layout/base.blade.php +++ b/skolehjem/resources/views/user/layout/base.blade.php @@ -24,13 +24,13 @@ - + @yield("content") - + @yield("scripts")