From 0b918464c191b892517908b069565a5ccbc6f7f3 Mon Sep 17 00:00:00 2001 From: nimbleghost <132819643+nimbleghost@users.noreply.github.com> Date: Fri, 30 Jun 2023 08:59:20 +0200 Subject: [PATCH] Move registerSW out --- web/src/components/theme.js | 1 + web/src/index.jsx | 29 ++--------------------------- web/src/registerSW.js | 31 +++++++++++++++++++++++++++++++ web/vite.config.js | 1 + 4 files changed, 35 insertions(+), 27 deletions(-) create mode 100644 web/src/registerSW.js diff --git a/web/src/components/theme.js b/web/src/components/theme.js index 0ce693a6..9cf6649f 100644 --- a/web/src/components/theme.js +++ b/web/src/components/theme.js @@ -58,6 +58,7 @@ export const darkTheme = { MuiPaper: { styleOverrides: { root: { + // for the sidebar on narrow (xs) screens backgroundImage: "none", }, }, diff --git a/web/src/index.jsx b/web/src/index.jsx index 040f94b5..1a123a8a 100644 --- a/web/src/index.jsx +++ b/web/src/index.jsx @@ -1,34 +1,9 @@ import * as React from "react"; import { createRoot } from "react-dom/client"; -// eslint-disable-next-line import/no-unresolved -import { registerSW } from "virtual:pwa-register"; import App from "./components/App"; +import registerSW from "./registerSW"; -// fetch new sw every hour, i.e. update app every hour while running -const intervalMS = 60 * 60 * 1000; - -// https://vite-pwa-org.netlify.app/guide/periodic-sw-updates.html -registerSW({ - onRegisteredSW(swUrl, registration) { - if (!registration) { - return; - } - - setInterval(async () => { - if (registration.installing || navigator?.onLine === false) return; - - const resp = await fetch(swUrl, { - cache: "no-store", - headers: { - cache: "no-store", - "cache-control": "no-cache", - }, - }); - - if (resp?.status === 200) await registration.update(); - }, intervalMS); - }, -}); +registerSW(); const root = createRoot(document.querySelector("#root")); root.render(); diff --git a/web/src/registerSW.js b/web/src/registerSW.js new file mode 100644 index 00000000..adef4746 --- /dev/null +++ b/web/src/registerSW.js @@ -0,0 +1,31 @@ +// eslint-disable-next-line import/no-unresolved +import { registerSW as viteRegisterSW } from "virtual:pwa-register"; + +// fetch new sw every hour, i.e. update app every hour while running +const intervalMS = 60 * 60 * 1000; + +// https://vite-pwa-org.netlify.app/guide/periodic-sw-updates.html +const registerSW = () => + viteRegisterSW({ + onRegisteredSW(swUrl, registration) { + if (!registration) { + return; + } + + setInterval(async () => { + if (registration.installing || navigator?.onLine === false) return; + + const resp = await fetch(swUrl, { + cache: "no-store", + headers: { + cache: "no-store", + "cache-control": "no-cache", + }, + }); + + if (resp?.status === 200) await registration.update(); + }, intervalMS); + }, + }); + +export default registerSW; diff --git a/web/vite.config.js b/web/vite.config.js index 4df6ef9d..a4fd5a31 100644 --- a/web/vite.config.js +++ b/web/vite.config.js @@ -16,6 +16,7 @@ export default defineConfig(({ mode }) => ({ react(), VitePWA({ registerType: "autoUpdate", + // see registerSW.js imported by index.jsx injectRegister: null, strategies: "injectManifest", devOptions: {