From 65d3539383b82878857f35a3c78e3406dd0dd937 Mon Sep 17 00:00:00 2001 From: OmegaRogue Date: Sat, 4 Apr 2020 12:12:11 +0200 Subject: [PATCH] added service-worker.js Signed-off-by: OmegaRogue --- index.html | 1 + js/pwa.js | 21 +++++++++++++++++++++ js/service-worker.js | 14 ++++++++++++++ site.webmanifest | 4 +++- 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 js/pwa.js create mode 100644 js/service-worker.js diff --git a/index.html b/index.html index b3e78d848..300fb017d 100644 --- a/index.html +++ b/index.html @@ -142,5 +142,6 @@ + diff --git a/js/pwa.js b/js/pwa.js new file mode 100644 index 000000000..4f497b173 --- /dev/null +++ b/js/pwa.js @@ -0,0 +1,21 @@ +const divInstall = document.getElementById('installContainer'); +const butInstall = document.getElementById('butInstall'); + + +/* Only register a service worker if it's supported */ +if ('serviceWorker' in navigator) { + navigator.serviceWorker.register('/service-worker.js'); +} + +/** + * Warn the page must be served over HTTPS + * The `beforeinstallprompt` event won't fire if the page is served over HTTP. + * Installability requires a service worker with a fetch event handler, and + * if the page isn't served over HTTPS, the service worker won't load. + */ +if (window.location.protocol === 'http:') { + const requireHTTPS = document.getElementById('requireHTTPS'); + const link = requireHTTPS.querySelector('a'); + link.href = window.location.href.replace('http://', 'https://'); + requireHTTPS.classList.remove('hidden'); +} \ No newline at end of file diff --git a/js/service-worker.js b/js/service-worker.js new file mode 100644 index 000000000..2581bc9d1 --- /dev/null +++ b/js/service-worker.js @@ -0,0 +1,14 @@ +self.addEventListener('install', (event) => { + console.log('👷', 'install', event); + self.skipWaiting(); +}); + +self.addEventListener('activate', (event) => { + console.log('👷', 'activate', event); + return self.clients.claim(); +}); + +self.addEventListener('fetch', function(event) { + // console.log('👷', 'fetch', event); + event.respondWith(fetch(event.request)); +}); \ No newline at end of file diff --git a/site.webmanifest b/site.webmanifest index 2798f7f98..cf4d186f6 100644 --- a/site.webmanifest +++ b/site.webmanifest @@ -1,6 +1,7 @@ { "name": "BangleApps", "short_name": "BangleApps", + "description": "Banglejs App Store", "icons": [ { "src": "/android-chrome-192x192.png", @@ -16,5 +17,6 @@ "theme_color": "#5755d9", "background_color": "#5755d9", "display": "standalone", - "start_url": "/" + "start_url": "/", + "scope": "/" }