Files
drive/apps/drive-web/src/routes/__root.tsx

36 lines
1013 B
TypeScript
Raw Normal View History

2025-09-13 22:02:27 +01:00
import "@/styles/globals.css"
import { QueryClientProvider } from "@tanstack/react-query"
import { createRootRouteWithContext, Outlet } from "@tanstack/react-router"
import { Provider } from "jotai"
import { useHydrateAtoms } from "jotai/utils"
import { queryClientAtom } from "jotai-tanstack-query"
import type React from "react"
import { Toaster } from "@/components/ui/sonner"
2025-09-21 15:12:05 +00:00
import { useKeyboardModifierListener } from "@/lib/keyboard"
import { queryClient } from "@/query-client"
import type { RouterContext } from "@/router"
2025-09-13 22:02:27 +01:00
export const Route = createRootRouteWithContext<RouterContext>()({
2025-09-13 22:02:27 +01:00
component: RootLayout,
})
function HydrateAtoms({ children }: React.PropsWithChildren) {
useHydrateAtoms(new Map([[queryClientAtom, queryClient]]))
return children
}
2025-09-13 22:02:27 +01:00
function RootLayout() {
2025-09-21 15:12:05 +00:00
useKeyboardModifierListener()
2025-09-13 22:02:27 +01:00
return (
<QueryClientProvider client={queryClient}>
<Provider>
<HydrateAtoms>
<Outlet />
<Toaster />
</HydrateAtoms>
</Provider>
</QueryClientProvider>
2025-09-13 22:02:27 +01:00
)
}