38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
"use client";
|
|
|
|
import * as React from "react";
|
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
import { TooltipProvider } from "@/components/ui/tooltip";
|
|
import { Toaster } from "@/components/ui/toaster";
|
|
import { Toaster as Sonner } from "@/components/ui/sonner";
|
|
import { ThemeProvider } from "@/components/ThemeProvider";
|
|
import MobileVerificationGate from "@/components/MobileVerificationGate";
|
|
import { AuthProvider } from "@/contexts/AuthContext";
|
|
import { NotificationsProvider } from "@/contexts/NotificationsContext";
|
|
|
|
export default function Providers({ children }: { children: React.ReactNode }) {
|
|
const [queryClient] = React.useState(() => new QueryClient());
|
|
|
|
return (
|
|
<ThemeProvider
|
|
attribute="class"
|
|
defaultTheme="system"
|
|
enableSystem
|
|
storageKey="egce-theme"
|
|
>
|
|
<QueryClientProvider client={queryClient}>
|
|
<AuthProvider>
|
|
<NotificationsProvider>
|
|
<TooltipProvider>
|
|
<Toaster />
|
|
<Sonner />
|
|
{children}
|
|
<MobileVerificationGate />
|
|
</TooltipProvider>
|
|
</NotificationsProvider>
|
|
</AuthProvider>
|
|
</QueryClientProvider>
|
|
</ThemeProvider>
|
|
);
|
|
}
|