26 lines
583 B
JavaScript
26 lines
583 B
JavaScript
import React, { createContext, useContext, useState } from 'react';
|
|
|
|
const ThemeContext = createContext();
|
|
|
|
export function ThemeProvider({ children }) {
|
|
const [theme, setTheme] = useState(
|
|
localStorage.getItem('theme') || 'dark'
|
|
// document.body.className = theme;
|
|
);
|
|
|
|
const updateTheme = newTheme => {
|
|
setTheme(newTheme);
|
|
localStorage.setItem('theme', newTheme);
|
|
};
|
|
|
|
return (
|
|
<ThemeContext.Provider value={{ theme, updateTheme }}>
|
|
{children}
|
|
</ThemeContext.Provider>
|
|
);
|
|
}
|
|
|
|
export function useTheme() {
|
|
return useContext(ThemeContext);
|
|
}
|