findyourpilot/src/router.tsx

36 lines
959 B
TypeScript

import { createRouter as createTanstackRouter } from "@tanstack/react-router"
import { setupRouterSsrQueryIntegration } from "@tanstack/react-router-ssr-query"
import { createQueryContext } from "./integrations/tanstack-query/context.tsx"
import { QueryProvider } from "./integrations/tanstack-query/provider.tsx"
import { routeTree } from "./routeTree.gen.ts"
export const createRouter = () => {
const { queryClient } = createQueryContext()
const router = createTanstackRouter({
routeTree,
context: { queryClient, user: null },
defaultPreload: "intent",
Wrap: (props: { children: React.ReactNode }) => {
return (
<QueryProvider {...{ queryClient }}>{props.children}</QueryProvider>
)
}
})
setupRouterSsrQueryIntegration({
router,
queryClient,
handleRedirects: true,
wrapQueryClient: false
})
return router
}
declare module "@tanstack/react-router" {
interface Register {
router: ReturnType<typeof createRouter>
}
}