diff options
author | Eug-VS <eug-vs@keemail.me> | 2020-01-26 15:50:08 +0300 |
---|---|---|
committer | Eug-VS <eug-vs@keemail.me> | 2020-01-26 15:57:53 +0300 |
commit | caee577929870603eb0ef7f28c89c2c4207b8050 (patch) | |
tree | 453a18f0bb12539a0b78ba1323ac4a336d6efd52 /src/lib/components/Header | |
parent | 54f982569b67f7401d91d9e9642065a403d4eb61 (diff) | |
download | react-benzin-caee577929870603eb0ef7f28c89c2c4207b8050.tar.gz |
feat: initialize npm module, add components
Diffstat (limited to 'src/lib/components/Header')
-rw-r--r-- | src/lib/components/Header/Header.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/lib/components/Header/Header.js b/src/lib/components/Header/Header.js new file mode 100644 index 0000000..1595141 --- /dev/null +++ b/src/lib/components/Header/Header.js @@ -0,0 +1,72 @@ +import React from 'react'; + +import { + AppBar, + Tabs, + Tab, + Typography, + Toolbar, +} from '@material-ui/core'; + +import { makeStyles } from '@material-ui/core/styles'; +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'; + + +const useStyles = makeStyles(theme => ({ + logo: { + color: theme.palette.secondary.main, + margin: theme.spacing(0, 3, 0, 3), + }, + tab: { + '& .MuiTab-wrapper': { + padding: theme.spacing(2), + flexDirection: 'row', + '& svg': { + marginRight: theme.spacing(1), + marginBottom: '0 !important', + } + } + } +})); + + +const Header = ({ page, setPage }) => { + const classes = useStyles(); + + const handleChange = (event, newPage) => { + setPage(newPage); + }; + + const icons = { + app: (<TimerIcon />), + profile: (<AccountCircleIcon />), + scoreboard: (<AssignmentIcon />), + contribute: (<GitHubIcon />), + }; + + return ( + <AppBar position="sticky"> + <Toolbar> + <Typography variant="h4" className={classes.logo}> + ChronoCube + </Typography> + <Tabs onChange={handleChange} value={page}> + { Object.keys(icons).map(item => ( + <Tab + label={item} + icon={icons[item]} + value={item} + className={classes.tab} + key={item} + /> + ))} + </Tabs> + </Toolbar> + </AppBar> + ); +}; + +export default Header; |