From f3bb45eae8907014c7d5411fd66bfb8a0a98b6d8 Mon Sep 17 00:00:00 2001 From: Anton Mironov Date: Fri, 7 Jun 2024 19:26:34 -0700 Subject: [PATCH] Rework quantity error when same variant present in the cart twice --- assets/cart.js | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/assets/cart.js b/assets/cart.js index c5af6b2de47..1c98a3e23c7 100644 --- a/assets/cart.js +++ b/assets/cart.js @@ -184,17 +184,19 @@ class CartItems extends HTMLElement { section.selector ); }); - const updatedLine = parsedState.items.find((item) => item.variant_id === parseInt(variantId)); - const updatedValue = updatedLine ? updatedLine.quantity : undefined; - let message = ''; - if (items.length === parsedState.items.length && updatedLine && updatedValue !== parseInt(quantityElement.value)) { - if (typeof updatedValue === 'undefined') { - message = window.cartStrings.error; - } else { - message = window.cartStrings.quantityError.replace('[quantity]', updatedValue); + const updatedLine = parsedState.items[line - 1]; + if (updatedLine && updatedLine.variant_id === parseInt(variantId)) { + const updatedValue = updatedLine ? updatedLine.quantity : undefined; + let message = ''; + if (updatedValue !== parseInt(quantityElement.value)) { + if (typeof updatedValue === 'undefined') { + message = window.cartStrings.error; + } else { + message = window.cartStrings.quantityError.replace('[quantity]', updatedValue); + } } + this.updateLiveRegions(line, message); } - this.updateLiveRegions(line, message); const lineItem = document.getElementById(`CartItem-${line}`) || document.getElementById(`CartDrawer-Item-${line}`);