diff options
author | eug-vs <eug-vs@keemail.me> | 2020-03-21 14:17:58 +0300 |
---|---|---|
committer | eug-vs <eug-vs@keemail.me> | 2020-03-21 14:17:58 +0300 |
commit | 550f00b93c03a9ad98ef9bb1197c0fbfd5b1e572 (patch) | |
tree | 28408ad5330ae98da60fea9778ebdf10a28893d1 /src/index.js | |
parent | 2d976f7d3468ba5f49bb54351b47b3cad494d7ba (diff) | |
download | chrono-cube-ui-550f00b93c03a9ad98ef9bb1197c0fbfd5b1e572.tar.gz |
chore!: migrate index.js -> index.tsx
Diffstat (limited to 'src/index.js')
-rw-r--r-- | src/index.js | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/src/index.js b/src/index.js deleted file mode 100644 index 49c66e7..0000000 --- a/src/index.js +++ /dev/null @@ -1,87 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import ReactDOM from 'react-dom'; - -import { - BenzinThemeProvider, - Header, -} from 'react-benzin'; - -import 'typeface-roboto'; - -import Timer from './pages/Timer/Timer'; -import Scoreboard from './pages/Scoreboard/Scoreboard'; -import Contribute from './pages/Contribute/Contribute'; -import Profile from './pages/Profile/Profile'; - -import TimerIcon from '@material-ui/icons/Timer'; -import AccountCircleIcon from '@material-ui/icons/AccountCircle'; -import AssignmentIcon from '@material-ui/icons/Assignment'; -import GitHubIcon from '@material-ui/icons/GitHub'; - -import { get } from './requests'; - - -const App = () => { - - const [page, setPage] = useState('app'); - const [user, setUser] = useState({ username: 'anonymous', id: null }); - const [recentSolutions, setRecentSolutions] = useState([]); - - const headerContents = { - app: (<TimerIcon />), - profile: (<AccountCircleIcon />), - scoreboard: (<AssignmentIcon />), - contribute: (<GitHubIcon />), - }; - - useEffect(() => { - const userId = +localStorage.getItem('userId'); - if (userId) { - get('users/').then(response => { - setUser(response.data.filter(user => user.id === +userId)[0]); - }); - } - }, []); - - const Page = ({ page }) => { - switch (page) { - case 'app': - return ( - <Timer - user={user} - recentSolutions={recentSolutions} - setRecentSolutions={setRecentSolutions} - setPage={setPage} - /> - ); - - case 'profile': - return <Profile user={user} setUser={setUser} />; - - case 'scoreboard': - return <Scoreboard />; - - case 'contribute': - return <Contribute />; - - default: - return <Contribute />; - } - }; - - return ( - <BenzinThemeProvider> - <Header - logo={{ - title: 'ChronoCube' - }} - contents={headerContents} - page={page} - setPage={setPage}/> - <Page page={page} /> - </BenzinThemeProvider> - ); -}; - -document.body.style.overflow = 'hidden'; -ReactDOM.render(<App />, document.getElementById('root')); |