import { getCollection } from 'lib/shopify'; import { Metadata } from 'next'; import { notFound } from 'next/navigation'; import Breadcrumb from 'components/breadcrumb'; import BreadcrumbHome from 'components/breadcrumb/breadcrumb-home'; import FAQ from 'components/faq'; import YMMFilters, { YMMFiltersPlaceholder } from 'components/filters'; import Manufacturers from 'components/home-page/manufacturers'; import ProductsList from 'components/layout/products-list'; import { getProductsInCollection } from 'components/layout/products-list/actions'; import FiltersContainer, { FiltersListPlaceholder } from 'components/layout/search/filters/filters-container'; import MobileFilters from 'components/layout/search/filters/mobile-filters'; import SubMenu from 'components/layout/search/filters/sub-menu'; import Header, { HeaderPlaceholder } from 'components/layout/search/header'; import HelpfulLinks from 'components/layout/search/helpful-links'; import ProductsGridPlaceholder from 'components/layout/search/placeholder'; import SortingMenu from 'components/layout/search/sorting-menu'; import TransmissionCode from 'components/transmission-codes'; import TransmissionModels from 'components/transmission-model'; import { MAKE_FILTER_ID } from 'lib/constants'; import { Suspense } from 'react'; export async function generateMetadata({ params }: { params: { collection: string }; }): Promise { const collection = await getCollection({ handle: params.collection }); if (!collection) return notFound(); return { title: collection.seo?.title || collection.title, description: collection.seo?.description || collection.description || `${collection.title} products` }; } async function CategoryPage({ params, searchParams }: { params: { collection: string }; searchParams?: { [key: string]: string | string[] | undefined }; }) { const { products, filters, pageInfo } = await getProductsInCollection({ searchParams, collection: params.collection }); return ( <>
}>
} />
{products.length === 0 ? (

{`No products found in this collection`}

) : ( )} ); } export default async function CategorySearchPage(props: { params: { collection: string }; searchParams?: { [key: string]: string | string[] | undefined }; }) { const collectionHandle = props.params.collection; return ( <>
} key={`breadcrumb-${collectionHandle}`}>
} key={`header-${collectionHandle}`}>
} key={`products-${collectionHandle}`}>
{collectionHandle.startsWith('transmissions') && ( <> )} ); }