diff --git a/src/context/ThemeContext.tsx b/src/context/ThemeContext.tsx new file mode 100644 index 0000000..fd57931 --- /dev/null +++ b/src/context/ThemeContext.tsx @@ -0,0 +1,21 @@ +import { createContext, useContext, useState, useEffect, type ReactNode } from 'react'; + +interface ThemeCtx { isDark: boolean; toggle: () => void; } + +const ThemeContext = createContext({ isDark: true, toggle: () => {} }); + +export function ThemeProvider({ children }: { children: ReactNode }) { + const [isDark, setIsDark] = useState(false); + + useEffect(() => { + document.documentElement.setAttribute('data-theme', isDark ? 'dark' : 'light'); + }, [isDark]); + + return ( + setIsDark(d => !d) }}> + {children} + + ); +} + +export const useTheme = () => useContext(ThemeContext);