import { createRouter } from '@tanstack/react-router'
import { routeTree } from './routeTree.gen'
import { createAppQueryClient } from '@/lib/query-client'

export type RouterContext = { queryClient: ReturnType<typeof createAppQueryClient> }

export function getRouter() {
  const queryClient = createAppQueryClient()
  return createRouter({ routeTree, context: { queryClient }, scrollRestoration: true, defaultPreload: 'intent' })
}

declare module '@tanstack/react-router' {
  interface Register { router: ReturnType<typeof getRouter> }
}
