<template>
  <div class="graphic-page">
    <div class="container">
      <div class="row">
        <div class="col-12 col-md-9">
          <h3 class="graphic-title">گرافیگ</h3>
          <div class="">
            <div class="row">
              <div class="col-12 mb-5 sectionStyle" v-if="graphic.all.docs.length">
                <div class="graphic-item1">
                  <nuxt-link :to="{name: 'portal-graphics-graphic', params: {portal: currentPortal, graphic: graphic.all.docs[0]._id}}" class="graphic-img-box1">
                    <img :src="graphic.all.docs[0].thumbCover" alt="" class="graphic-img1">
                    <div class="graphic-detail-item1">
                      <h3 class="graphic-detail-title1">{{ graphic.all.docs[0].title }}</h3>
                      <p class="graphic-detail-date1" id="graphic-detail-date1">{{ jDate(graphic.all.docs[0].customDate || graphic.all.docs[0].created_at) }}</p>
                    </div>
                  </nuxt-link>
                </div>
              </div>
              <div class="col-12">
                <div class="not-found" v-if="!graphic.all.docs.length">
                  <p>موردی وجود ندارد!</p>
                </div>
              </div>
              <div class="col-12 col-sm-6 col-md-3 mb-3 sectionStyle" v-for="(item, index) in graphic.all.docs" :key="item.id" v-if="index > 0 && graphic.all.docs.length">
                <div class="graphic-item">
                  <nuxt-link :to="{name: 'portal-graphics-graphic', params: {portal: currentPortal, graphic: item._id}}" class="graphic-img-box">
                    <img :src="item.thumbCover" alt="" class="graphic-img">
                  </nuxt-link>
                  <div class="graphic-detail-item">
                    <h3 class="graphic-detail-title">{{ item.title }}</h3>
                    <p class="graphic-detail-date" id="graphic-detail-date">{{ jDate(item.customDate || item.created_at) }}</p>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <div class="col-12 col-md-3">
          <h3 class="graphic-side">برگزیده ها</h3>
          <div class="sectionStyle" v-if="graphic.favorites.length">
            <div class="row">
              <div class="col-12 col-sm-6 col-md-12 mb-3" v-for="(item, index) in graphic.favorites" :key="item.id" v-if="index < 5">
                <div class="graphic-item ">
                  <nuxt-link :to="{name: 'portal-graphics-graphic', params: {portal: currentPortal, graphic: item._id}}" class="graphic-img-box">
                    <img :src="item.thumbCover" alt="" class="graphic-img">
                  </nuxt-link>
                  <div class="graphic-detail-item">
                    <h3 class="graphic-detail-title">{{ item.title }}</h3>
                    <p class="graphic-detail-date" id="graphic-detail-date2">{{ jDate(item.customDate || item.created_at) }}</p>
                  </div>
                </div>
              </div>
            </div>
          </div>
          <div class="not-found" v-if="!graphic.favorites.length">
            <p>موردی وجود ندارد!</p>
          </div>
        </div>
      </div>
      <div class="paginate">
        <div class="row">
          <div class="col-12">
            <el-pagination
                layout="next, pager, prev"
                v-if="graphic.all.totalPages > 1"
                class="el-pagination"
                @current-change="pageNumber"
                :current-page="Number($route.query.page)"
                :page-count="Number(graphic.all.totalPages)"
            >
            </el-pagination>
          </div>
        </div>
      </div>


    </div>
  </div>
</template>

<script>
import moment from "moment-jalaali"

export default {
  data() {
    return {
      graphic: null
    }
  },
  computed: {
    currentPortal() {
      return this.$route.params.portal
    },
    pageQuery() {
      return this.$route.query.page
    },
  },
  watch: {
    pageQuery(newVal, oldVal) {
      this.$nuxt.refresh()
    },
  },
  methods: {
    jDate(date) {
      return moment(date).locale('fa').format('LL')
    },
    pageNumber(val) {
      this.$router.push({
        name: 'portal-graphics',
        params: {portal: this.currentPortal},
        query: {type: 'graphic', page: val}
      })
      $(window).scrollTop(0)
    },
  },
  async asyncData({params, query, error, $axios}) {
    // return error({status: 404})
    try {
      const portalQuery = params.portal
      // const data = await $axios.get(`/api/public/getgraphicCat/${query.category}`, {
      const data = await $axios.get(`/api/public/getAllGallery?portal=${portalQuery}&type=${query.type}&page=${query.page}`)
      // console.log('data.data', data.data.all)
      return {
        graphic: data.data
      }
    } catch (e) {
      error({status: 404})
    }
  }
}
</script>
