import React, { createContext, useContext, useEffect, useState } from 'react'; const ThemeContext = createContext(); export const ThemeProvider = ({ children }) => { const [theme, setTheme] = useState(() => { if (typeof window !== 'undefined') { const savedTheme = localStorage.getItem('theme'); if (savedTheme) { return savedTheme; } } return 'dark'; // Default to dark for first-time visitors }); useEffect(() => { const root = window.document.documentElement; root.classList.remove('light', 'dark'); root.classList.add(theme); localStorage.setItem('theme', theme); }, [theme]); const toggleTheme = () => { setTheme((prevTheme) => (prevTheme === 'dark' ? 'light' : 'dark')); }; return ( {children} ); }; export const useTheme = () => useContext(ThemeContext);