2021-01-15 17:37:36 -05:00

63 lines
1.7 KiB
JavaScript

import PreviewBar from './PreviewBar'
import GlobalHeader from './GlobalHeader'
import GlobalFooter from './GlobalFooter'
import { useRouter } from 'next/router'
import Head from 'next/head'
import dynamic from 'next/dynamic'
import tw from "twin.macro"
const MainElem = tw.main`p-8`;
import AnimationRevealPage from "helpers/AnimationRevealPage"
import Error from 'next/error'
function Layout(props) {
const { page, sitemapNode, dynamicPageItem, notFound } = props
// If the page is not yet generated, this will be displayed
// initially until getStaticProps() finishes running
const router = useRouter()
if (router.isFallback) {
return <div>Loading page...</div>
}
if (notFound === true) {
return <Error statusCode="404" />
}
const AgilityPageTemplate = dynamic(() => import('components/agility-pageTemplates/' + props.pageTemplateName));
if (dynamicPageItem?.seo?.metaDescription) {
page.seo.metaDescription = dynamicPageItem.seo.metaDescription
}
return (
<>
<Head>
<title>{sitemapNode?.title} - Agility CMS Sample Blog</title>
<meta name="viewport" content="initial-scale=1.0, width=device-width" />
<meta name="description" content={page.seo.metaDescription} />
<meta name="generator" content="Agility CMS" />
<meta name="agility_timestamp" content={new Date().toLocaleString()} />
{dynamicPageItem?.seo?.ogImage &&
<meta property="og:image" content={dynamicPageItem.seo.ogImage} />
}
<link rel="stylesheet" href="/prose.css" />
</Head>
<PreviewBar {...props} />
<MainElem>
{/* <AnimationRevealPage disabled> */}
<GlobalHeader {...props} />
<AgilityPageTemplate {...props} />
<GlobalFooter {...props} />
{/* </AnimationRevealPage> */}
</MainElem>
</>
)
}
export default Layout