import React, { Component , Suspense } from "react";
import ReactDOM from 'react-dom/client';
import HomePage from "./HomePage";
import { CssBaseline, IconButton , Link} from "@mui/material";
import { ThemeProvider, createTheme } from '@mui/material/styles';
import UnsafeAlert from "./UnsafeAlert";
import { LearnDialog } from "./Dialogs";
import { I18nextProvider } from "react-i18next";
import i18n from "./i18n";
//Icons
import DarkModeIcon from '@mui/icons-material/DarkMode';
import LightModeIcon from '@mui/icons-material/LightMode';
import SchoolIcon from '@mui/icons-material/School';
import ZoomOutIcon from '@mui/icons-material/ZoomOut';
import ZoomInIcon from '@mui/icons-material/ZoomIn';
import SettingsIcon from '@mui/icons-material/Settings';
export default class App extends Component {
constructor(props) {
super(props);
this.state = {
dark: window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches,
expandedSettings: false,
openLearn: false,
theme: {typography: { fontSize: 14 }},
}
}
lightTheme = createTheme ({});
darkTheme = createTheme({
palette: {
mode: 'dark',
background: {
default: "#070707"
},
},
});
onSettingsClick = () => {
this.setState({
expandedSettings: ! this.state.expandedSettings
})
}
onZoomClick = (direction) => {
let zoomChange;
direction === "out" ? zoomChange = -1 : zoomChange = 1;
this.setState(({theme}) => ({
theme: {
...theme,
typography: {
fontSize: this.state.theme.typography.fontSize + zoomChange,
},
}
}));
}
render() {
return (
this.setState({openLearn:false})}/>
this.setState({expandedSettings: !this.state.expandedSettings})}>
this.onZoomClick("in")}>
this.onZoomClick("out")}>
this.setState({dark:!this.state.dark})}>
{this.state.dark ? :}
this.setState({openLearn:true})}>
);
}
}
const root = ReactDOM.createRoot(
document.getElementById("app")
);
root.render();