// Nur der lateinische Zeichensatz (inkl. Umlaute); hält den Build klein.
import "@fontsource/ibm-plex-sans/latin-400.css";
import "@fontsource/ibm-plex-sans/latin-500.css";
import "@fontsource/ibm-plex-sans/latin-600.css";
import "@fontsource-variable/fraunces";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { RouterProvider } from "@tanstack/react-router";
import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import { AuthProvider } from "./auth/AuthProvider";
import "./index.css";
import { supabaseConfigured } from "./lib/supabase";
import { router } from "./router";

const queryClient = new QueryClient({
  defaultOptions: { queries: { retry: 1, refetchOnWindowFocus: false } },
});

const root = document.getElementById("root");
if (!root) throw new Error("Element #root fehlt in index.html");

createRoot(root).render(
  <StrictMode>
    {supabaseConfigured ? (
      <QueryClientProvider client={queryClient}>
        <AuthProvider>
          <RouterProvider router={router} />
        </AuthProvider>
      </QueryClientProvider>
    ) : (
      <p style={{ padding: 32, fontFamily: "system-ui" }}>
        Nicht eingerichtet: VITE_SUPABASE_URL und VITE_SUPABASE_PUBLISHABLE_KEY fehlen (siehe .env.example).
      </p>
    )}
  </StrictMode>,
);
