<template>
  <section :class="['tw-relative tw-mt-[30px] tw-overflow-hidden']">
    <div class="swiper-container relatedService tw-mx-auto tw-max-w-full tw-overflow-hidden" ref="relatedService">
      <div :class="['swiper-wrapper tw-z-0']">
        <button :class="[
          'swiper-slide tw-w-fit tw-body-4 tw-border tw-border-solid tw-border-neutral-700 tw-rounded-[12px] tw-px-[16px] tw-py-[10px]   md:tw-body-3',
          categoryid == 0 ? 'active' : '',
        ]" @click="getAll()">{{ $t('service.All') }}
        </button>
        <button :class="[
          'swiper-slide tw-w-fit tw-body-4 tw-border tw-border-solid tw-border-neutral-700  tw-rounded-[12px] tw-px-[16px] tw-py-[10px] tw-whitespace-nowrap  md:tw-body-3',
          categoryid == item.ids[0] ? 'active' : '',
        ]" v-for="(item, index) in getCategory" :key="index" @click="getCategoryId(item.ids[0])">
          {{ item.lang_text }}
        </button>
      </div>
      <div :class="['whitelinear tw-absolute tw-z-10 tw-mt-[-43px] tw-right-0']"></div>
      <div :class="[
        'swiper-button-prev rs',
        relatedServiceSwiper ? 'md:tw-block' : '',
      ]"></div>
      <div :class="[
        'swiper-button-next rs',
        relatedServiceSwiper ? 'md:tw-block' : '',
      ]"></div>
    </div>
  </section>
</template>
<script>
import { $ } from "dom7";
import Swiper from "swiper/bundle";

export default {
  components: {
    Swiper,
  },

  data() {
    return {
      relatedServiceSwiper: null,

      categoryName: "",
      categoryid: 0,
    };
  },
  props: {
    getCategory: {
      type: Array,
    },
  },

  mounted() {
    let vm = this;
    vm.$nextTick(function () {
      vm.relatedServiceSwiper = new Swiper(".swiper-container.relatedService", {
        direction: "horizontal",
        initialSlide: 0, //slide的索引值，從第0筆開始顯示
        slidesPerView: "auto", //顯示的slides数量
        slidesPerGroup: 4, //每次slide的數量
        observer: true, //修改swiper自己或子元素时，自动初始化swiper
        observeParents: true, //修改swiper的父元素时，自动初始化swiper
        spaceBetween: 10,
        slideToClickedSlide: true,
        navigation: {
          nextEl: ".swiper-button-next.rs",
          prevEl: ".swiper-button-prev.rs",
        },
        breakpoints: {
          768: {
            spaceBetween: 12,
          },
        },
      });
    });
  },
  methods: {
    getCategoryId(data) {
      this.categoryid = data;
      this.$emit("test", this.categoryid);
      this.$emit("categoryid", `/service?category=${this.categoryid}`);
    },
    getAll() {
      this.categoryid = 0;
      this.$emit("getAllServiceList");
      this.$emit("categoryid", `/service`);
    },
    test() {
      if (this.activeIndex == this.categoryid) {
        return true;
      }
    },
  },
};
</script>
<style lang="scss" scoped>
.swiper-container {
  width: 100% !important;
}

.swiper-slide {
  color: #696969;
  background-color: white;
}

.active {
  background-color: #757575;
  color: #fefefe;
}

.swiper-button {
  // &-prev.rs {
  //   z-index: 4;
  //   text-align: center;
  //   height: 45px;
  //   width: 45px;
  //   background-image: url("~/assets/svg/relatedServiceArrow.svg");
  //   background-size: 100%;
  //   transform: rotate(180deg);
  //   background-repeat: no-repeat;
  //   // &:focus-visible,
  //   // &:focus {
  //   //   outline: none;
  //   // }

  //   &::after {
  //     text-align: center;
  //     color: transparent;
  //     // background-image: url("~/assets/svg/relatedServiceArrow.svg");
  //     background-position: center;
  //     height: 45px;
  //     width: 45px;
  //     background-repeat: no-repeat;
  //     background-size: 100%;
  //   }
  // }

  // &-next.rs {
  //   z-index: 9;
  //   text-align: center;
  //   height: 45px;
  //   width: 45px;
  //   background-image: url("~/assets/svg/relatedServiceArrow.svg");
  //   background-size: 100%;
  //   background-repeat: no-repeat;
  //   // position: relative;

  //   &::after {
  //     text-align: center;
  //     color: transparent;
  //     // background-image: url("~/assets/svg/relatedServiceArrow.svg");
  //     background-position: center;

  //     background-repeat: no-repeat;
  //     background-size: cover;
  //   }
  // }
}

.swiper-button {
  &-prev.rs {
    left: 0;

    &::before {
      content: "";
      display: block;
      width: 60px;
      height: 100%;
      background-image: url("~/assets/svg/swiper_linear.svg");
      // background-image: linear-gradient(to left, transparent, #fff);
      position: absolute;
      left: 0;
      top: -4px;
      z-index: -1;
      transform: rotate(180deg);

      @media screen and (min-width: 1366px) {
        width: 56px;
      }
    }

    &:after {
      content: "";
      display: block;
      position: absolute;
      top: 6px;
      right: -6px;
      background-image: url("~/assets/svg/relatedServiceArrow.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 32px;
      transform: rotate(180deg);
      width: 32px;
      height: 32px;
    }
  }

  &-next.rs {
    right: 0;

    &::before {
      content: "";
      display: block;
      width: 60px;
      height: 100%;
      background-image: url("~/assets/svg/swiper_linear.svg");
      // background-image: linear-gradient(to right, transparent, #fff);
      position: absolute;
      right: 0;
      top: 4px;
      z-index: -1;

      @media screen and (min-width: 1366px) {
        width: 56px;
      }
    }

    &:after {
      content: "";
      display: block;
      position: absolute;
      top: 6px;
      left: -6px;
      background-image: url("~/assets/svg/relatedServiceArrow.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 32px;
      width: 32px;
      height: 32px;
    }
  }
}

:deep(.swiper-container) {
  .swiper-slide {
    display: flex;
  }

  [aria-disabled="true"] {
    opacity: 0;

    &::after {
      pointer-events: none;
    }

    &::before {
      pointer-events: none;
    }
  }
}
</style>
