Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3548 | Rev 3571 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3508 stevensc 1
import React from 'react';
3505 stevensc 2
import { useParams } from 'react-router-dom';
3533 stevensc 3
import { Box, Typography } from '@mui/material';
3505 stevensc 4
 
5
import { useCapsule } from '@microlearning/hooks';
3510 stevensc 6
import { parse } from '@shared/utils';
3505 stevensc 7
 
3554 stevensc 8
import { Card, CardContent, CardMedia, CommentList, Spinner } from '@shared/components';
3548 stevensc 9
import { CapsuleCommentForm } from '@microlearning/components';
3505 stevensc 10
 
11
export function CapsulePage() {
12
  const { uuid } = useParams();
13
 
3538 stevensc 14
  const { capsule, loading, addComment, deleteComment } = useCapsule(uuid);
3505 stevensc 15
 
3506 stevensc 16
  if (loading || !capsule) return <Spinner />;
3505 stevensc 17
 
18
  return (
3527 stevensc 19
    <Card>
3533 stevensc 20
      <CardMedia
21
        src={capsule.image}
22
        alt={`${capsule.name} capsule`}
23
        sx={{
24
          aspectRatio: 1 / 0.5,
25
          objectFit: 'contain',
26
          objectPosition: 'center'
27
        }}
28
      />
3527 stevensc 29
      <CardContent>
30
        <Typography variant='h1'>{capsule.name}</Typography>
31
        <Typography>{parse(capsule.description)}</Typography>
3505 stevensc 32
 
3533 stevensc 33
        <Box sx={{ mt: 1, display: 'flex', flexDirection: 'column', gap: 1 }}>
3548 stevensc 34
          <CapsuleCommentForm onSubmit={addComment} />
3554 stevensc 35
          <CommentList comments={capsule.comments} onDelete={deleteComment} />
3533 stevensc 36
        </Box>
3527 stevensc 37
      </CardContent>
38
    </Card>
3505 stevensc 39
  );
40
}