import React from "react"; import ReactDOM from "react-dom/client"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { RouterProvider } from "@tanstack/react-router"; import { router } from "./router.js"; import "./index.css"; // Muss VOR dem ersten Render laufen und unabhängig davon, welche Route // zuerst geladen wird (z. B. Direktlink auf /admin/...) – vorher hing das // Anwenden der Dark-Mode-Klasse an useTheme(), das nur auf Home/Einstellungen // aufgerufen wurde, wodurch andere Admin-Seiten beim Direktaufruf immer hell // starteten, egal was gespeichert war. function applyStoredTheme() { const stored = window.localStorage.getItem("launchpad-theme"); const theme = stored === "light" || stored === "dark" ? stored : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; document.documentElement.classList.toggle("dark", theme === "dark"); } applyStoredTheme(); const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 30_000, refetchOnWindowFocus: false, }, }, }); ReactDOM.createRoot(document.getElementById("root")!).render( );