Files
file-one/src/routes/__root.tsx

47 lines
1.3 KiB
TypeScript
Raw Normal View History

2025-09-13 22:02:27 +01:00
import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar"
import { Toaster } from "@/components/ui/sonner"
import DashboardSidebar from "@/dashboard/dashboard-sidebar"
import "@/styles/globals.css"
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"
import { createRootRoute, Outlet } from "@tanstack/react-router"
import { TanStackRouterDevtools } from "@tanstack/router-devtools"
2025-09-13 22:02:27 +01:00
import { ConvexProvider, ConvexReactClient } from "convex/react"
import { toast } from "sonner"
import { formatError } from "@/lib/error"
2025-09-13 22:02:27 +01:00
export const Route = createRootRoute({
component: RootLayout,
})
const convexClient = new ConvexReactClient(process.env.BUN_PUBLIC_CONVEX_URL!)
const queryClient = new QueryClient({
defaultOptions: {
mutations: {
onError: (error) => {
console.log(error)
toast.error(formatError(error))
},
throwOnError: false,
},
},
})
2025-09-13 22:02:27 +01:00
function RootLayout() {
return (
<QueryClientProvider client={queryClient}>
<ConvexProvider client={convexClient}>
<SidebarProvider>
<div className="flex h-screen w-full">
<DashboardSidebar />
<SidebarInset>
<Outlet />
</SidebarInset>
</div>
<Toaster />
<TanStackRouterDevtools />
</SidebarProvider>
</ConvexProvider>
</QueryClientProvider>
2025-09-13 22:02:27 +01:00
)
}