From dd8b5002712329b4045f50bf5244f46ac2d982ea Mon Sep 17 00:00:00 2001 From: development Date: Tue, 20 Jan 2026 13:58:30 +0000 Subject: [PATCH] Add src/components/theme/ThemeProvider.js --- src/components/theme/ThemeProvider.js | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/components/theme/ThemeProvider.js diff --git a/src/components/theme/ThemeProvider.js b/src/components/theme/ThemeProvider.js new file mode 100644 index 0000000..6462b50 --- /dev/null +++ b/src/components/theme/ThemeProvider.js @@ -0,0 +1,29 @@ +import React, { createContext, useContext, useState } from 'react'; + +const ThemeContext = createContext(); + +export const useTheme = () => { + const context = useContext(ThemeContext); + if (!context) { + throw new Error('useTheme must be used within a ThemeProvider'); + } + return context; +}; + +function ThemeProvider({ children }) { + const [theme, setTheme] = useState('light'); + + const toggleTheme = () => { + setTheme(prevTheme => prevTheme === 'light' ? 'dark' : 'light'); + }; + + return ( + +
+ {children} +
+
+ ); +} + +export default ThemeProvider; \ No newline at end of file