diff options
| author | real-zephex <[email protected]> | 2024-05-29 10:01:52 +0530 |
|---|---|---|
| committer | real-zephex <[email protected]> | 2024-05-29 10:01:52 +0530 |
| commit | 06b2adcd10811b92b079294dbdab65727ff2015b (patch) | |
| tree | 03205287b4f8fa77b251c6b94bac515db04ef314 /src/app/themeManager.jsx | |
| parent | ✨ feat(series): rewrite series page and drop manga support (diff) | |
| download | dramalama-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.jsx | 27 |
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> + ); +} |