import React, { createContext, useCallback, useContext, useMemo, useState } from 'react'; const ThemeContext = createContext({ isDarkMode: false, toggleTheme: () => {}, }); export const ThemeProvider = ({ children }: { children: React.ReactNode }) => { const [isDarkMode, setIsDarkMode] = useState(false); // useCallback garante que a função não mude nunca const toggleTheme = useCallback(() => { setIsDarkMode(prev => !prev); }, []); const value = useMemo(() => ({ isDarkMode, toggleTheme }), [isDarkMode, toggleTheme]); return ( {children} ); }; export const useTheme = () => useContext(ThemeContext);