import documentReady from '@assets/js/documentReady';
import { handlerNotification, sendAjaxFromForm, removeProductAjax, init, refreshST, updateCartList } from '../base/cart';
import googleAnalytics from '@assets/js/googleAnalytics';
import seeKitProducts from '../../see-kit-products';

const BASE_URL = document.getElementById('base-urls').dataset.baseUrlLoja;

init();
let checkCartList = $('.js-header__cart-total').text();

documentReady(() => {
  seeKitProducts();

  window.addEventListener('quote-shipping', () => {
    const applyShippingForm = document.querySelector('#postcode-result form');
    if (applyShippingForm) {
      applyShippingForm.onsubmit = function(e) {
        e.preventDefault();
        sendAjaxFromForm(applyShippingForm)
          .then(({ cartlist: cartList }) => {
            refreshST(cartList);

            const resultContainer = document.querySelector('#postcode-result');
            if (resultContainer) {
              resultContainer.classList.add('hidden');
              resultContainer.innerHTML = '';
            }
          })
          .catch(err => console.log(err, err.response));
      };
    }
  });

  const continue_buying = document.querySelector('#continue_buying');

  if(continue_buying){
    continue_buying.addEventListener('click', () => {
      const prevHostname = document.referrer ? new URL(document.referrer) : "";
      const currentHostname = new URL(window.location.href);
  
      if(prevHostname.hostname != currentHostname.hostname){
        return window.location.href = BASE_URL;
      } 
  
      window.location.href = document.referrer;
    })
  }


  const couponForm = document.querySelector('#discount-coupon-form');
  
  if (couponForm) {
    couponForm.onsubmit = function(e) {
      e.preventDefault();
      sendAjaxFromForm(couponForm).catch(err => console.log(err, err.response));
    };
  }

});

var target = document.querySelector( '.js-header__cart-total' );
var observer = new MutationObserver( handleMutationObserver  );
var config = { childList: true, attributes: true };

function handleMutationObserver( mutations ) {
  mutations.forEach(function(mutation) {
    if (checkCartList !== $('.js-header__cart-total').text()){
      checkCartList == 0 ? location.reload(): updateCartList();
      checkCartList = $('.js-header__cart-total').text();
    }
  });
}
observer.observe( target, config );