<template>
  
  <view>
    <view class="tabs">
      <uv-tabs 
        :list="tabs"
        :activeStyle="{
          'font-family': 'PingFang SC',
          'font-weight': 500,
          'font-size': '28rpx',
          'line-height': 1.5,
          'color': '#FFFFFF',
          'background-color': '#191919',
          'border-radius': '34rpx',
          'padding': '12rpx 32rpx',
        }" 
        :inactiveStyle="{
          'font-family': 'PingFang SC',
          'font-weight': 400,
          'font-size': '28rpx',
          'line-height': 1.5,
          'color': '#191919',
          'background-color': '#E4E7EB',
          'border-radius': '34rpx',
          'padding': '12rpx 32rpx',
        }" 
        lineWidth="0"
        lineHeight="0"
        :current="current"
        @click="onClickTab"
      ></uv-tabs>
    </view>
    <view v-if="list.length" class="content">
      <view v-for="item in list" :key="item.id">
        <productCard 
          :data="item"
          size="small"
        ></productCard>
      </view>
    </view>
    <template v-else>
      <uv-empty mode="list"></uv-empty>
    </template>
  </view>
</template>

<script>
	import productCard from '@/components/product/productCard.vue'

  export default {
		components: {
      productCard,
    },
    props: {
      list: {
        type: Array,
        default() {
          return []
        }
      },
    },
    data() {
      return {
        tabs: [],
        current: 0,
      }
    },
    created() {
      this.fetchRecommend()
    },
    methods: {
      fetchRecommend() {
        // todo: fetch
        this.tabs = [
          { name: '全部' },
          { id: '1962342791093227522', name: '研学活动一', disabled: true, },
        ]
      },
      onClickTab(e) {
        this.current = 0
        const index = e.index

        if (index > 0) {
          this.$utils.navigateTo(`/pages_order/product/productDetail?id=${this.tabs[e.index].id}`)
        }

        this.$nextTick(() => {
          this.current = 0
        })

        setTimeout(() => {
          this.current = 0
        }, 800)
      },
    },
  }
</script>

<style scoped lang="scss">
  .tabs {
    width: calc(100% + 22px);
    transform: translateX(-11px);
  }

  .content {
    margin-top: 24rpx;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16rpx;
  }
</style>