aboutsummaryrefslogtreecommitdiff
path: root/src/app/themeManager.jsx
diff options
context:
space:
mode:
authorreal-zephex <[email protected]>2024-05-29 10:01:52 +0530
committerreal-zephex <[email protected]>2024-05-29 10:01:52 +0530
commit06b2adcd10811b92b079294dbdab65727ff2015b (patch)
tree03205287b4f8fa77b251c6b94bac515db04ef314 /src/app/themeManager.jsx
parent✨ feat(series): rewrite series page and drop manga support (diff)
downloaddramalama-06b2adcd10811b92b079294dbdab65727ff2015b.tar.xz
dramalama-06b2adcd10811b92b079294dbdab65727ff2015b.zip
⚡️ perf(deps): upgrade to react 19 and next js 15, add loading screen, drop mangas support
Diffstat (limited to 'src/app/themeManager.jsx')
-rw-r--r--src/app/themeManager.jsx27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/app/themeManager.jsx b/src/app/themeManager.jsx
new file mode 100644
index 0000000..f33f7b3
--- /dev/null
+++ b/src/app/themeManager.jsx
@@ -0,0 +1,27 @@
+// app/providers.tsx
+"use client";
+
+import { useEffect, useState } from "react";
+import { NextUIProvider } from "@nextui-org/react";
+import { ThemeProvider as NextThemesProvider } from "next-themes";
+
+export function Providers({ children }) {
+ const [isMounted, setIsMounted] = useState(false);
+
+ useEffect(() => {
+ setIsMounted(true);
+ }, []);
+
+ if (!isMounted) {
+ // Render nothing on the server, ensuring HTML consistency
+ return null;
+ }
+
+ return (
+ <NextUIProvider>
+ <NextThemesProvider attribute="class" defaultTheme="dark">
+ {children}
+ </NextThemesProvider>
+ </NextUIProvider>
+ );
+}