import { createRouter as createTanStackRouter } from '@tanstack/solid-router'
import { routeTree } from './routeTree.gen'
<% if (addOnEnabled['tanstack-query']) { %>
import { getContext } from './integrations/tanstack-query/provider'
<% } %>

export function getRouter() {
  const router = createTanStackRouter({
    routeTree,
<% if (addOnEnabled['tanstack-query']) { %>
    context: getContext(),
<% } %>
    scrollRestoration: true,
    defaultPreload: 'intent',
    defaultPreloadStaleTime: 0,
  })

  return router
}

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