Rev 3568 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react';import Slider from 'react-slick';import styled from 'styled-components';import IconButton from '@mui/material/IconButton';import NavigateNextIcon from '@mui/icons-material/NavigateNext';import NavigateBeforeIcon from '@mui/icons-material/NavigateBefore';import { Typography } from '@mui/material';import { CapsuleItem } from './CapsuleItem';const StyledSlider = styled(Slider)`display: grid;column-gap: 10px;grid-template-rows: 2rem auto;grid-template-columns: 1fr 30px 30px;.slick-list {grid-row: 2/3;grid-column: 1/4;padding: 1.5rem 0 0;}.slick-track {display: flex;gap: 1rem;}`;const ArrowButton = styled(IconButton)`border: 1px solid var(--font-color) !important;color: var(--font-color) !important;grid-row: 1;transition: all 200ms ease;&:hover {background-color: var(--font-color) !important;color: var(--bg-color) !important;}`;const StyledNextArrow = styled(ArrowButton)`grid-column: 3;`;const StyledPrevArrow = styled(ArrowButton)`grid-column: 2;`;const NextArrow = ({ onClick }) => {return (<StyledNextArrow onClick={onClick}><NavigateNextIcon /></StyledNextArrow>);};const PrevArrow = ({ onClick }) => {return (<StyledPrevArrow onClick={onClick}><NavigateBeforeIcon /></StyledPrevArrow>);};export function CapsulesList({ capsules = [], onEnroll = () => {} }) {const settings = {infinite: true,speed: 1500,slidesToShow: capsules?.length < 4 ? capsules?.length : 4,slidesToScroll: capsules?.length < 4 ? capsules?.length : 4,nextArrow: <NextArrow />,prevArrow: <PrevArrow />,responsive: [{breakpoint: 768,settings: {slidesToShow: 2,slidesToScroll: 2,initialSlide: 0}},{breakpoint: 1024,settings: {slidesToShow: 3,slidesToScroll: 3,initialSlide: 0}}]};if (!capsules || !capsules.length) {return <Typography>No hay cápsulas disponibles</Typography>;}return (<StyledSlider {...settings}>{capsules?.map((capsule, index) => (<CapsuleItem capsule={capsule} onComplete={onEnroll} key={index} />))}</StyledSlider>);}