impress-2020/src/app/PageLayout.js

36 lines
797 B
JavaScript
Raw Normal View History

2020-09-06 18:12:34 -07:00
import React from "react";
2020-12-25 09:08:33 -08:00
import { Box } from "@chakra-ui/react";
import { loadable } from "./util";
2020-09-06 18:12:34 -07:00
const GlobalHeader = loadable(() => import("./GlobalHeader"));
const GlobalFooter = loadable(() => import("./GlobalFooter"));
2020-09-06 18:42:39 -07:00
function PageLayout({ children }) {
2020-09-06 18:12:34 -07:00
return (
<Box
paddingX="6"
paddingY="3"
maxWidth="1024px"
margin="0 auto"
minHeight="100vh"
display="flex"
flexDirection="column"
>
2020-09-06 18:42:39 -07:00
<Box
width="100%"
marginBottom="6"
// Leave space while content is still loading
minHeight="2rem"
2020-09-06 18:42:39 -07:00
>
<GlobalHeader />
2020-09-06 18:12:34 -07:00
</Box>
<Box flex="1 0 0">{children}</Box>
<Box width="100%" marginTop="12">
<GlobalFooter />
</Box>
2020-09-06 18:12:34 -07:00
</Box>
);
}
export default PageLayout;