import React, { useCallback, useState } from 'react'
import styles from './index.module.scss'
import A21vrOff from './components/A21vrOff'
import A22hotListWrap from './components/A22hotListWrap'
import A23pinTop from './components/A23pinTop'
import A24drawerList from './components/A24drawerList'
import { useSelector } from 'react-redux'
import { RootState } from '@/store'
import classNames from 'classnames'
import A3hotList from '../A3hotList'

const imgArrTemp = ['like.png', 'likeAc.png']
const imgArr = imgArrTemp.map(item => require(`@/assets/img/${item}`))

function A2main() {
  // 漫游的状态
  const { state3d } = useSelector((state: RootState) => state.three)

  // 点赞
  const [like, setLike] = useState(false)
  const [likeNum, setLikeNum] = useState(1)

  // 点击点赞
  const likeFu = useCallback(() => {
    if (like) return
    setLike(true)
    setTimeout(() => {
      setLikeNum(likeNum + 1)
      setLike(false)
    }, 2000)
  }, [like, likeNum])

  // 点击热点列表
  const [hotListShow, setHotListShow] = useState(false)

  return (
    <div className={styles.A2main} id='gui' style={{ display: 'none' }}>
      <A21vrOff />

      <A22hotListWrap />

      {/* 顶部介绍 */}
      <A23pinTop />

      {/* 主要修改的图标部分 */}
      <div
        className={classNames(
          'pinBottom-container',
          state3d === 'panorama' ? '' : 'pinBottom-containerNo'
        )}
      >
        <div className='pinBottom center'>
          <div id='view-controllers'></div>
        </div>

        <div className='pinBottom left'>
          <div className='viewContainer'>
            <div
              id='previous'
              className='previous desktop-only ui-icon'
              style={{ display: 'none' }}
            >
              {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
              <a>
                <img
                  rel='tooltip'
                  src='images/play.png'
                  width='24'
                  height='24'
                  data-original-title='播放'
                  alt=''
                />
              </a>
            </div>
            <div id='play' className='ui-icon' rel='tooltip' data-original-title='播放'>
              {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
              <a>
                <img src='images/play.png' alt='' />
              </a>
              {/* 鼠标移入 */}
              <div className='hoveImg'>自动导览</div>
            </div>
            <div id='pause' className='ui-icon' style={{ display: 'none' }}>
              {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
              <a>
                <img rel='tooltip' src='images/pause.png' alt='' />
              </a>
              {/* 鼠标移入 */}
              <div className='hoveImg'>暂停导览</div>
            </div>
            <div id='next' className='next desktop-only ui-icon wide' style={{ display: 'none' }}>
              {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
              <a>
                <i
                  rel='tooltip'
                  title=''
                  className='icon icon-dpad-right'
                  data-original-title='下一个'
                ></i>
              </a>
            </div>

            <div id='gui-modes-map' className='ui-icon double active'>
              <div data-original-title='导览' id='pullTab' rel='tooltip' title=''>
                <img className='icon icon-inside' src='images/auto.png' alt='' />
                {/* 鼠标移入 */}
                <div className='hoveImg'>导览列表</div>
              </div>

              {/* 原始热点列表---隐藏 */}
              <div
                data-original-title='热点列表'
                id='hotList'
                rel='tooltip'
                style={{ display: 'none' }}
              >
                <img
                  className='icon icon-inside'
                  src='images/hotlist.png'
                  title='热点列表'
                  alt=''
                />
              </div>

              <div data-original-title='全景漫游' id='gui-modes-inside' rel='tooltip'>
                <img
                  className='icon icon-inside'
                  src={`images/inside${state3d === 'panorama' ? '_active' : ''}.png`}
                  alt=''
                />
                {/* 鼠标移入 */}
                <div className='hoveImg'>全景漫游</div>
              </div>
              <div data-original-title='迷你模型' id='gui-modes-dollhouse' rel='tooltip'>
                <img
                  className='icon icon-inside'
                  src={`images/dollhouse${state3d === 'dollhouse' ? '_active' : ''}.png`}
                  alt=''
                />
                {/* 鼠标移入 */}
                <div className='hoveImg'>三维视觉</div>
              </div>
              <div data-original-title='俯视图' id='gui-modes-floorplan' rel='tooltip'>
                <img
                  className='icon icon-inside'
                  src={`images/floor${state3d === 'floorplan' ? '_active' : ''}.png`}
                  alt=''
                />
                {/* 鼠标移入 */}
                <div className='hoveImg'>平面视觉</div>
              </div>
              <div
                data-original-title='VR'
                id='vr'
                rel='tooltip'
                title=''
                style={{ display: 'none' }}
              >
                <img className='icon icon-inside' src='images/VR.png' title='VR' alt='' />
              </div>
              <div
                data-original-title='消除外壳'
                id='gui-remove-face'
                rel='tooltip'
                title=''
                style={{ display: 'none', float: 'left' }}
              >
                <img className='icon icon-inside' src='images/face.jpg' alt='' />
              </div>

              {/* 新的热点列表 */}
              <div
                className='A2hotIcon'
                rel='tooltip'
                onClick={() => {
                  // 停止自动导览
                  window.player.director.stopTour()
                  setHotListShow(true)
                }}
              >
                <img src='images/hotlist.png' alt='' />
                {/* 鼠标移入 */}
                <div className='hoveImg'>热点列表</div>
              </div>
            </div>
          </div>
        </div>
        <div className='pinBottom right hideTarget'>
          <div className='rightViewContainer clearfix'>
            <div className='gui-floor'>
              <div className='gui-floor-title'></div>
              <div className='gui-floor-icon'>
                <span className='gui-floor-number'></span>
              </div>
              <div className='container'></div>
            </div>
            <div id='volume' className='ui-icon wide'>
              {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
              <a>
                <img src='images/Volume btn_on.png' alt='' />
              </a>
              {/* 鼠标移入 */}
              <div className='hoveImg'>音乐开关</div>
            </div>

            {/* 点赞 */}
            <div className='likeBox' onClick={likeFu}>
              <img src={like ? imgArr[1] : imgArr[0]} alt='' />
              {/* 鼠标移入 */}
              <div className='hoveImg'>点赞</div>
              <div className='likeNum'>{likeNum}</div>
              <div className={classNames('likeMove', like ? 'likeMoveAc' : '')}>+1</div>
            </div>

            <div id='vr' className='ui-icon wide hidden' style={{ display: 'none' }}>
              {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
              <a>
                <i rel='tooltip' title='{[{ VIEW_IN_VR }]}' className='icon icon-webvr'></i>
              </a>
            </div>
            <div id='sharing' className='ui-icon wide hidden' style={{ display: 'none' }}>
              {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
              <a>
                <i rel='tooltip' title='{[{ SOCIAL_SHARING }]}' className='icon icon-share'></i>
              </a>
            </div>
            <div id='gui-fullscreen' className='ui-icon wide' data-placement='top' rel='tooltip'>
              {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
              <a>
                <img src='images/full.png' alt='' />
              </a>
              {/* 鼠标移入 */}
              <div className='hoveImg'>全屏</div>
            </div>
            <div
              id='gui-fullscreen-exit'
              className='ui-icon wide'
              data-placement='top'
              rel='tooltip'
              style={{ display: 'none' }}
            >
              {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
              <a>
                <img src='images/fullx.png' alt='' />
              </a>
              {/* 鼠标移入 */}
              <div className='hoveImg'>关闭全屏</div>
            </div>

            <div className='pull-right terms terms2'>
              {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
              <a>{'{[{ TERMS }]}'}</a>
            </div>
          </div>
        </div>
      </div>

      {/* 底部导览列表 */}
      <A24drawerList />

      {/* 热点列表 */}
      <A3hotList show={hotListShow} closeFu={() => setHotListShow(false)} />
    </div>
  )
}

const MemoA2main = React.memo(A2main)

export default MemoA2main
