4
0
forked from crowetic/commerce

Added shared layout with _app

This commit is contained in:
Luis Alvarez 2020-10-01 21:30:08 -05:00
parent 6587ab10ae
commit cf7c85e3ba
4 changed files with 21 additions and 15 deletions

View File

@ -14,6 +14,7 @@ interface Props {
const CoreLayout: FunctionComponent<Props> = ({ className, children }) => {
const rootClassName = cn(s.root, className)
const { displaySidebar } = useUI()
return (
<div className={rootClassName}>
<Featurebar

View File

@ -1,6 +1,15 @@
import { FC } from 'react'
import type { AppProps } from 'next/app'
import '@assets/global.css'
const Noop: FC = ({ children }) => <>{children}</>
export default function MyApp({ Component, pageProps }: AppProps) {
return <Component {...pageProps} />
const Layout = (Component as any).Layout || Noop
return (
<Layout>
<Component {...pageProps} />
</Layout>
)
}

View File

@ -14,9 +14,7 @@ export default function Home({
products,
}: InferGetStaticPropsType<typeof getStaticProps>) {
console.log('PRODUCTS', products)
return (
<Layout>
<ProductGrid products={products} />
</Layout>
)
return <ProductGrid products={products} />
}
Home.Layout = Layout

View File

@ -43,7 +43,7 @@ export async function getStaticPaths() {
}
}
export default function Home({
export default function Slug({
product,
productData,
}: InferGetStaticPropsType<typeof getStaticProps>) {
@ -51,13 +51,11 @@ export default function Home({
const router = useRouter()
return (
<Layout>
{router.isFallback ? (
<h1>Loading...</h1>
) : (
<ProductView productData={productData} />
)}
</Layout>
return router.isFallback ? (
<h1>Loading...</h1>
) : (
<ProductView productData={productData} />
)
}
Slug.Layout = Layout