Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Autoría | Ultima modificación | Ver Log |

/* eslint-disable react/prop-types */
import React from 'react'
import Slider from 'react-slick'
import styled from 'styled-components'
import RewardItem from './RewardItem'

const StyledSlider = styled(Slider)`
    .slick-list {
        padding: 0 !important;
    }
    .slick-track {
        display: flex;
    }
    .slick-prev:before, .slick-next:before {
        color: #FBFBFB !important;
        font-size: 24px;
    }
    .slick-prev, .slick-next {
        width: 24px;
        height: 22px;
        position: relative;
    }
    @media (max-width:768px) {
        .slick-prev{
            left: auto;
            margin-left: auto;
            margin-right: .5rem;
            grid-row: 1;
        }
        .slick-next {
            right: 0;
            grid-row: 1;
        }
    }
`

const SampleNextArrow = ({ className, style, onClick }) => {
  return (
        <div
            className={className}
            style={{ ...style, display: 'block', backgroundColor: '#D9D9D9', borderRadius: '100px' }}
            onClick={onClick}
        />
  )
}

const SamplePrevArrow = ({ className, style, onClick }) => {
  return (
        <div
            className={className}
            style={{ ...style, display: 'block', backgroundColor: '#D9D9D9', borderRadius: '100px' }}
            onClick={onClick}
        />
  )
}

const RewardsList = ({ rewards, onClaim }) => {
  const settings = {
    infinite: true,
    speed: 1500,
    slidesToShow: rewards.length < 4 ? 1 : 4,
    slidesToScroll: 1,
    nextArrow: <SampleNextArrow />,
    prevArrow: <SamplePrevArrow />,
    responsive: [
      {
        breakpoint: 768,
        settings: {
          slidesToShow: 2,
          slidesToScroll: 2,
          initialSlide: 0
        }
      },
      {
        breakpoint: 1024,
        settings: {
          slidesToShow: 3,
          slidesToScroll: 3,
          initialSlide: 0
        }
      }
    ]
  }

  return (
        <>
            <h3 className="p-2" style={{ fontWeight: '700' }}>{LABELS.REWARDS}</h3>
            <StyledSlider {...settings}>
                {rewards.map((reward, index) =>
                    <RewardItem reward={reward} onComplete={onClaim} key={index} />
                )}
            </StyledSlider>
        </>
  )
}

export default RewardsList