From fab2a5e967d5a290aeb2189513d3d2a2757cd60f Mon Sep 17 00:00:00 2001 From: Chloe Date: Sun, 7 Jul 2024 09:58:59 +0700 Subject: [PATCH] fix make urls Signed-off-by: Chloe --- app/page.tsx | 7 +++++-- app/search/[collection]/page.tsx | 18 +++++++++++++++--- components/home-page/manufacturers.tsx | 6 ++++-- components/manufacturers-grid/index.tsx | 8 ++++---- 4 files changed, 28 insertions(+), 11 deletions(-) diff --git a/app/page.tsx b/app/page.tsx index 020cfdf7a..7d7cb9669 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -20,10 +20,13 @@ export async function generateMetadata(): Promise { }; } -const manufactureVariant: Record = { +const manufactureVariant: Record< + string, + 'home' | 'engines' | 'transmissions' | 'remanufactured-engines' +> = { 'reman-transmission': 'transmissions', 'car-part-planet': 'home', - 'reman-engine': 'engines', + 'reman-engine': 'remanufactured-engines', 'transmission-locator': 'transmissions', 'engine-locator': 'engines' }; diff --git a/app/search/[collection]/page.tsx b/app/search/[collection]/page.tsx index 0ed8e2d56..3d74389f8 100644 --- a/app/search/[collection]/page.tsx +++ b/app/search/[collection]/page.tsx @@ -79,11 +79,25 @@ async function CategoryPage({ ); } +const manufactureVariantMap: Record< + string, + 'engines' | 'transmissions' | 'remanufactured-engines' | 'transfer-cases' +> = { + transmissions: 'transmissions', + engines: 'engines', + 'remanufactured-engines': 'remanufactured-engines', + 'transfer-cases': 'transfer-cases' +}; + export default async function CategorySearchPage(props: { params: { collection: string }; searchParams?: { [key: string]: string | string[] | undefined }; }) { const collectionHandle = props.params.collection; + + const manufacturerVariant = + Object.keys(manufactureVariantMap).find((key) => collectionHandle.startsWith(key)) || 'engines'; + return ( <>
@@ -142,9 +156,7 @@ export default async function CategorySearchPage(props: { )} - + ); diff --git a/components/home-page/manufacturers.tsx b/components/home-page/manufacturers.tsx index a17cec02c..b0f83870a 100644 --- a/components/home-page/manufacturers.tsx +++ b/components/home-page/manufacturers.tsx @@ -5,13 +5,15 @@ import { getMetaobjects } from 'lib/shopify'; const Manufacturers = async ({ variant = 'home' }: { - variant?: 'engines' | 'transmissions' | 'home'; + variant?: 'engines' | 'transmissions' | 'home' | 'remanufactured-engines' | 'transfer-cases'; }) => { const manufacturers = await getMetaobjects('make'); const title: Record = { engines: 'Engines', home: 'Parts', - transmissions: 'Transmissions' + transmissions: 'Transmissions', + 'remanufactured-engines': 'Remanufactured Engines', + 'transfer-cases': 'Transfer Cases' }; return ( diff --git a/components/manufacturers-grid/index.tsx b/components/manufacturers-grid/index.tsx index faa71a3c1..335311cee 100644 --- a/components/manufacturers-grid/index.tsx +++ b/components/manufacturers-grid/index.tsx @@ -1,12 +1,12 @@ import { GlobeAltIcon, StarIcon } from '@heroicons/react/24/outline'; -import { MAKE_FILTER_ID } from 'lib/constants'; import { Metaobject } from 'lib/shopify/types'; +import kebabCase from 'lodash.kebabcase'; import ButtonGroup from './button-group'; import ManufacturerItem from './item'; type ManufacturersGridProps = { manufacturers: Metaobject[]; - variant?: 'engines' | 'transmissions' | 'home'; + variant?: 'engines' | 'transmissions' | 'home' | 'remanufactured-engines' | 'transfer-cases'; }; const ManufacturersGrid = ({ manufacturers, variant = 'home' }: ManufacturersGridProps) => { @@ -31,7 +31,7 @@ const ManufacturersGrid = ({ manufacturers, variant = 'home' }: ManufacturersGri )} {variant === 'home' && } @@ -57,7 +57,7 @@ const ManufacturersGrid = ({ manufacturers, variant = 'home' }: ManufacturersGri )} {variant === 'home' && }