2018-01-15 01:13:42 +00:00
|
|
|
import { init } from 'sapper/runtime.js'
|
2018-01-19 04:57:15 +00:00
|
|
|
import { toast } from '../routes/_utils/toast'
|
2018-01-19 05:25:12 +00:00
|
|
|
|
2018-01-17 08:06:24 +00:00
|
|
|
import {
|
|
|
|
importURLSearchParams,
|
|
|
|
importIntersectionObserver,
|
2018-01-19 04:57:15 +00:00
|
|
|
importRequestIdleCallback,
|
|
|
|
importIndexedDBGetAllShim,
|
2018-01-19 05:25:12 +00:00
|
|
|
importOfflineNotification
|
2018-01-17 08:06:24 +00:00
|
|
|
} from '../routes/_utils/asyncModules'
|
2018-01-06 23:51:25 +00:00
|
|
|
|
2018-01-08 07:00:15 +00:00
|
|
|
// polyfills
|
|
|
|
Promise.all([
|
2018-01-17 04:34:09 +00:00
|
|
|
typeof URLSearchParams === 'undefined' && importURLSearchParams(),
|
2018-01-17 08:06:24 +00:00
|
|
|
typeof IntersectionObserver === 'undefined' && importIntersectionObserver(),
|
2018-01-19 04:57:15 +00:00
|
|
|
typeof requestIdleCallback === 'undefined' && importRequestIdleCallback(),
|
|
|
|
!IDBObjectStore.prototype.getAll && importIndexedDBGetAllShim()
|
2018-01-08 07:00:15 +00:00
|
|
|
]).then(() => {
|
|
|
|
// `routes` is an array of route objects injected by Sapper
|
|
|
|
init(document.querySelector('#sapper'), __routes__)
|
2018-01-15 01:13:42 +00:00
|
|
|
|
|
|
|
if (navigator.serviceWorker && navigator.serviceWorker.controller) {
|
|
|
|
navigator.serviceWorker.controller.onstatechange = (e) => {
|
|
|
|
if (e.target.state === 'redundant') {
|
2018-01-19 04:57:15 +00:00
|
|
|
toast.say('App update available. Reload to update.');
|
2018-01-15 01:13:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2018-01-19 05:25:12 +00:00
|
|
|
})
|
2018-01-15 01:13:42 +00:00
|
|
|
|
2018-01-19 05:25:12 +00:00
|
|
|
importOfflineNotification()
|