/* eslint-disable jsx-a11y/anchor-is-valid */
import React, { Component } from "react"
import { VList } from "../../common"
import { Tabs, WhiteSpace, Toast } from "antd-mobile"
import "./index.scss"
import HeaderSearch from "../../common/HeaderSearch/index"
import { http } from "src/utils"
import Loading from "src/common/Loading"
import { connect } from "react-redux"

@connect(({ user }) => ({
  user,
}))
class Preferential extends Component {
  constructor(props) {
    super(props)
    this.state = {
      dataList: [],
      courseStatus: 0,
      isLoading: true,
    }
  }

  componentDidMount() {
    this.specialSale()
  }

  // 限时特惠
  specialSale = () => {
    http.get(`${API.home}/m/home/weekDiscounts`).then((res) => {
      if (res.data.code === 200) {
        this.setState({
          dataList: res.data.data,
          isLoading: false,
        })
      } else {
        Toast.info(res.data.msg, 2)
      }
    })
  }
  // 砍价专区
  bargain = () => {
    http.get(`${API.home}/m/home/bargainZone`).then((res) => {
      if (res.data.code === 200) {
        this.setState({
          dataList: JSON.stringify(res.data.data) === "{}" ? [] : res.data.data,
          isLoading: false,
        })
      } else {
        Toast.info(res.data.msg, 2)
      }
    })
  }
  // 一键拼团
  group = () => {
    http.get(`${API.home}/m/home/grouponList`).then((res) => {
      if (res.data.code === 200) {
        this.setState({
          dataList: res.data.data,
          isLoading: false,
        })
      } else {
        Toast.info(res.data.msg, 2)
      }
    })
  }
  // tab 切换
  ontabclick = (tab, index) => {
    this.setState({
      courseStatus: index,
      isLoading: true,
    })
    switch (index) {
      case 0:
        this.specialSale()
        break
      case 1:
        this.bargain()
        break
      default:
        this.group()
    }
  }

  toCourseDetail = (id) => {
    const { history } = this.props
    history.push(`/detail?id=${id}`)
  }

  render() {
    const tabs = [
      { title: "限时特惠" },
      { title: "砍价专区" },
      { title: "一键拼团" },
    ]
    const { user = {} } = this.props
    let isLogin = user.data && user.data.uid ? true : false
    return (
      <div className="preferential">
        <HeaderSearch isLogin={isLogin} />
        <Loading isLoading={this.state.isLoading}>
          <div className="class-content">
            <WhiteSpace />
{console.log(tabs)}
            <Tabs
              tabs={tabs}
              animated={false}
              onChange={(tab, index) => this.ontabclick(tab, index)}
              swipeable={false}
              page={this.state.courseStatus}
              renderTabBar={(props) => (
                <div className={"custom-tab-bar"}>
                  <Tabs.DefaultTabBar {...props} />
                </div>
              )}
            ></Tabs>
            <div className="tabs">
              {this.state.dataList.length > 0 ? (
                <ul>
                  {this.state.dataList.map((item, index) => {
                    const Info = (
                      <div className="info">
                        <p
                          className="title text-overflow-2"
                          onClick={() => this.toCourseDetail(item.course_id)}
                        >
                          {/* <Link to={`/detail?id=${item.course_id}`}> */}
                          {item.course_title}
                          {/* </Link> */}
                        </p>
                        <p className="contact text-overflow-1">
                          {item.course_desc}
                        </p>
                        <div className="des">
                          {!item.is_buy && (
                            <p className="course-price">
                              {this.state.courseStatus === 0 && (
                                <span className="price">特惠价：</span>
                              )}
                              <span className="new">¥{item.price1}</span>
                              <span className="old">¥{item.price0}</span>
                            </p>
                          )}
                          {item.is_buy && <a className="isbuy">已购买</a>}
                        </div>
                      </div>
                    )
                    const status = !item.is_buy && (
                      <div>
                        {this.state.courseStatus === 1 && (
                          <p className="course-status">
                            砍价减{item.bargain_price}元
                          </p>
                        )}
                        {this.state.courseStatus === 2 && (
                          <p className="course-status">拼团价{item.price}元</p>
                        )}
                        {item.is_aist && <span className="return_cash"></span>}
                      </div>
                    )
                    return (
                      <VList
                        key={index}
                        img={item.image_name}
                        id={item.course_id}
                        status={status}
                        info={Info}
                        toDetail={this.toCourseDetail}
                      />
                    )
                  })}
                </ul>
              ) : (
                <div className={"notdata"}>
                  特惠课程都去参加活动了，可以去活动页看看哦~
                </div>
              )}
            </div>
            <WhiteSpace />
          </div>
        </Loading>
      </div>
    )
  }
}

export default Preferential
