mirror of
https://github.com/HugeFrog24/shakethefrog.git
synced 2026-03-02 00:14:33 +00:00
27 lines
721 B
TypeScript
27 lines
721 B
TypeScript
'use client';
|
|
|
|
import { createContext, useContext, useEffect } from 'react';
|
|
import { useDarkMode } from '../hooks/useDarkMode';
|
|
|
|
const ThemeContext = createContext({ darkMode: false, toggleDarkMode: () => {} });
|
|
|
|
export const useTheme = () => useContext(ThemeContext);
|
|
|
|
export function ThemeProvider({ children }: { children: React.ReactNode }) {
|
|
const { darkMode, toggleDarkMode } = useDarkMode();
|
|
|
|
useEffect(() => {
|
|
if (darkMode) {
|
|
document.documentElement.classList.add('dark');
|
|
} else {
|
|
document.documentElement.classList.remove('dark');
|
|
}
|
|
}, [darkMode]);
|
|
|
|
return (
|
|
<ThemeContext.Provider value={{ darkMode, toggleDarkMode }}>
|
|
{children}
|
|
</ThemeContext.Provider>
|
|
);
|
|
}
|