import { QueryClient } from "@tanstack/react-query";
import { createRouter } from "@tanstack/react-router";
import { routeTree } from "./routeTree.gen";
import { PageFallback } from "./components/RouteFallback";
// Side-effect import: arms detailed hydration mismatch logging before hydration.
import "./lib/hydration-debug";

export const getRouter = () => {
  const queryClient = new QueryClient();

  const router = createRouter({
    routeTree,
    context: { queryClient },
    scrollRestoration: true,
    defaultPreloadStaleTime: 0,
    // Never show a blank page while a route resolves.
    defaultPendingComponent: () => <PageFallback />,
    defaultPendingMs: 150,
    defaultPendingMinMs: 300,
  });

  return router;
};
