import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App";
// ── Service Worker: unregister em dev, registar em prod ───────────────────
if ("serviceWorker" in navigator) {
  if (import.meta.env.DEV) {
    // Em desenvolvimento: remover QUALQUER SW registado para evitar página branca
    navigator.serviceWorker.getRegistrations().then((regs) => {
      regs.forEach((reg) => {
        reg.unregister();
        console.log("[PWA] SW removido em modo dev");
      });
    });
  } else {
    // Em produção: registar o SW
    window.addEventListener("load", () => {
      navigator.serviceWorker
        .register("/sw.js", { scope: "/" })
        .then((reg) => console.log("[PWA] SW registado:", reg.scope))
        .catch((err) => console.warn("[PWA] SW falhou:", err));
    });
  }
}
ReactDOM.createRoot(document.getElementById("root")).render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
);

// ── Remove splash screen após o React montar ───────────────────────────
setTimeout(() => {
  const splash = document.getElementById("splash");
  if (splash) {
    splash.style.transition = "opacity 0.35s";
    splash.style.opacity = "0";
    setTimeout(() => splash.remove(), 400);
  }
}, 3000);
