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