shirito bfef92da27 feat: Add items website code base + drone pipeline (#9)
Hello,

I'm adding the whole https://items.sp-tarkov.com code base as well as the drone pipeline to deploy it.
Please **double check *thoroughly* every** to ensure it matches the server architecture and configuration.

Reviewed-on: SPT-AKI/Website#9
Co-authored-by: shirito <shirito@noreply.dev.sp-tarkov.com>
Co-committed-by: shirito <shirito@noreply.dev.sp-tarkov.com>
2021-10-30 16:27:49 +00:00

39 lines
1.4 KiB
TypeScript

import {ThemeProvider} from '@mui/material/styles'
import {MainPage} from './pages/MainPage'
import {ThemeMode} from './state/ThemeMode'
import {CssBaseline, useMediaQuery} from '@mui/material'
import {useEffect} from "react";
import {darkPalette} from "./theme/darkTheme";
import {lightPalette} from "./theme/lightTheme";
import {getTheme} from "./theme/Theme";
import {LocalStorageKeys} from "./dataaccess/SaveKeys";
import { useGlobalState } from './state/GlobalState'
const App = () => {
const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
const [preferedColorScheme ,setPreferedColorScheme] = useGlobalState(state => [state.preferedColorScheme, state.setPreferedColorScheme])
useEffect(() => {
const localPreferedTheme = localStorage.getItem(LocalStorageKeys.PREFERED_COLOR_SCHEME);
if (localPreferedTheme) {
setPreferedColorScheme(localPreferedTheme as ThemeMode)
return
}
const preferedTheme = prefersDarkMode ? ThemeMode.DARK_MODE : ThemeMode.LIGHT_MODE;
setPreferedColorScheme(preferedTheme)
// eslint-disable-next-line
}, [prefersDarkMode]) // Need to be only used on prefersDarkMode change
return (
<>
<ThemeProvider theme={getTheme(preferedColorScheme === ThemeMode.DARK_MODE ? darkPalette : lightPalette)}>
<CssBaseline/>
<MainPage/>
</ThemeProvider>
</>
)
}
export default App