diff --git a/components/product/ProductView/ProductView.tsx b/components/product/ProductView/ProductView.tsx index 6f1a2de68..c588be601 100644 --- a/components/product/ProductView/ProductView.tsx +++ b/components/product/ProductView/ProductView.tsx @@ -136,7 +136,7 @@ const ProductView: FC = ({ product }) => { ))}
- +
diff --git a/framework/commerce/types.ts b/framework/commerce/types.ts index 9c1a04e6d..97bd7de92 100644 --- a/framework/commerce/types.ts +++ b/framework/commerce/types.ts @@ -163,6 +163,7 @@ interface Entity { export interface Product extends Entity { name: string description: string + descriptionHtml?: string slug?: string path?: string images: ProductImage[] diff --git a/framework/shopify/product/get-product.ts b/framework/shopify/product/get-product.ts index 1f00288c7..1d861e1a1 100644 --- a/framework/shopify/product/get-product.ts +++ b/framework/shopify/product/get-product.ts @@ -21,11 +21,10 @@ const getProduct = async (options: { const { data }: GraphQLFetcherResult = await config.fetch(getProductQuery, { variables, }) - - const { productByHandle: product } = data + const { productByHandle } = data return { - product: product ? normalizeProduct(product) : null, + product: productByHandle ? normalizeProduct(productByHandle) : null, } } diff --git a/framework/shopify/utils/normalize.ts b/framework/shopify/utils/normalize.ts index 89c2fbc8e..876a9a208 100644 --- a/framework/shopify/utils/normalize.ts +++ b/framework/shopify/utils/normalize.ts @@ -95,6 +95,7 @@ export function normalizeProduct(productNode: ShopifyProduct): Product { images, variants, description, + descriptionHtml, handle, priceRange, options, @@ -105,7 +106,6 @@ export function normalizeProduct(productNode: ShopifyProduct): Product { id, name, vendor, - description, path: `/${handle}`, slug: handle?.replace(/^\/+|\/+$/g, ''), price: money(priceRange?.minVariantPrice), @@ -116,6 +116,8 @@ export function normalizeProduct(productNode: ShopifyProduct): Product { .filter((o) => o.name !== 'Title') // By default Shopify adds a 'Title' name when there's only one option. We don't need it. https://community.shopify.com/c/Shopify-APIs-SDKs/Adding-new-product-variant-is-automatically-adding-quot-Default/td-p/358095 .map((o) => normalizeProductOption(o)) : [], + ...(description && { description }), + ...(descriptionHtml && { descriptionHtml }), ...rest, } diff --git a/framework/shopify/utils/queries/get-all-products-query.ts b/framework/shopify/utils/queries/get-all-products-query.ts index 947045869..bb4d16916 100644 --- a/framework/shopify/utils/queries/get-all-products-query.ts +++ b/framework/shopify/utils/queries/get-all-products-query.ts @@ -10,7 +10,6 @@ edges { availableForSale vendor handle - description priceRange { minVariantPrice { amount