graphcommerce icon indicating copy to clipboard operation
graphcommerce copied to clipboard

configurable product with more than one options, after add to cart, AddProductsToCartSnackbar can not get product name

Open magecommerce opened this issue 1 year ago • 0 comments

Describe the Bug

configurable product with more than one options, after add to cart, AddProductsToCartSnackbar can not get product name Maybe the following logic is wrong. If there are multiple options, selectedOptions removes only the last matching option.

@graphcommerce/magento-product/components/AddProductsToCart/findAddedItems.ts

let selectedOptions = itemVariable.selected_options
      if (isTypename(cartItem, ['ConfigurableCartItem'])) {
        // Check if the requested options match the selected options
        if (
          !cartItem.configurable_options.every((option) => {
            const foundItem = itemVariable.selected_options?.find(
              (selectedOption) => selectedOption === option?.configurable_product_option_value_uid,
            )

            selectedOptions = itemVariable.selected_options?.filter(
              (selectedOption) => selectedOption !== option?.configurable_product_option_value_uid,
            )

            return foundItem
          })
        ) {
          // console.log("SKU matche, this isn't the configurable")
          return false
        }
      }

WX20241018-110601@2x

Expected Behavior

show product name + has been added to your shopping cart!

To Reproduce

Step 1: Create a GraphCommerce app git clone -b main --depth 1 https://github.com/graphcommerce-org/graphcommerce.git mkdir my-project cp -R graphcommerce/examples/magento-graphcms/. my-project && rm -rf graphcommerce && cd my-project yarn yarn codegen yarn dev

open address: (product with to options) http://localhost:3000/p/matriarch-s-edges-size-4-6y-gc-469-sock-6y

magecommerce avatar Oct 18 '24 14:10 magecommerce