diff --git a/src/components/theme/ThemeProvider.js b/src/components/theme/ThemeProvider.js index 6462b50..ab3bbad 100644 --- a/src/components/theme/ThemeProvider.js +++ b/src/components/theme/ThemeProvider.js @@ -1,4 +1,4 @@ -import React, { createContext, useContext, useState } from 'react'; +import React, { createContext, useContext, useState, useEffect } from 'react'; const ThemeContext = createContext(); @@ -10,20 +10,32 @@ export const useTheme = () => { return context; }; -function ThemeProvider({ children }) { +export const ThemeProvider = ({ children }) => { const [theme, setTheme] = useState('light'); + useEffect(() => { + const savedTheme = localStorage.getItem('theme'); + if (savedTheme) { + setTheme(savedTheme); + } + }, []); + const toggleTheme = () => { - setTheme(prevTheme => prevTheme === 'light' ? 'dark' : 'light'); + const newTheme = theme === 'light' ? 'dark' : 'light'; + setTheme(newTheme); + localStorage.setItem('theme', newTheme); + }; + + const value = { + theme, + toggleTheme, }; return ( - +
{children}
); -} - -export default ThemeProvider; \ No newline at end of file +};