"use client"; import { useEffect } from "react"; /** * Registers the service worker in production builds only. * * Dev stays untouched: a cached shell would fight hot reload, and the worker * would also hide real 404s while developing. */ export function ServiceWorkerRegistrar() { useEffect(() => { if (process.env.NODE_ENV !== "production") return; if (typeof navigator === "undefined" || !("serviceWorker" in navigator)) return; const register = () => { navigator.serviceWorker.register("/sw.js", { scope: "/" }).catch((error) => { console.warn("[freezmo] service worker registration failed", error); }); }; if (document.readyState === "complete") register(); else { window.addEventListener("load", register, { once: true }); return () => window.removeEventListener("load", register); } }, []); return null; }