import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import { RouterProvider } from "@tanstack/react-router";

import { getRouter } from "./router";
import { reportLovableError } from "./lib/lovable-error-reporting";
import "./styles.css";

if (typeof window !== "undefined") {
  window.addEventListener("error", (event) =>
    reportLovableError(event.error ?? event, { mechanism: "onerror", handled: false }),
  );
  window.addEventListener("unhandledrejection", (event) =>
    reportLovableError(event.reason, { mechanism: "unhandledrejection", handled: false }),
  );
}

const router = getRouter();

createRoot(document.getElementById("root")!).render(
  <StrictMode>
    <RouterProvider router={router} />
  </StrictMode>,
);
