From 4da115d2325077e5f9eb042edfb0a78a08ef07c1 Mon Sep 17 00:00:00 2001 From: Alessandro Casazza Date: Tue, 11 Jan 2022 09:56:07 +0100 Subject: [PATCH] fix: Read and add wishlist items --- .../commercelayer/wishlist/use-add-item.tsx | 6 +++--- .../commercelayer/wishlist/use-wishlist.tsx | 16 +++++++++------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/framework/commercelayer/wishlist/use-add-item.tsx b/framework/commercelayer/wishlist/use-add-item.tsx index 3fade3d5b..1d4ee532e 100644 --- a/framework/commercelayer/wishlist/use-add-item.tsx +++ b/framework/commercelayer/wishlist/use-add-item.tsx @@ -6,11 +6,11 @@ export function emptyHook() { const localWishlist = localStorage.getItem('wishlist') if (localWishlist) { wishlist = JSON.parse(localWishlist) - if (!wishlist.includes(options.productId)) { - wishlist.push(options.productId) + if (!wishlist.includes(options.variantId)) { + wishlist.push(options.variantId) } } else { - wishlist.push(options.productId) + wishlist.push(options.variantId) } localStorage.setItem('wishlist', JSON.stringify(wishlist)) return wishlist diff --git a/framework/commercelayer/wishlist/use-wishlist.tsx b/framework/commercelayer/wishlist/use-wishlist.tsx index 7f7d5c2ef..d61ed9fd8 100644 --- a/framework/commercelayer/wishlist/use-wishlist.tsx +++ b/framework/commercelayer/wishlist/use-wishlist.tsx @@ -37,15 +37,17 @@ export function extendHook( const { data: customer } = useCustomer() const getWishlist = typeof localStorage !== 'undefined' && localStorage.getItem('wishlist') - if (getWishlist && customer?.email) { + if (getWishlist && customer?.email && data.products.length > 0) { const wishlist = JSON.parse(getWishlist) - const items = wishlist.map((wishlist: string) => { - const [product] = data.products.filter((p) => p.id === wishlist) as any - const [variant] = product.variants + const items = wishlist.map((wishlist: string, id: number) => { + const [product] = data.products.filter((p) => + wishlist.startsWith(p.id) + ) as any + const [variant] = product?.variants return { - variant_id: variant.id, - product_id: wishlist, - id: wishlist, + variant_id: variant?.id, + product_id: product?.id, + id, product, } })