import { ReactNode, createContext, useMemo, useState } from 'react'; import { ThemeProvider, createTheme } from '@mui/material/styles'; type ThemeContextType = { toggleColorMode: () => void; }; type ThemeProviderProps = { children: ReactNode; }; export const ThemeContext = createContext({ toggleColorMode: () => {} }); function ThemeContextProvider({ children }: ThemeProviderProps) { const [mode, setMode] = useState<'light' | 'dark'>('light'); const toggleColorMode = () => { setMode((prevMode) => (prevMode === 'light' ? 'dark' : 'light')); }; const theme = useMemo( () => createTheme({ palette: { mode, } }), [mode] ); return ( {children} ); }; export default ThemeContextProvider;