<template>
  <div
    :class="['swiper-container likeWrapper xl:tw-max-w-[1246px] xl:tw-mx-auto']"
    ref="mySwiper"
  >
    <div class="swiper-wrapper">
      <div class="swiper-slide like" v-for="(item, index) in list" :key="index">
        <youMightLike :service="service" :item="item"></youMightLike>
      </div>
    </div>
  </div>
</template>
<script scoped>
import Swiper from "swiper/bundle";
import youMightLike from "@/components/service/content/youMightLikeCard.vue";
export default {
  components: { Swiper, youMightLike },
  data() {
    return {
      service: {
        rating: "4.6",
        reviews: "344",
        discount: "10",
        total: "500",
      },
      likeSwiper: null,
    };
  },
  props: {
    list: {
      type: Array,
    },
    countrycode: {
      type: Array,
    },
    regionName: {
      type: Array,
    },
  },
  watch: {
    list: {
      handler: function () {
        if (this.list) {
          this.list.forEach((item) => {
            if (this.regionName) {
              this.regionName.forEach((region) => {
                if (region.id == item.region) {
                  item.regionName = region.name;
                  return region;
                }
              });
            }
            if (this.countrycode) {
              this.countrycode.forEach((country) => {
                if (country.id === item.country) {
                  item.countryName = country.name;
                  return country;
                }
              });
            }
          });
        }
      },
    },
  },
  mounted() {
    let vm = this;
    vm.$nextTick(function () {
      vm.likeSwiper = new Swiper(".likeWrapper", {
        direction: "horizontal",
        // initialSlide: 0,
        slidesPerView: 1,
        slidesPerGroup: 1,
        observer: true, //修改swiper自己或子元素时，自动初始化swiper
        observeParents: true, //修改swiper的父元素时，自动初始化swiper
        spaceBetween: 15,
        preloadImages: false,
        breakpoints: {
          768: {
            spaceBetween: 30,
            slidesPerView: 2,
            lazy: {
              loadPrevNext: true,
              loadOnTransitionStart: true,
              loadPrevNextAmount: 3,
            },
          },
          1366: { spaceBetween: 30, slidesPerView: 3 },
        },
      });
      // vm.likeSwiper.init();
      vm.likeSwiper.init();
      vm.likeSwiper.update();
    });
  },
};
</script>
<style lang="scss" scoped>
:deep() {
  .swiper-container {
    &:hover {
      .swiper-button {
        &-prev {
          opacity: 1;
          transform: translateX(0);
        }

        &-next {
          opacity: 1;
          transform: translateX(0);
        }
      }
    }
  }

  .swiper-container {
    max-width: 100% !important;

    .swiper-slide.like {
      @media screen and (min-width: 1366px) {
        padding-right: 42px;
        width: 33.33333% !important;
      }

      .youMightLike > img {
        width: 100%;
        height: auto;
      }
    }
  }
}
</style>
