feat(#6): Add PWA functionality and service worker

This commit is contained in:
Josh Creek
2022-10-08 00:41:44 +01:00
parent c173215b29
commit 4ba77a358a
10 changed files with 4825 additions and 744 deletions
+28
View File
@@ -0,0 +1,28 @@
export default function loadServiceWorker() {
let deferredPrompt;
window.addEventListener('beforeinstallprompt', (e) => {
const installApp = document.getElementById('install-offline-app');
installApp.addEventListener('click', async () => {
if (deferredPrompt !== null) {
deferredPrompt.prompt();
const { outcome } = await deferredPrompt.userChoice;
if (outcome === 'accepted') {
deferredPrompt = null;
}
}
});
document.getElementById('install-app-btn-container').style.display = 'block';
deferredPrompt = e;
});
window.addEventListener('load', () => {
navigator.serviceWorker.register('/service-worker.js');
});
if (window.matchMedia('(display-mode: standalone)').matches) {
document.getElementById('install-app-btn-container').style.display = 'none';
}
}