summaryrefslogtreecommitdiff
path: root/components/layout/providers.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'components/layout/providers.tsx')
-rw-r--r--components/layout/providers.tsx38
1 files changed, 38 insertions, 0 deletions
diff --git a/components/layout/providers.tsx b/components/layout/providers.tsx
new file mode 100644
index 00000000..1c645531
--- /dev/null
+++ b/components/layout/providers.tsx
@@ -0,0 +1,38 @@
+"use client"
+
+import * as React from "react"
+import { Provider as JotaiProvider } from "jotai"
+import { ThemeProvider as NextThemesProvider } from "next-themes"
+import { NuqsAdapter } from "nuqs/adapters/next/app"
+import { SessionProvider } from "next-auth/react";
+import { CacheProvider } from '@emotion/react';
+
+import { TooltipProvider } from "@/components/ui/tooltip"
+import createEmotionCache from './createEmotionCashe';
+
+
+const cache = createEmotionCache();
+
+
+export function ThemeProvider({
+ children,
+ ...props
+}: React.ComponentProps<typeof NextThemesProvider>) {
+ return (
+ <JotaiProvider>
+ <CacheProvider value={cache}>
+
+ <NextThemesProvider {...props}>
+ <TooltipProvider delayDuration={0}>
+ <NuqsAdapter>
+ <SessionProvider>
+ {children}
+ </SessionProvider>
+ </NuqsAdapter>
+ </TooltipProvider>
+ </NextThemesProvider>
+ </CacheProvider>
+
+ </JotaiProvider>
+ )
+}