25 lines
659 B
TypeScript
25 lines
659 B
TypeScript
"use client";
|
|
|
|
import { useEffect } from "react";
|
|
|
|
export function RegisterSW() {
|
|
useEffect(() => {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
if (typeof navigator !== "undefined" && "serviceWorker" in navigator) {
|
|
navigator.serviceWorker
|
|
.getRegistrations()
|
|
.then((registrations) =>
|
|
Promise.all(registrations.map((registration) => registration.unregister())),
|
|
)
|
|
.catch(() => {});
|
|
}
|
|
return;
|
|
}
|
|
|
|
if (typeof navigator !== "undefined" && "serviceWorker" in navigator) {
|
|
navigator.serviceWorker.register("/sw.js").catch(() => {});
|
|
}
|
|
}, []);
|
|
return null;
|
|
}
|