Skip to content

Commit

Permalink
finished implementation for search by slug
Browse files Browse the repository at this point in the history
  • Loading branch information
Monachus committed Jan 24, 2025
1 parent 4dbb118 commit 463e428
Showing 1 changed file with 13 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { ProductDetailsComponent, ProductProvider } from "./product-display";
import { getServerSideImplicitClient } from "../../../../lib/epcc-server-side-implicit-client";
import { getProductById } from "../../../../services/products";
import { notFound } from "next/navigation";
import { parseProductResponse } from "@elasticpath/react-shopper-hooks";
import { parseProductResponse, useProducts } from "@elasticpath/react-shopper-hooks";
import React from "react";

import { RecommendedProducts } from "../../../../components/recommendations/RecommendationProducts";
Expand All @@ -23,7 +23,7 @@ export async function generateMetadata({params}: { params: { productSegment: str
//Canonical URL should be /product/[productSlug]/[productId] we search for that first
({ productId, productSlug, product } = await getProduct(params, productId, productSlug, product, client));

return {
return {
title: product.data.attributes.name,
description: product.data.attributes.description,
};
Expand Down Expand Up @@ -71,7 +71,17 @@ async function getProduct(params: { productSegment: string[]; }, productId: any,

} else if (params.productSegment.length === 1) {
//TODO implement search by slug
console.warn(`Using /product/${params.productSegment[0]} as slug:${regexForUUID.test(params.productSegment[0])}`);
console.warn(`Using /product/${params.productSegment[0]} as slug`);
productSlug = params.productSegment[0];
//product = useProducts({ filter: { in: { slug: params.productSegment[0] } } }, { enabled: !!params.productSegment[0], });
const productResult = await client.ShopperCatalog.Products.With(["main_image"]).Filter({in: {
slug: [params.productSegment[0]]
}}).All();
if(productResult?.data?.length> 0) {
product = {data:productResult.data[0]};
productId = product.data.id;

}
}
return { productId, productSlug, product };
}
Expand Down

0 comments on commit 463e428

Please sign in to comment.