// Wishlist
class Wishlist {
  runListener() {
    const btnEl = document.querySelectorAll('.wishlist');

    btnEl.forEach((btn) => {
      btn.addEventListener('click', (e) => {
        const target = e.target;

        const id = +target.getAttribute('data-id');
        const origin = +target.getAttribute('data-origin');
        const type = +target.getAttribute('data-type');

        this.toWishlist(id, origin, type);
      });
    });
  }

  /**
   * @param {number} id
   * @param {number} type 1: tour-packages, 2: tour
   * @returns
   */
  async toWishlist(id, origin, type) {
    try {
      const res = await fetch(`${WISHLIST_URL}${'?id='}${id}&type=${type}`);
      const { liked, success } = await res.json();

      if (success) {
        switch (origin) {
          case 1:
            this.isView(liked);
            break;

          default:
            this.isCard();
            break;
        }
      }
    } catch (error) {
      console.error(error);
      return false;
    }
  }

  /**
   * @param {number} liked
   */
  isView(liked) {
    if (liked) {
      document.querySelector(
        '#button_wish'
      ).innerHTML = `<i class='icon_heart mr-1 btn-liked'></i> Se añadió a tus favoritos`;

      setTimeout(() => {
        document.querySelector(
          '#button_wish'
        ).innerHTML = `<i class='icon_heart mr-1 btn-liked'></i> En tus favoritos`;
      }, 1000);
    } else {
      document.querySelector(
        '#button_wish'
      ).innerHTML = `<i class='icon_heart mr-1'></i> Se eliminó de tus favoritos`;

      setTimeout(() => {
        document.querySelector(
          '#button_wish'
        ).innerHTML = `<i class='icon_heart mr-1'></i> Añadir a la lista de favoritos`;
      }, 1000);
    }
  }

  isCard() {
    console.log(':)');
  }
}

const wishlist = new Wishlist();
wishlist.runListener();
