Skip to content

Commit a3946e5

Browse files
author
Bart Hazen
committed
Add header to enable drawer.
1 parent f9c5cec commit a3946e5

File tree

3 files changed

+219
-146
lines changed

3 files changed

+219
-146
lines changed

src/components/Header/index.js

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
import React from 'react';
2+
import PropTypes from 'prop-types';
3+
import AppBar from '@material-ui/core/AppBar';
4+
import Grid from '@material-ui/core/Grid';
5+
import Hidden from '@material-ui/core/Hidden';
6+
import IconButton from '@material-ui/core/IconButton';
7+
import MenuIcon from '@material-ui/icons/Menu';
8+
import Toolbar from '@material-ui/core/Toolbar';
9+
import { withStyles } from '@material-ui/core/styles';
10+
11+
const lightColor = 'rgba(255, 255, 255, 0.7)';
12+
13+
const styles = (theme) => ({
14+
secondaryBar: {
15+
zIndex: 0,
16+
},
17+
menuButton: {
18+
marginLeft: -theme.spacing(1),
19+
},
20+
iconButtonAvatar: {
21+
padding: 4,
22+
},
23+
link: {
24+
textDecoration: 'none',
25+
color: lightColor,
26+
'&:hover': {
27+
color: theme.palette.common.white,
28+
},
29+
},
30+
button: {
31+
borderColor: lightColor,
32+
},
33+
});
34+
35+
function Header(props) {
36+
const { classes, onDrawerToggle } = props;
37+
38+
return (
39+
<React.Fragment>
40+
<AppBar color="primary" position="sticky" elevation={0}>
41+
<Toolbar>
42+
<Grid container spacing={1} alignItems="center">
43+
<Hidden smUp>
44+
<Grid item>
45+
<IconButton
46+
color="inherit"
47+
aria-label="open drawer"
48+
onClick={onDrawerToggle}
49+
className={classes.menuButton}
50+
>
51+
<MenuIcon />
52+
</IconButton>
53+
</Grid>
54+
</Hidden>
55+
</Grid>
56+
</Toolbar>
57+
</AppBar>
58+
</React.Fragment>
59+
);
60+
}
61+
62+
Header.propTypes = {
63+
classes: PropTypes.object.isRequired,
64+
onDrawerToggle: PropTypes.func.isRequired,
65+
};
66+
67+
export default withStyles(styles)(Header);

src/pages/Homepage/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import ReactMarkdown from 'react-markdown'
33

44
import { Paper } from "@material-ui/core";
55
import markdownSource from "pages/Homepage/Homepage.md"
6+
import Header from "components/Header";
67

78
export default class Homepage extends React.Component {
89
constructor(props) {
@@ -11,7 +12,7 @@ export default class Homepage extends React.Component {
1112
this.state = { markdown: null }
1213
}
1314

14-
componentWillMount() {
15+
componentDidMount() {
1516
fetch(markdownSource).then((response) => response.text()).then((text) => {
1617
this.setState({ markdown: text })
1718
})
@@ -20,6 +21,7 @@ export default class Homepage extends React.Component {
2021
render() {
2122
return (
2223
<React.Fragment>
24+
<Header onDrawerToggle={this.props.handleDrawerToggle} />
2325
<main className={this.props.classes.main}>
2426
<Paper className={this.props.classes.paper}>
2527
<div className={this.props.classes.contentWrapper}>

0 commit comments

Comments
 (0)