Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
5223 efrain 1
/* eslint-disable react/prop-types */
2
import React from 'react'
3
import Slider from 'react-slick'
4
import styled from 'styled-components'
5
import RewardItem from './RewardItem'
6
 
7
const StyledSlider = styled(Slider)`
8
    .slick-list {
9
        padding: 0 !important;
10
    }
11
    .slick-track {
12
        display: flex;
13
    }
14
    .slick-prev:before, .slick-next:before {
15
        color: #FBFBFB !important;
16
        font-size: 24px;
17
    }
18
    .slick-prev, .slick-next {
19
        width: 24px;
20
        height: 22px;
21
        position: relative;
22
    }
23
    @media (max-width:768px) {
24
        .slick-prev{
25
            left: auto;
26
            margin-left: auto;
27
            margin-right: .5rem;
28
            grid-row: 1;
29
        }
30
        .slick-next {
31
            right: 0;
32
            grid-row: 1;
33
        }
34
    }
35
`
36
 
37
const SampleNextArrow = ({ className, style, onClick }) => {
38
  return (
39
        <div
40
            className={className}
41
            style={{ ...style, display: 'block', backgroundColor: '#D9D9D9', borderRadius: '100px' }}
42
            onClick={onClick}
43
        />
44
  )
45
}
46
 
47
const SamplePrevArrow = ({ className, style, onClick }) => {
48
  return (
49
        <div
50
            className={className}
51
            style={{ ...style, display: 'block', backgroundColor: '#D9D9D9', borderRadius: '100px' }}
52
            onClick={onClick}
53
        />
54
  )
55
}
56
 
57
const RewardsList = ({ rewards, onClaim }) => {
58
  const settings = {
59
    infinite: true,
60
    speed: 1500,
61
    slidesToShow: rewards.length < 4 ? 1 : 4,
62
    slidesToScroll: 1,
63
    nextArrow: <SampleNextArrow />,
64
    prevArrow: <SamplePrevArrow />,
65
    responsive: [
66
      {
67
        breakpoint: 768,
68
        settings: {
69
          slidesToShow: 2,
70
          slidesToScroll: 2,
71
          initialSlide: 0
72
        }
73
      },
74
      {
75
        breakpoint: 1024,
76
        settings: {
77
          slidesToShow: 3,
78
          slidesToScroll: 3,
79
          initialSlide: 0
80
        }
81
      }
82
    ]
83
  }
84
 
85
  return (
86
        <>
87
            <h3 className="p-2" style={{ fontWeight: '700' }}>{LABELS.REWARDS}</h3>
88
            <StyledSlider {...settings}>
89
                {rewards.map((reward, index) =>
90
                    <RewardItem reward={reward} onComplete={onClaim} key={index} />
91
                )}
92
            </StyledSlider>
93
        </>
94
  )
95
}
96
 
97
export default RewardsList