<template>
  <div class="home--page page">
    <div class="bg"></div>
    <div class="txtBox">
      <div class="container-fluid">
        <div class="row align-items-stretch">
          <div class="col-12 col-lg-5 order-1 order-lg-0">
            <div v-if="!open" class="boxBg inquiry">
              <h2>نوع محصول را انتخاب کنید:</h2>
              <div class="brandsList">
                <div class="row">
                  <div class="col-12">
                    <p>
                      ضمن خوش آمدگویی شما به مجموعه آسان سرویس چنانچه محصول خریداری شده شما دارای سریال گارانتی میباشد
                      میتوانید با وارد کردن سریال گارانتی در کادر زیر از وضعیت گارانتی محصول و یا با انتخاب گزینه اصالت
                      کالا و وارد کردن شماره سریال خود دستگاه از اصالت دستگاه مطلع شوید.
                    </p>
                  </div>
                  <div class="brand-sp col-lg-6 col-md-6 col-sm-12" >
                    <div class="brand" :class="g === 1 && 'selected'">
                      <button @click="openModal(1)">
                       
                        <span class="row">
                          <i class="fas fa-phone-laptop" style=" margin-right: -10px;"></i>
                          <i class="fas fa-gamepad" style="margin-top: 32px; position: absolute; margin-right: 25px;"></i>
                        </span>
                       
                        <span>لوازم جانبی کامپیوتر ، موبایل ، حافظه و کنسول</span>
                      </button>
                    </div>
                  </div>
                  <div class="brand-sp col-lg-6 col-md-6 col-sm-12" >
                    <div class="brand" :class="g === 2 && 'selected'">
                      <button @click="openModal(2)">
                        <i class="fas fa-photo-video"></i>
                        <span>لوازم صوتی و تصویری خودرو</span>
                      </button>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <div v-if="open" class="boxBg inquiry">
              <h2>استعلام گارانتی و اصالت کالا</h2>
              <span v-if="g === 1">لوازم جانبی کامپیوتر ، موبایل و محصولات حافظه</span>
              <span v-else>لوازم صوتی و تصویری خودرو</span>
              <p>
                ضمن خوش آمدگویی شما به مجموعه آسان سرویس چنانچه محصول خریداری شده شما دارای سریال گارانتی میباشد
                میتوانید با وارد کردن سریال گارانتی در کادر زیر از وضعیت گارانتی محصول و یا با انتخاب گزینه اصالت کالا و
                وارد کردن شماره سریال خود دستگاه از اصالت دستگاه مطلع شوید.
              </p>
              <div class="switchBox">
                <div class="switch">
                  <button
                    type="button"
                    class=""
                    :class="inquiryType === 'guaranteeSerial' && 'active'"
                    @click="inquiryType = 'guaranteeSerial'"
                  >
                    سریال گارانتی
                  </button>
                  <button
                    type="button"
                    class=""
                    :class="inquiryType === 'orginality' && 'active'"
                    @click="inquiryType = 'orginality'"
                  >
                    اصالت کالا
                  </button>
                </div>
              </div>
              <div class="checkSerial">
                <form @submit.prevent="checkSerial">
                  <input v-model="serial" type="text" :placeholder="serialInputPlaceholder" />
                  <el-button
                    native-type="submit"
                    class="custom-el-button"
                    :loading="checkingSerial"
                    :disabled="!Boolean(serial.length)"
                    >{{ inquiryBtnTxt }}</el-button
                  >
                </form>
              </div>
            </div>
          </div>
          <div class="col-12 col-lg-7 order-0 order-lg-1">
            <div class="boxBg description">
              <h1>خدمات گارانتی آسان سرویس</h1>
              <p>
                آسان سرویس یکی از بزرگترین و فعالترین ارائه دهنده خدمات پس از فروش محصولات الکترونیکی به مدد شبکه گسترده
                و منسجم خدمات پس از فروش خود توانسته پاسخگوی مشتریان فهیم و گرانقدر باشد.
              </p>
              <br />
              <p>کاربر گرامی جهت استفاده از خدمات گارانتی محصول مورد نظر بر روی دکمه ثبت گارانتی کلیک کنید.</p>
              <p>
                همچنین میتوانید جهت راهنمایی مراحل ثبت گارانتی بر روی دکمه راهنمای ثبت گارانتی کلیک کرده و محتوای
                ویدیویی آن را مشاهده فرمایید.
              </p>

              <div class="btns">
                <nuxt-link
                  v-if="help && help.helpId"
                  :to="{ name: 'learning-post+', params: { post: help.helpId.title } }"
                  class="btn btn-primary"
                  >راهنمای ثبت گارانتی</nuxt-link
                >
                <nuxt-link :to="{ name: 'account-post' }" class="btn btn-primary">ثبت گارانتی</nuxt-link>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>

    <!-- <div  class="p-3" style="background-color: white; position: relative; z-index: 999">
      <div>
        <el-carousel :interval="5000" type="card" height="250px">
          <el-carousel-item
            style="display: flex; justify-content: center; align-items: center"
            v-for="(item, i) in brands"
            :key="i"
          >
            <a :href="item.link" class="m-2 p-2" style="width: 100%; height: 100%">
              <div class="row box-shape">
                <div class="col-lg-4 col-sm-12" style="display: flex; justify-content: center; align-items: center">
                  <img width="188" :src="'/uploads/images/brands/' + item.logo" />
                </div>

                <div class="col-lg-8 col-sm-12 desc-box p-3">
                  <h4 class="mb-4">
                    {{ item.title }}
                  </h4>
                  <p>
                    {{ item.description }}
                  </p>
                </div>
              </div>
            </a>
          </el-carousel-item>
        </el-carousel>
      </div>
    </div> -->



  </div>
</template>

<script>
export default {
  name: 'HomePage',
  async asyncData({ $axios, error }) {
    try {
      const help = await $axios.get('/api/public/help?front=true')

      return {
        help: help.data
      }
    } catch (e) {
      error({ status: 500, message: 'There is a problem here' })
    }
  },
  data() {
    return {
      serial: '',
      help: null,
      inquiryType: 'guaranteeSerial',
      checkingSerial: false,
      brands: [],
      g: 1,
      open: false
    }
  },
  head() {
    return {
      title: 'آسان سرویس | استعلام گارانتی'
    }
  },
  computed: {
    serialInputPlaceholder() {
      if (this.inquiryType === 'guaranteeSerial') return 'شماره سریال گارانتی را وارد کنید'
      else return 'شماره سریال دستگاه را وارد کنید'
    },
    inquiryBtnTxt() {
      if (this.inquiryType === 'guaranteeSerial') return 'بررسی گارانتی'
      else return 'بررسی اصالت'
    },
    config() {
      return this.$config
    }
  },
  mounted() {
    this.$axios.get(`/api/public/brand`).then(res => {
      this.brands = res.data
    })
  },
  methods: {
    openModal(g) {
      this.g = g
      this.open = true
    },
    closeModal() {
      this.open = false
    },
    checkSerial() {
      // validation
      if (this.checkingSerial) {
        return this.$message({
          type: 'warning',
          message: 'لطفا منتظر بمانید'
        })
      }
      if (!this.serial.length) {
        return this.$message({
          type: 'warning',
          message: 'ابتدا شماره سریال را وارد کنید'
        })
      }

      this.checkingSerial = true
      const data = {
        serial: this.serial,
        type: this.inquiryType,
        g: this.g
      }
      const loading = this.$loading({
        lock: true,
        text: 'در حال بررسی شماره سریال',
        spinner: 'el-icon-loading',
        background: 'rgba(0, 0, 0, 0.7)'
      })

      let responseTitle
      if (this.inquiryType === 'guaranteeSerial') responseTitle = 'بررسی شماره سریال گارانتی'
      else responseTitle = 'بررسی اصالت کالا'

      this.$axios
        .post(`/api/public/checkSerial`, data)
        .then(res => {
          this.checkingSerial = false
          loading.close()
          this.$alert(res.data.message, responseTitle, {
            confirmButtonText: 'بستن',
            type: 'success'
          })
        })
        .catch(err => {
          this.checkingSerial = false
          loading.close()
          this.$alert(err.response.data.message, responseTitle, {
            confirmButtonText: 'بستن',
            type: 'error'
          })
        })
    }
  }
}
</script>

<style lang="scss" scoped>
.brandsList {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;

  .brand-sp{
    display: flex;
    justify-content: center;
  }
  .brand {
    max-width: 190px;
    padding: 10px;
    text-align: center;

    &.selected {
      button {
        background: #065495;

        img {
          opacity: 0;

          &.alt {
            opacity: 1;
          }
        }

        i,
        span {
          color: #fff;
        }
      }
    }

    button {
      width: 100%;
      height: 100%;
      display: inline-block;
      overflow: hidden;
      border: 1px solid #065495;
      cursor: pointer;
      border-radius: 10px;
      background: transparent;
      position: relative;
      padding: 5px;

      &:hover {
        background: #065495;

        img {
          opacity: 0;

          &.alt {
            opacity: 1;
          }
        }
        i,
        span {
          color: #fff;
        }
      }

      img {
        display: block;
        width: 100%;

        &.alt {
          position: absolute;
          top: 0;
          left: 0;
          z-index: 1;
          opacity: 0;
        }
      }

      i {
        display: block;
        font-size: 50px;
        margin: 10px 0;
        color: #065495;
      }
      span {
        color: #065495;
        font-family: 'iranYekanB';
      }
    }
  }
}
.rounded {
  border-radius: 5px;
}
.el-carousel__item:nth-child(2n) {
  background-color: #99a9bf00;
}

.el-carousel__item:nth-child(2n + 1) {
  background-color: #d3dce600;
}

.box-shape {
  background-color: #f1f1f1;
  border: 1px solid #c4c4c4;
  height: 100%;
  border-radius: 5px;
}
.desc-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
</style>
