import React, { Component } from 'react';
import './index.scss';

class Banner extends Component {
  navTop = 183
  prevY = 0
  state = {
    navs: [
      {
        text: '积福气',
        id: 'lucky-value'
      },
      {
        text: '幸运大抽奖',
        id: 'lucky-draw'
      },
      {
        text: '预付定金',
        id: 'deposit'
      },
      {
        text: '精品特惠',
        id: 'best-courses'
      },
      {
        text: 'AI测试',
        id: 'ai-test'
      },
      {
        text: '大咖直播',
        id: 'live'
      },
    ],
    index: 0,
  }

  // componentDidMount() {
  //   window.addEventListener('scroll', throttle(this.calcNavActive, 100))
  // }

  // componentWillUnmount() {
  //   window.removeEventListener('scroll', throttle(this.calcNavActive, 100))
  // }


  // calcNavActive = () => {
  //   const {navs, index} = this.state
  //   const y = window.scrollY
  //   let swipeDirection = y > this.prevY ? 'up' : 'down'
  //   let _index
  //   if (swipeDirection === 'up') {
  //     _index = (index + 1) >= navs.length ? index : index + 1

  //   } else {
  //     _index = (index - 1) <= 0 ? 0 : index - 1
  //   }
  //   let el = document.querySelector(`#${navs[_index].id}`)
  //   let nav = document.querySelector('#main-nav')
  //   if(el) {
  //     let top = el.offsetTop

  //     if (y <= this.navTop) {
  //       nav.classList.remove('fixed')
  //     } else {
  //       !nav.classList.contains('fixed') && nav.classList.add('fixed')
  //     }
  
  //     if (swipeDirection === 'up') {
  //       if (y + 30 + 30 >= top) {
  //         this.setState({
  //           index: _index
  //         })
  //       }
  //     } else {
  //       if (y + 30 + 20 <= top) {
  //         this.setState({
  //           index: _index
  //         })
  //       }
  //     }
  //     this.prevY = y
  //   }
    
  // }

  // toSection = (i, e) => {
  //   e.preventDefault()
  //   let top = document.querySelector(`#${this.state.navs[i].id}`).offsetTop
  //   this.setState({
  //     index: i
  //   })
  //   window.scrollTo({
  //     top: top - 60,
  //     left: 0
  //   })
  // }


  render() {
    const { toSection, navs, index } = this.props;
    return (
      <div id={'main-banner'}>
        <div className="banner"></div>
        <nav id={'main-nav'}>
          <ul>
            {
              navs.map((item, i) => {
                return (
                  <li key={i} className={index === i ? 'active' : ''}>
                    <a href={`#${item.id}`} onClick={(e) => toSection(i, e)}>{item.text}</a>
                  </li>
                )
              })
            }
          </ul>
        </nav>
      </div>
    )
  }
}

export default Banner
