We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 9fa26a8 commit cf5e859Copy full SHA for cf5e859
src/context/ThemeContext.tsx
@@ -10,14 +10,19 @@ interface ThemeContextType {
10
export const ThemeContext = createContext<ThemeContextType | null>(null);
11
12
const ThemeWrapper = ({ children }: { children: ReactNode }) => {
13
- const [mode, setMode] = useState<'light' | 'dark'>('light');
+ const [mode, setMode] = useState<'light' | 'dark'>(() => {
14
+ const savedMode = localStorage.getItem('theme');
15
+ return savedMode === 'dark' ? 'dark' : 'light';
16
+});
17
+
18
19
useEffect(() => {
20
if (mode === 'dark') {
21
document.documentElement.classList.add('dark');
22
} else {
23
document.documentElement.classList.remove('dark');
24
}
25
+ localStorage.setItem('theme', mode);
26
}, [mode]);
27
28
const toggleTheme = () => {
0 commit comments