summaryrefslogtreecommitdiff
path: root/public/-pwa/serviceWorker.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/-pwa/serviceWorker.js')
-rw-r--r--public/-pwa/serviceWorker.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/public/-pwa/serviceWorker.js b/public/-pwa/serviceWorker.js
new file mode 100644
index 00000000000..a4150232b1f
--- /dev/null
+++ b/public/-pwa/serviceWorker.js
@@ -0,0 +1,19 @@
+/* global self */
+
+self.addEventListener('install', event => { // eslint-disable-line no-restricted-globals
+ event.waitUntil(
+ caches.open('gl-offline')
+ .then(cache => cache.addAll([
+ '/-pwa/offline.html',
+ ])),
+ );
+});
+
+self.addEventListener('fetch', event => { // eslint-disable-line no-restricted-globals
+ const { request } = event;
+
+ event.respondWith(
+ fetch(request)
+ .catch(() => (request.mode === 'navigate' ? caches.match('/offline.html') : null))
+ );
+});