import React, { FC, ReactNode } from "react"; import { makeStyles, Theme, Container } from "@material-ui/core"; /** * @function useStyles creates the css styles used in the following component. */ const useStyles = makeStyles((theme: Theme) => ({ // root style allow for fixed footer header: { margin: theme.spacing(1), paddingTop: theme.spacing(2), paddingBottom: theme.spacing(2), flexGrow: 1, }, content: { margin: theme.spacing(1), marginTop: theme.spacing(2), marginBottom: theme.spacing(2), }, })); interface IProps { header: ReactNode; content: ReactNode; } /** * PageLayout divide the page in 2 parts: Header and Content, to ensure cohesion. * * @param Header - The encapsulated component. * @param Content - The encapsulated component. */ const PageLayout: FC = ({ header, content }) => { const classes = useStyles(); return (
{header}
{content}
); }; export default PageLayout;