dwysokinski.me/src/components/Layout/Layout.js

46 lines
966 B
JavaScript
Raw Normal View History

2020-07-13 09:45:24 +00:00
import React, { Fragment } from "react"
import PropTypes from "prop-types"
2020-07-13 12:02:40 +00:00
import classnames from "classnames"
2020-07-13 09:45:24 +00:00
2020-07-13 12:02:40 +00:00
import { makeStyles } from "@material-ui/core/styles"
2020-07-13 09:45:24 +00:00
import { CssBaseline } from "@material-ui/core"
2020-07-13 12:02:40 +00:00
import Header from "./Header"
const useStyles = makeStyles(theme => ({
main: {
display: "flex",
},
contentWrapper: {
width: "100%",
minHeight: "calc(100vh - 200px)",
paddingTop: theme.spacing(2),
paddingBottom: theme.spacing(3),
},
}))
const Layout = ({ children, className, headerProps }) => {
const classes = useStyles()
2020-07-13 09:45:24 +00:00
return (
<Fragment>
2020-07-13 12:02:40 +00:00
<Header {...headerProps} />
<main className={classes.main}>
<div className={classnames(className, classes.contentWrapper)}>
{children}
</div>
</main>
2020-07-13 09:45:24 +00:00
<CssBaseline />
</Fragment>
)
}
2020-07-13 12:02:40 +00:00
Layout.defaultProps = {
headerProps: {},
}
2020-07-13 09:45:24 +00:00
Layout.propTypes = {
children: PropTypes.node.isRequired,
}
export default Layout