2018-05-18 11:28:29 +02:00
|
|
|
/* eslint-disable no-console */
|
|
|
|
|
2020-02-18 08:57:00 +01:00
|
|
|
import { register } from "register-service-worker";
|
2018-05-18 11:28:29 +02:00
|
|
|
|
2021-05-12 18:24:38 +02:00
|
|
|
if ("serviceWorker" in navigator && isProduction()) {
|
|
|
|
register(`${process.env.BASE_URL}service-worker.js`, {
|
|
|
|
ready() {
|
2021-06-18 18:19:04 +02:00
|
|
|
console.debug(
|
2021-05-12 18:24:38 +02:00
|
|
|
"App is being served from cache by a service worker.\n" +
|
|
|
|
"For more details, visit https://goo.gl/AFskqB"
|
|
|
|
);
|
|
|
|
},
|
|
|
|
registered() {
|
2021-06-18 18:19:04 +02:00
|
|
|
console.debug("Service worker has been registered.");
|
2021-05-12 18:24:38 +02:00
|
|
|
},
|
|
|
|
cached() {
|
2021-06-18 18:19:04 +02:00
|
|
|
console.debug("Content has been cached for offline use.");
|
2021-05-12 18:24:38 +02:00
|
|
|
},
|
|
|
|
updatefound() {
|
2021-06-18 18:19:04 +02:00
|
|
|
console.debug("New content is downloading.");
|
2021-05-12 18:24:38 +02:00
|
|
|
},
|
2021-06-18 18:19:04 +02:00
|
|
|
updated(registration: ServiceWorkerRegistration) {
|
|
|
|
const event = new CustomEvent("refreshApp", { detail: registration });
|
|
|
|
document.dispatchEvent(event);
|
|
|
|
console.debug("New content is available; please refresh.");
|
2021-05-12 18:24:38 +02:00
|
|
|
},
|
|
|
|
offline() {
|
2021-06-18 18:19:04 +02:00
|
|
|
console.debug(
|
2021-05-12 18:24:38 +02:00
|
|
|
"No internet connection found. App is running in offline mode."
|
|
|
|
);
|
|
|
|
},
|
|
|
|
error(error) {
|
|
|
|
console.error("Error during service worker registration:", error);
|
|
|
|
},
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function isProduction(): boolean {
|
2021-06-18 18:19:04 +02:00
|
|
|
return process.env.NODE_ENV === "production";
|
2021-05-12 18:24:38 +02:00
|
|
|
}
|