<template>
    <Layout-Main> 
        <div class="banner w-full  relative">
            <div class=" absolute w-full flex py-5 px-5 justify-between">
                <div @click="search"><app-icon name="icon-xingzhuang" size="24px"></app-icon></div>
                <div @click="info">
                 <van-badge :content="5" >
                       <app-icon name="icon-xiaoxi" size="24px"></app-icon>
                 </van-badge>
                 </div>
            </div>  
            <img src="@/assets/img/banner.png"  class="w-full z-0">
        </div>
        <div class="container-view w-11/12 mx-auto">
          <app-scrollbar :list='categoryTypes' @tabChange='getDataByCategory'></app-scrollbar>
          <div class="list-scroll">
            <app-cardList :data='listData' v-if="listData.length" @itemOnclick='goDetail'></app-cardList>
            <van-empty image="error" description="没有找到更多内容"  v-else/>
            <div class="h-12"></div>
          </div>
        </div>
    </Layout-Main>
</template>

<script lang="ts">
import Vue from 'vue';
import { Badge } from 'vant';
import { Empty } from 'vant';

Vue.use(Empty);
Vue.use(Badge)
export default Vue.extend({
  data() {
    return{ 
      categoryTypes:[] as any[],
      currentCategory:1,
      currentPage:1,
      pagesize:100,
      listData:[] as any
    }
  },
  components:{ 
    'Layout-Main':()=>import('@/layout/Main.vue'),
    'app-icon':()=>import('@/components/common/Icon.vue'),
    'app-scrollbar':()=>import('@/components/common/ScrollBar.vue'),
    'app-cardList':()=>import('@/components/CardList.vue')
  }, 
  name: 'Home',
  async created(){
    this.categoryTypes = await this.$service.nftService.getCategory()
  },
  async mounted() {
     this.listData = await this.$service.nftService.getList(this.currentPage,this.pagesize,this.currentCategory)
  },
  methods:{
    search(){
      console.log(11);
      
    },
    info(){
      console.log(222);
    },
    goDetail(id:any){
      console.log(id);
      this.$router.push({ name: 'Nftdetail', params: { id: id }})
    },
    async getDataByCategory(item:any){
      console.log(item);
      
      this.currentCategory = item.data.id
      this.listData =  await this.$service.nftService.getList(this.currentPage,this.pagesize,this.currentCategory)
    }
  }
});
</script>

<style lang="less" scoped>
.trangel{
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-right: 10px solid #1C2654;
    border-bottom: 10px solid #1C2654;
    border-left: 10px solid transparent
}
.retangle{
  height: 20px;
  background-color: #1C2654;
}

</style>