import React, { FC, useState } from 'react'
import SwipeableViews from 'react-swipeable-views'
import s from './ProductSlider.module.css'
interface Props {
  children?: any
}

const ProductSlider: FC<Props> = ({ children }) => {
  const [idx, setIdx] = useState(0)
  const count = React.Children.count(children)

  const goBack = () => {
    idx !== 0 ? setIdx(idx - 1) : setIdx(count - 1)
  }

  const goNext = () => {
    idx + 1 === count ? setIdx(0) : setIdx(idx + 1)
  }

  return (
    <div className={s.root}>
      <SwipeableViews
        index={idx}
        onChangeIndex={setIdx}
        containerStyle={{ overflow: 'visible' }}
        slideStyle={{ overflow: 'visible' }}
      >
        {children}
      </SwipeableViews>
      <div className={s.rootPanel}>
        <div className={s.leftPanel} onClick={goBack}></div>
        <div className={s.rightPanel} onClick={goNext}></div>
      </div>
    </div>
  )
}

export default ProductSlider