Files
nextjs-template/components/providers.tsx
T

27 lines
931 B
TypeScript
Raw Normal View History

"use client";
import * as React from "react";
import { QueryClientProvider } from "@tanstack/react-query";
import { ThemeProvider } from "next-themes";
import { NuqsAdapter } from "nuqs/adapters/next/app";
import { TooltipProvider } from "@/components/ui/tooltip";
import { Toaster } from "@/components/ui/sonner";
import { getQueryClient } from "@/lib/query-client";
export function Providers({ children }: { children: React.ReactNode }) {
const queryClient = React.useMemo(() => getQueryClient(), []);
return (
<QueryClientProvider client={queryClient}>
<ThemeProvider attribute="class" defaultTheme="system" enableSystem disableTransitionOnChange>
<NuqsAdapter>
<TooltipProvider delay={0}>
{children}
<Toaster richColors closeButton position="bottom-right" />
</TooltipProvider>
</NuqsAdapter>
</ThemeProvider>
</QueryClientProvider>
);
}