attestation_covid/src/js/check-updates.js
2020-10-30 10:12:32 +01:00

36 lines
1.2 KiB
JavaScript

import { $ } from './dom-utils'
// Ce fichier est généré au build par le plugin parcel-plugin-sw-cache
const swName = '../sw.js'
window.isUpdateAvailable = new Promise(function (resolve, reject) {
// lazy way of disabling service workers while developing
if ('serviceWorker' in navigator) {
navigator.serviceWorker
.register(swName)
.then((registration) => {
registration.onupdatefound = () => {
const installingWorker = registration.installing
installingWorker.onstatechange = () => {
switch (installingWorker.state) {
case 'installed':
if (navigator.serviceWorker.controller) {
// new update available
resolve(true)
} else {
// no update available
resolve(false)
}
break
}
}
}
})
.catch((err) => console.error('[SW ERROR]', err)) // eslint-disable-line no-console
}
})
window.isUpdateAvailable.then((isAvailable) => {
$('#reload-btn').addEventListener('click', () => window.location.reload())
$('#update-alert').classList.remove('d-none')
})