mirror of
https://github.com/luckyyzh/pi-agent-integrated.git
synced 2026-10-03 02:59:35 +00:00
34 lines
865 B
TypeScript
34 lines
865 B
TypeScript
"use client";
|
|
|
|
import { useEffect } from "react";
|
|
|
|
export function PwaRegistration() {
|
|
useEffect(() => {
|
|
if (process.env.NODE_ENV !== "production" || !("serviceWorker" in navigator)) {
|
|
return;
|
|
}
|
|
|
|
const register = () => {
|
|
const appVersion = process.env.NEXT_PUBLIC_APP_VERSION ?? "dev";
|
|
const scriptUrl = `/sw.js?v=${encodeURIComponent(appVersion)}`;
|
|
|
|
void navigator.serviceWorker.register(scriptUrl, {
|
|
scope: "/",
|
|
updateViaCache: "none",
|
|
}).catch((error: unknown) => {
|
|
console.error("Failed to register the Pi Web service worker:", error);
|
|
});
|
|
};
|
|
|
|
if (document.readyState === "complete") {
|
|
register();
|
|
return;
|
|
}
|
|
|
|
window.addEventListener("load", register, { once: true });
|
|
return () => window.removeEventListener("load", register);
|
|
}, []);
|
|
|
|
return null;
|
|
}
|