mirror of
https://github.com/vercel/commerce.git
synced 2025-05-19 07:56:59 +00:00
63 lines
1.7 KiB
JavaScript
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
|