Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3520 stevensc 1
import React from 'react';
3569 stevensc 2
import { Typography } from '@mui/material';
3520 stevensc 3
import { CheckCircle } from '@mui/icons-material';
3481 stevensc 4
 
3520 stevensc 5
import { parse } from '@shared/utils';
3569 stevensc 6
import { Card, CardContent, CardMedia } from '@shared/components';
3520 stevensc 7
import SlideQuiz from './slide-quiz';
3481 stevensc 8
 
3520 stevensc 9
export function SlideCard({
10
  slide: { type, file, description, name, quiz_data, link_take_a_test },
3481 stevensc 11
  completed,
12
  autoPlay = false,
13
  onComplete
14
}) {
15
  return (
3569 stevensc 16
    <Card
17
      styles={{
18
        width: { xs: '80vw', md: '500px', lg: '800px' },
19
        maxHeight: '600px'
3481 stevensc 20
      }}
21
    >
3569 stevensc 22
      <CardContent styles={{ position: 'relative' }}>
23
        {!!completed && (
24
          <CheckCircle sx={{ position: 'absolute', top: '1rem', right: '1rem' }} color='success' />
25
        )}
26
        {type === 'quiz' && (
27
          <SlideQuiz
28
            quiz={quiz_data ? quiz_data[0] : {}}
29
            startUrl={link_take_a_test}
30
            slide={{ type, file, description, name, quiz_data, link_take_a_test }}
31
            onSync={onComplete}
32
            completed={completed}
33
          />
34
        )}
35
        {type === 'text' && <Typography>{parse(description)}</Typography>}
36
        {type === 'image' && (
37
          <CardMedia
38
            styles={{ width: '100%', height: '100%', objectFit: 'contain' }}
39
            src={file}
40
            alt={name}
41
            type='image'
42
          />
43
        )}
44
        {type === 'video' && (
45
          <CardMedia
46
            styles={{ width: '100%', height: '100%', objectFit: 'contain' }}
47
            src={file}
48
            alt={name}
49
            type='video'
50
            autoPlay={autoPlay}
51
            controls
52
            controlsList='nodownload'
53
            onEnded={onComplete}
54
          />
55
        )}
56
        {/*  {type === 'audio' && <CardMedia src={file} alt={name} type='audio' />}
57
        {type === 'document' && <CardMedia src={file} alt={name} type='document' />} */}
58
      </CardContent>
59
    </Card>
3520 stevensc 60
  );
3481 stevensc 61
}