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