Slider.js
1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import React from 'react';
import PropTypes from 'prop-types';
import Slick from 'react-slick';
import SliderArrow from '../SliderArrow/SliderArrow';
import ProductCard from '../../../products/components/ProductCard/ProductCard';
import s from './Slider.module.scss';
const Slider = ({ slides }) => {
const itemsToDisplay = 4;
const settings = {
className: s.slick,
infinite: false,
speed: 500,
slidesToShow: itemsToDisplay,
slidesToScroll: 1,
initialSlide: 0,
nextArrow: <SliderArrow orientation="right" itemsToDisplay={itemsToDisplay} />,
prevArrow: <SliderArrow orientation="left" itemsToDisplay={itemsToDisplay} />,
responsive: [{
breakpoint: 992,
settings: {
slidesToShow: 3,
},
},
{
breakpoint: 575,
settings: {
slidesToShow: 2,
infinite: true,
},
},
{
breakpoint: 360,
settings: {
slidesToShow: 1,
infinite: true,
},
}],
};
return (
<div className={s.slider} >
<Slick {...settings}>
{slides.map(slide =>
<div className={s.sliderItem} key={slide.id}><ProductCard {...slide} /></div>)}
</Slick>
</div >
);
};
Slider.propTypes = {
slides: PropTypes.arrayOf(PropTypes.any).isRequired,
};
export default Slider;