Modularized, fixed SuperCafe's table
This commit is contained in:
43
dist/pwa.js
vendored
Normal file
43
dist/pwa.js
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
let newWorker;
|
||||
|
||||
function showUpdateBar() {
|
||||
let snackbar = document.getElementById("snackbar");
|
||||
snackbar.className = "show";
|
||||
}
|
||||
|
||||
// The click event on the pop up notification
|
||||
document.getElementById("reload").addEventListener("click", function () {
|
||||
setTimeout(() => {
|
||||
removeCache();
|
||||
}, 1000);
|
||||
newWorker.postMessage({ action: "skipWaiting" });
|
||||
});
|
||||
|
||||
if ("serviceWorker" in navigator) {
|
||||
navigator.serviceWorker.register("/sw.js").then((reg) => {
|
||||
reg.addEventListener("updatefound", () => {
|
||||
// A wild service worker has appeared in reg.installing!
|
||||
newWorker = reg.installing;
|
||||
|
||||
newWorker.addEventListener("statechange", () => {
|
||||
// Has network.state changed?
|
||||
switch (newWorker.state) {
|
||||
case "installed":
|
||||
if (navigator.serviceWorker.controller) {
|
||||
// new update available
|
||||
showUpdateBar();
|
||||
}
|
||||
// No update available
|
||||
break;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
let refreshing;
|
||||
navigator.serviceWorker.addEventListener("controllerchange", function () {
|
||||
if (refreshing) return;
|
||||
window.location.reload();
|
||||
refreshing = true;
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user