36 lines
959 B
TypeScript
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>
|
|
}
|
|
}
|