<template>
  <section class="trending-destination-services xl:tw-max-w-full xl:tw-mx-auto">
    <div class="swiper-container trendingDestinationServices" ref="trendingDestinationServices">
      <div :class="['swiper-wrapper']">
        <div v-for="(theme, idx) in themes" :key="idx" @mouseover="hoverCardIdx = idx"
          :class="['swiper-slide tw-relative tw-h-[164px] tw-bg-cover tw-bg-no-repeat  tw-rounded-[8px] tw-transition-all tw-duration-200 tw-ease-in-out md:tw-h-[224px]', hoverCardIdx == idx ? 'xl:tw-w-[28%]' : 'xl:tw-w-[16.8%]']"
          :style="{ 'background-image': 'url(' + theme.image + ')' }">
          <nuxt-link class="tw-block tw-w-full tw-h-full tw-text-white" :to="localePath(destinations[idx])">
            <div
              class="overlap tw-absolute tw-left-0 tw-bottom-0 tw-w-full tw-h-1/2 tw-bg-gradient-to-b tw-from-transparent tw-to-black tw-rounded-[8px]">
            </div>
            <div class="tw-absolute tw-bottom-[12px] tw-left-[12px] tw-text-white xl:t18">{{ theme.name }}</div>
          </nuxt-link>
        </div>
      </div>
    </div>
  </section>
</template>

<script>
// taipei 7
// tokyo 21
// frankfurt 76
// las vegas 57
// ho chi min 31
import Swiper from "swiper/bundle";
export default {
  delimiters: ['${', '}'],
  components: {
    Swiper
  },
  props: {
    themes: {
      type: Array,
    },
    title: {
      type: String,
    },
  },
  created() {
    if (this.$props.themes.length > 5) {
      this.$props.themes = this.$props.themes.slice(0, 5);
    }
  },
  data() {
    return {
      hoverCardIdx: 0,
      slide: null,
      trendingDestinationServicesSwiper: null,
      destinations: [
        "/exhibition?city=7",
        "/exhibition?city=21",
        "/exhibition?city=76",
        "/exhibition?city=57",
        "/exhibition?city=31",
      ],
    };
  },
  mounted() {
    let vm = this;
    vm.$nextTick(function () {
      vm.trendingDestinationServicesSwiper = new Swiper(".swiper-container.trendingDestinationServices", {
        direction: "horizontal",
        initialSlide: 0,
        slidesPerView: 2.2,
        slidesPerGroup: 2,
        observer: true, //修改swiper自己或子元素时，自动初始化swiper
        observeParents: true, //修改swiper的父元素时，自动初始化swiper
        spaceBetween: 15,
        preloadImages: false,
        lazy: {
          loadPrevNext: true,
          loadOnTransitionStart: true,
          loadPrevNextAmount: 3,
        },
        breakpoints: {
          768: {
            slidesPerView: 2.5,
          },
          1366: {
            slidesPerView: 5,
            allowTouchMove: false,
          },
        },
      });
    });
  },
};
</script>

<style lang="scss" scoped>
.swiper-slide {
  background-position: 50%;
}

.card-text {
  position: absolute;
  bottom: 0%;
  left: 10%;
}

.span {
  transition: transform 0.2s;
}

.v-slide-group__wrapper {
  touch-action: auto !important;
}
</style>
