<template>
  <view class="page__view">

    <!-- 导航栏 -->
		<navbar title="搜索结果" leftClick @leftClick="$utils.navigateBack" bgColor="transparent" color="#191919" />

    <!-- 搜索栏 -->
    <view :class="['flex', 'search', isFocusSearch ? 'is-focus' : '']" >
      <uv-search 
        v-model="keyword" 
        placeholder="输入关键词搜索" 
        color="#181818"
        bgColor="transparent" 
        :showAction="isFocusSearch"
        @custom="search" 
        @search="search"
        @focus="isFocusSearch = true"
        @blur="isFocusSearch = false"
      >
        <template #prefix>
          <image class="search-icon" src="/static/image/icon-search-dark.png" mode="widthFix"></image>
        </template>
      </uv-search>
    </view>

    <view class="main">
      <sortBar v-model="queryParams.sort" @change="onSortChange"></sortBar>
      
      <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>

  </view>
</template>

<script>
	import mixinsList from '@/mixins/list.js'

	import sortBar from '@/components/product/sortBar.vue'
	import productCard from '@/components/product/productCard.vue'

  export default {
		mixins: [mixinsList],
		components: {
      sortBar,
      productCard,
    },
    data() {
      return {
				keyword: '',
				isFocusSearch: false,
				queryParams: {
					pageNo: 1,
					pageSize: 10,
					title: '',
					// todo
          sort: 'comprehensive',
				},
        mixinsListApi: 'queryActivityList',
      }
    },
    onLoad({ search }) {
      if (search) {
        this.keyword = search
				this.queryParams.title = search
			}
      
      this.getData()
    },
    methods: {	
			// todo: delete
			getData() {
				this.list = [
					{
						id: '001',
						image: '/static/image/temp-20.png',
						title: '新疆天山行7/9日丨醉美伊犁&吐鲁番双套餐',
						tagList: ['国内游','7-9天','12岁+'],
						priceDiscount: 688.99,
						priceOrigin: 1200,
						applyNum: 4168,
					},
					{
						id: '002',
						image: '/static/image/temp-20.png',
						title: '坝上双草原6日|乌兰布统+锡林郭勒＋长城',
						tagList: ['国内游','7-9天','12岁+'],
						priceDiscount: 688.99,
						priceOrigin: 1200,
						applyNum: 4168,
					},
					{
						id: '003',
						image: '/static/image/temp-20.png',
						title: '牛湖线探秘 | 清远牛湖线徒步，探秘天坑与大草原',
            tagList: ['国内游','7-9天','12岁+'],
						priceDiscount: 688.99,
						priceOrigin: 1200,
						applyNum: 4168,
					},
					{
						id: '004',
						image: '/static/image/temp-20.png',
						title: '低海拔藏区草原，汉藏文化大穿越',
            tagList: ['国内游','7-9天','12岁+'],
						priceDiscount: 688.99,
						priceOrigin: 1200,
						applyNum: 4168,
					},
					{
						id: '005',
						image: '/static/image/temp-20.png',
						title: '新丝路到敦煌7日 | 甘青轻松穿越，沙漠＋草原',
            tagList: ['国内游','7-9天','12岁+'],
						priceDiscount: 688.99,
						priceOrigin: 1200,
						applyNum: 4168,
					},
					{
						id: '006',
						image: '/static/image/temp-20.png',
						title: '呼伦贝尔6/8日|经典or环线双套餐可选',
            tagList: ['国内游','7-9天','12岁+'],
						priceDiscount: 688.99,
						priceOrigin: 1200,
						applyNum: 4168,
					},
				]
				this.total = this.list.length
			},
      search() {
        this.queryParams.pageNo = 1
        this.queryParams.pageSize = 10
				this.queryParams.title = this.keyword
        this.getData()
      },
      onSortChange(sort) {
        console.log('onSortChange', sort)
				// todo set sort
        this.getData()
      },
    },
  }
</script>

<style scoped lang="scss">

	.search {
		$h: 64rpx;
		$radius: 32rpx;
		$borderWidth: 4rpx;

    margin: 24rpx 32rpx 0 32rpx;
    width: calc(100% - 32rpx * 2);
		height: $h;
		position: relative;
		border-radius: $radius;

		&-icon {
			margin: 0 13rpx 0 26rpx;
			width: 30rpx;
			height: auto;
		}

		/deep/ .uv-search__content {
			padding: 12rpx 0;
      background: #FFFFFF !important;
      border-color: #CFEFFF !important;
			border: 4rpx solid transparent;
		}

    &.is-focus {
      /deep/ .uv-search__action {
        padding: 19rpx 24rpx;
        font-size: 26rpx;
        font-weight: 500;
        line-height: 1;
        color: #FFFFFF;
        background: #00A9FF;
        border-radius: 32rpx;
      }
    }
  }

  .main {
    margin-top: 24rpx;
    padding: 0 32rpx 100rpx 32rpx;
  }
  
  .content {
    margin-top: 24rpx;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16rpx;
  }

</style>