23 lines
557 B
TypeScript
23 lines
557 B
TypeScript
|
|
"use client";
|
||
|
|
|
||
|
|
import { useEffect } from "react";
|
||
|
|
|
||
|
|
export function ServiceWorkerRegister() {
|
||
|
|
useEffect(() => {
|
||
|
|
if (typeof navigator === "undefined") return;
|
||
|
|
if (!("serviceWorker" in navigator)) return;
|
||
|
|
if (process.env.NODE_ENV !== "production") return;
|
||
|
|
|
||
|
|
const register = () => {
|
||
|
|
navigator.serviceWorker
|
||
|
|
.register("/sw.js", { scope: "/" })
|
||
|
|
.catch(() => {});
|
||
|
|
};
|
||
|
|
|
||
|
|
if (document.readyState === "complete") register();
|
||
|
|
else window.addEventListener("load", register, { once: true });
|
||
|
|
}, []);
|
||
|
|
|
||
|
|
return null;
|
||
|
|
}
|