1
0
mirror of https://github.com/nolanlawson/pinafore synced 2025-02-02 14:56:48 +01:00
Pinafore-Web-Client-Frontend/routes/_utils/serviceWorkerClient.js

18 lines
573 B
JavaScript
Raw Normal View History

2018-01-18 23:37:43 -08:00
import { toast } from './toast'
2018-02-08 22:29:29 -08:00
function onUpdateFound (registration) {
2018-01-18 23:37:43 -08:00
const newWorker = registration.installing
newWorker.addEventListener('statechange', async () => {
2018-01-19 00:29:45 -08:00
if (newWorker.state === 'installed' && navigator.serviceWorker.controller) {
toast.say('Update available. Refresh to update.')
2018-01-18 23:37:43 -08:00
}
2018-02-08 22:29:29 -08:00
})
2018-01-18 23:37:43 -08:00
}
if (!location.origin.match('localhost') && 'serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js').then(registration => {
registration.addEventListener('updatefound', () => onUpdateFound(registration))
})
2018-02-08 22:29:29 -08:00
}