import { FC, useState } from 'react'
import React from 'react'
import SwipeableViews from 'react-swipeable-views'

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="relative w-full h-full">
      <div className="absolute flex flex-row inset-0 z-10 opacity-0">
        <div className="flex-1 bg-cyan" onClick={goBack}></div>
        <div className="flex-1 bg-pink" onClick={goNext}></div>
      </div>
      <SwipeableViews index={idx} onChangeIndex={setIdx}>
        {children}
      </SwipeableViews>
    </div>
  )
}

export default ProductSlider