From f0187e9f7a25b721e0a0264e54b235739476be1a Mon Sep 17 00:00:00 2001 From: andr-ew Date: Wed, 21 Jun 2023 18:53:04 -0500 Subject: [PATCH] add product route, separate layouts between home & pages --- app/(home)/layout.js | 14 ++++++++++++++ app/{ => (home)}/page.js | 0 app/{ => (home)}/search/[collection]/page.js | 0 app/(page)/layout.js | 12 ++++++++++++ app/(page)/product/[handle]/page.js | 17 +++++++++++++++++ app/layout.js | 9 +-------- components/home.js | 2 +- 7 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 app/(home)/layout.js rename app/{ => (home)}/page.js (100%) rename app/{ => (home)}/search/[collection]/page.js (100%) create mode 100644 app/(page)/layout.js create mode 100644 app/(page)/product/[handle]/page.js diff --git a/app/(home)/layout.js b/app/(home)/layout.js new file mode 100644 index 000000000..569c5f763 --- /dev/null +++ b/app/(home)/layout.js @@ -0,0 +1,14 @@ +import { TypesNav } from '/components/home.js'; + +export default function HomeLayout({ children }) { + return ( + <> +
+ +
+
{children}
+ + ); +} diff --git a/app/page.js b/app/(home)/page.js similarity index 100% rename from app/page.js rename to app/(home)/page.js diff --git a/app/search/[collection]/page.js b/app/(home)/search/[collection]/page.js similarity index 100% rename from app/search/[collection]/page.js rename to app/(home)/search/[collection]/page.js diff --git a/app/(page)/layout.js b/app/(page)/layout.js new file mode 100644 index 000000000..4c312f151 --- /dev/null +++ b/app/(page)/layout.js @@ -0,0 +1,12 @@ +export default function ProductLayout({ children }) { + return ( + <> + {/*
*/} + {/* */} + {/*
*/} +
{children}
+ + ); +} diff --git a/app/(page)/product/[handle]/page.js b/app/(page)/product/[handle]/page.js new file mode 100644 index 000000000..7da10da04 --- /dev/null +++ b/app/(page)/product/[handle]/page.js @@ -0,0 +1,17 @@ +import { getProducts } from 'lib/shopify'; + +export async function generateStaticParams() { + const products = await getProducts({ + sortKey: 'UPDATED_AT', + reverse: false, + query: '', + }); + + console.log({ products }); + + return products.map(product => ({ product: product.handle })); +} + +export default async function ProductPage({ params: { handle } }) { + return

{handle}

; +} diff --git a/app/layout.js b/app/layout.js index 1e34aa55b..0a6c987eb 100644 --- a/app/layout.js +++ b/app/layout.js @@ -1,14 +1,7 @@ -import { TypesNav } from '/components/home.js'; - export default function RootLayout({ children }) { return ( - - -
{children}
- + {children} ); } diff --git a/components/home.js b/components/home.js index c1ee30c72..0b7a1dc7a 100644 --- a/components/home.js +++ b/components/home.js @@ -61,7 +61,7 @@ export async function HomeProduct({ product }) { const collections = product?.collections?.nodes; return ( - +