import { RouterProvider } from "@tanstack/react-router";
import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import { detectInitialLanguage, LanguageProvider } from "./i18n/language";
import { router } from "./router";
import "./index.css";

// Resolve the language before the first paint so the wrong one never flashes.
const initialLanguage = detectInitialLanguage();
document.documentElement.lang = initialLanguage;

if ("IntersectionObserver" in window) {
  document.documentElement.classList.add("js-reveal");
}

const root = document.getElementById("root");
if (!root) throw new Error("Missing #root element");

createRoot(root).render(
  <StrictMode>
    <LanguageProvider initialLanguage={initialLanguage}>
      <RouterProvider router={router} />
    </LanguageProvider>
  </StrictMode>,
);
