Files
me/src/App.js
T
2022-05-04 00:33:11 +02:00

42 lines
962 B
JavaScript

import React, { useState, useMemo, createContext } from 'react';
import { BrowserRouter as Router } from 'react-router-dom';
import {
responsiveFontSizes,
ThemeProvider,
createTheme,
} from '@mui/material/styles';
import { MainTheme } from './themes/Theme';
import { CustomRoutes } from './routes/Routes';
export const ColorModeContext = createContext({ toggleColorMode: () => {} });
const App = () => {
const [mode, setMode] = useState('dark');
const colorMode = useMemo(
() => ({
toggleColorMode: () => {
setMode((prevMode) => (prevMode === 'light' ? 'dark' : 'light'));
},
}),
[]
);
const theme = useMemo(
() => responsiveFontSizes(createTheme(MainTheme(mode))),
[mode]
);
return (
<ColorModeContext.Provider value={colorMode}>
<ThemeProvider theme={theme}>
<Router basename={process.env.PUBLIC_URL}>
<CustomRoutes />
</Router>
</ThemeProvider>
</ColorModeContext.Provider>
);
};
export default App;