2019-05-08 07:52:12 -07:00
|
|
|
import { snackbar } from '../_components/snackbar/snackbar'
|
2018-01-18 23:37:43 -08:00
|
|
|
|
2019-06-01 12:17:12 -07:00
|
|
|
function onUpdateFound (registration) {
|
|
|
|
const newWorker = registration.installing
|
2018-01-18 23:37:43 -08:00
|
|
|
|
2019-06-01 12:17:12 -07:00
|
|
|
newWorker.addEventListener('statechange', async () => {
|
|
|
|
if (newWorker.state === 'installed' && navigator.serviceWorker.controller) {
|
|
|
|
snackbar.announce('App update available.', 'Reload', () => document.location.reload(true))
|
|
|
|
}
|
2018-02-08 22:29:29 -08:00
|
|
|
})
|
2018-01-18 23:37:43 -08:00
|
|
|
}
|
|
|
|
|
2019-06-01 12:17:12 -07:00
|
|
|
if ('serviceWorker' in navigator) {
|
|
|
|
navigator.serviceWorker.register('/service-worker.js').then(registration => {
|
|
|
|
registration.addEventListener('updatefound', () => onUpdateFound(registration))
|
2018-01-18 23:37:43 -08:00
|
|
|
})
|
2018-02-08 22:29:29 -08:00
|
|
|
}
|