document.addEventListener("DOMContentLoaded", function () { fetchCart(); const myOffcanvas = document.getElementById("side-cart"); myOffcanvas.addEventListener("hidden.bs.offcanvas", (event) => { $(".item-inside-cart").html(""); $(".loading-cart").removeClass("d-none"); $(".footer-side-cart").addClass("d-none"); }); myOffcanvas.addEventListener("show.bs.offcanvas", (event) => { $(".loading-cart").addClass("d-none"); fetchCart(); }); }); function productCartAddToCart(elm, product_id) { var html = $(elm).html(); $(elm).html( '
" + empty_text + "
"); $("#cart-side-totals,.side-cart-items").html(""); $(".footer-side-cart").addClass("d-none"); } // shipping if (cart.discount_rules && cartTotal) { cart.discount_rules.forEach((rule) => { if (rule.code === "free_shipping") { rule.conditions.forEach((condition) => { if ( condition.field === "subtotal" && condition.operator === "between_inclusive" ) { let free_shipping_text = window.translations.free_shipping_description; let completedPercentage = 100; let $free_shipping_rules = $("#side-cart .shipping-alert"); $free_shipping_rules.empty(); if (cartTotal < condition.value) { let difference = (condition.value - cartTotal).toFixed(2); completedPercentage = Math.round( (cartTotal / condition.value) * 100 ); let shipping_text_replaced = free_shipping_text.replace( "{X}", `${difference}` ); $free_shipping_rules.append( "" + shipping_text_replaced + "" ); } else { $free_shipping_rules.append( '' + window.translations.free_shipping + "" ); } $("#side-cart #cart-shipping").removeClass("d-none"); $("#side-cart .bar").css("width", completedPercentage + "%"); $("#side-cart .cart-shipping-notice").removeClass("d-none"); } }); } else { $("#side-cart .cart-shipping-notice").addClass("d-none"); } }); } else { $("#side-cart .cart-shipping-notice").addClass("d-none"); } //coupon /*var $couponBtn = $('.apply_coupon'); var $couponCode = $('.coupon-code'); if(cart.coupon){ $couponBtn.text(window.translations.remove_coupon); $couponCode.val(cart.coupon.code); $couponCode.attr('disabled', true); $couponBtn.off().on('click', () => { $couponCode.val(''); removeCoupon() }); } else{ $couponCode.attr('disabled', false); $couponBtn.text(window.translations.add_coupon); $couponBtn.off().on('click', (e) => { addCoupon($couponCode.val(), e) }); }*/ setCartTotalAndBadge(response.data.cart); displayActivePaymentSessionBar(response.data.cart); } else { alert("Error Cart"); } }) .catch((errors) => {}) .finally(() => { $(".block-side-cart .item-inside-cart").removeClass("action-start"); $(".block-side-cart .loading-cart").addClass("d-none"); }); } function addCoupon(coupon_code) { var $couponBtn = $(".apply_coupon"); if (coupon_code.trim().length !== 0) { var $actions = $(".footer-side-cart"); $actions.fadeTo("slow", 0.3); $couponBtn.html(''); zid.store.cart.redeemCoupon(coupon_code).then((response) => { $actions.fadeTo("slow", 1); if (response.status === "success") { $.toast({ text: window.translations.coupon_added, showHideTransition: "fade", allowToastClose: true, hideAfter: 2000, position: "top-right", textAlign: "center", bgColor: "#d4edda", textColor: "#155724", }); fetchCart(); } else { $.toast({ text: response?.data?.message ?? window.translations.sorry, showHideTransition: "fade", allowToastClose: true, hideAfter: 2000, position: "top-right", textAlign: "center", bgColor: "#d90000", textColor: "#fff", }); $couponBtn.html(window.translations.add_coupon); } }); } else { $.toast({ text: window.translations.coupon_discount_enter, showHideTransition: "fade", allowToastClose: true, hideAfter: 2000, position: "top-right", textAlign: "center", bgColor: "#d90000", textColor: "#fff", }); } } function removeCoupon() { var $actions = $(".footer-side-cart"); $actions.fadeTo("slow", 0.3); var $couponBtn = $(".apply_coupon"); $couponBtn.html(''); zid.store.cart.removeCoupon().then((response) => { $actions.fadeTo("slow", 1); if (response.status === "success") { $.toast({ text: window.translations.coupon_remove, showHideTransition: "fade", allowToastClose: true, hideAfter: 2000, position: "top-right", textAlign: "center", bgColor: "#d4edda", textColor: "#155724", }); fetchCart(); } else { $.toast({ text: response?.data?.message ?? window.translations.sorry, showHideTransition: "fade", allowToastClose: true, hideAfter: 2000, position: "top-right", textAlign: "center", bgColor: "#d90000", textColor: "#fff", }); $couponBtn.html(window.translations.remove_coupon); } }); } function removeItem(key, item) { $(".side-cart-items li#product_" + key + " .remove").html( '' ); zid.store.cart.removeProduct(key).then(function (response) { if (response.status === "success") { fetchCart(); } }); }