Registe service worker

This commit is contained in:
2023-06-26 13:36:25 +08:00
parent 21e0fe0923
commit f685e74c6a
2 changed files with 17 additions and 0 deletions

View File

@@ -13,6 +13,7 @@ import { initState, set_state } from "../server/state.ts";
import NewTask from "../components/NewTask.tsx";
import { parse_int } from "../server/parse.ts";
import { detect_darkmode } from "../server/dark.ts";
import { registeServiceWorker } from "../server/sw.ts";
export type ContainerProps = {
i18n: I18NMap;
@@ -68,6 +69,12 @@ export default class Container extends Component<ContainerProps> {
} else if (dm === DarkMode.Dark) {
document.body.classList.add("dark-scheme");
}
registeServiceWorker("/sw.js", { updateViaCache: "all" }).catch(
(e) => {
console.error("Failed to registe service worker.");
console.error(e);
},
);
}, []);
return (
<div>

10
server/sw.ts Normal file
View File

@@ -0,0 +1,10 @@
export async function registeServiceWorker(
path: string,
options?: RegistrationOptions,
) {
const r = await navigator.serviceWorker.getRegistration(path);
if (r === undefined) {
return await navigator.serviceWorker.register(path, options);
}
return r;
}