diff --git a/website_sale_aplicoop/static/src/js/website_sale.js b/website_sale_aplicoop/static/src/js/website_sale.js index 9ccd9f7..b88bbee 100644 --- a/website_sale_aplicoop/static/src/js/website_sale.js +++ b/website_sale_aplicoop/static/src/js/website_sale.js @@ -796,6 +796,24 @@ var isOutOfStock = (form.getAttribute("data-out-of-stock") || "false") === "true" || (cartBtn.getAttribute("data-out-of-stock") || "false") === "true"; + + // Fallback guards in case cached markup drops the data attribute + if (!isOutOfStock) { + var btnTitle = (cartBtn.getAttribute("title") || "").toLowerCase(); + var btnAria = (cartBtn.getAttribute("aria-label") || "").toLowerCase(); + var iconEl = cartBtn.querySelector("i"); + var hasBanIcon = iconEl && iconEl.classList.contains("fa-ban"); + + if ( + hasBanIcon || + btnTitle.includes("out of stock") || + btnTitle.includes("sin stock") || + btnAria.includes("out of stock") || + btnAria.includes("sin stock") + ) { + isOutOfStock = true; + } + } if (isOutOfStock) { var labels = self._getLabels(); self._showNotification(