Fix theme toggle by removing unnecessary mounted check
Some checks failed
Deploy Documentation Site / build (push) Has been cancelled
Deploy Documentation Site / deploy (push) Has been cancelled

This commit is contained in:
hjdave
2026-04-04 17:04:57 +08:00
parent ec9f4bbf02
commit 92a97defe3
2 changed files with 3 additions and 10 deletions

View File

@@ -508,11 +508,4 @@ function HomeInner() {
);
}
function Home() {
const [mounted, setMounted] = useState(false);
useEffect(() => setMounted(true), []);
if (!mounted) return <div className="min-h-screen bg-zinc-50 dark:bg-zinc-900"></div>;
return <HomeInner />;
}
export default Home;
export default HomeInner;

View File

@@ -16,7 +16,6 @@ export function ThemeProvider({ children }: { children: React.ReactNode }) {
const [mounted, setMounted] = useState(false);
useEffect(() => {
setMounted(true);
const savedTheme = localStorage.getItem("theme") as Theme | null;
if (savedTheme) {
setTheme(savedTheme);
@@ -27,6 +26,7 @@ export function ThemeProvider({ children }: { children: React.ReactNode }) {
setTheme("dark");
document.documentElement.classList.add("dark");
}
setMounted(true);
}, []);
const toggleTheme = () => {
@@ -44,7 +44,7 @@ export function ThemeProvider({ children }: { children: React.ReactNode }) {
return (
<ThemeContext.Provider value={{ theme, toggleTheme }}>
{mounted ? children : <div>{children}</div>}
{children}
</ThemeContext.Provider>
);
}