Files
vpinball/components/RegisterServiceWorker.tsx
T

19 lines
614 B
TypeScript
Raw Normal View History

"use client";
import { useEffect } from "react";
export default function RegisterServiceWorker() {
useEffect(() => {
// sw.js precaches /404.html, which only exists as a static file after
// `next build`'s static export — under `next dev` it 404s and fails the
// whole cache.addAll(), so only register outside of development.
if (process.env.NODE_ENV !== "production") return;
if (!("serviceWorker" in navigator)) return;
navigator.serviceWorker.register("/sw.js").catch((err) => {
console.error("Service worker registration failed:", err);
});
}, []);
return null;
}