Autoría | Ultima modificación | Ver Log |
import React from 'react';
import { useNavigate } from 'react-router-dom';
import { Box, styled, Typography } from '@mui/material';
import { parse } from '@utils';
import CapsuleButton from './CapsuleButton';
const StyledCapsuleContainer = styled(Box)`
border-radius: 6px;
background: var(--font-color);
box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.14);
padding: 16px;
display: flex;
align-items: center;
gap: 1rem;
p {
color: #fff;
font-family: 'Roboto Condensed', 'Roboto';
font-size: 14px;
font-weight: 400;
line-height: normal;
margin-bottom: 8px;
}
h3 {
color: var(--subtitle-color);
}
`;
const StyledDetails = styled('div')`
display: block;
flex: 1;
`;
const StyledImage = styled('picture')`
border-radius: 6px;
overflow: hidden;
max-width: 100px;
aspect-ratio: 1/1.5;
background-color: var(--bg-color-secondary);
img {
width: 100%;
height: 100%;
object-fit: cover;
}
`;
const StyledTag = styled('div')`
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
padding: 5px 10px;
color: #fff;
border-radius: 5px;
`;
export function CapsuleCard({ capsule: { name, description, image, completed, uuid }, ...rest }) {
const navigate = useNavigate();
return (
<StyledCapsuleContainer {...rest}>
<StyledDetails active>
<StyledTag>{completed ? 'Completa' : 'En curso'}</StyledTag>
<Typography variant='h3' mt={2}>
{name}
</Typography>
{parse(description)}
<CapsuleButton
label='Ver cápsula'
onClick={() => navigate(`/microlearning/capsules/${uuid}/slides`)}
/>
</StyledDetails>
<StyledImage>
<img src={image} alt={name} />
</StyledImage>
</StyledCapsuleContainer>
);
}