import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { RouterProvider, createBrowserRouter } from "react-router";
import { ApiError } from "./api";
import { Layout } from "./Layout";
import { FeedPage } from "./pages/FeedPage";
import { EntryPage } from "./pages/EntryPage";
import { UserPage } from "./pages/UserPage";
import { StatsPage } from "./pages/StatsPage";
import { ResetPage } from "./pages/ResetPage";
import "./app.css";
const queryClient = new QueryClient({
defaultOptions: {
queries: {
// 4xx ist eine Antwort, kein Aussetzer -- erneut fragen ändert nichts.
retry: (count, err) => !(err instanceof ApiError && err.status < 500) && count < 2,
// Beim Zurückwechseln in den Tab nicht den ganzen Feed neu laden; die
// Daten werden gezielt nach eigenen Aktionen invalidiert.
refetchOnWindowFocus: false,
staleTime: 30_000,
},
},
});
const router = createBrowserRouter([
{
element: ,
children: [
{ path: "/", element: },
{ path: "/e/:pid", element: },
{ path: "/u/:username", element: },
{ path: "/stats", element: },
{ path: "/reset", element: },
],
},
]);
createRoot(document.getElementById("root")!).render(
,
);