Add TanStack Router, TanStack Query, Directus client, entity types

This commit is contained in:
2026-04-23 21:09:15 +04:00
parent 46001192be
commit d50a22a7b8
9 changed files with 327 additions and 15 deletions

View File

@@ -0,0 +1,37 @@
import { Outlet, createRootRouteWithContext } from '@tanstack/react-router'
import type { QueryClient } from '@tanstack/react-query'
import { lazy, Suspense } from 'react'
import { globalsQuery, menusQuery } from '@/lib/queries'
const TanStackRouterDevtools =
import.meta.env.PROD
? () => null
: lazy(() =>
import('@tanstack/react-router-devtools').then((m) => ({ default: m.TanStackRouterDevtools })),
)
const ReactQueryDevtools =
import.meta.env.PROD
? () => null
: lazy(() =>
import('@tanstack/react-query-devtools').then((m) => ({ default: m.ReactQueryDevtools })),
)
export const Route = createRootRouteWithContext<{ queryClient: QueryClient }>()({
loader: async ({ context: { queryClient } }) => {
await Promise.all([queryClient.ensureQueryData(globalsQuery), queryClient.ensureQueryData(menusQuery)])
},
component: RootComponent,
})
function RootComponent() {
return (
<>
<Outlet />
<Suspense>
<TanStackRouterDevtools />
<ReactQueryDevtools buttonPosition="bottom-left" />
</Suspense>
</>
)
}