Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3522 | Rev 3526 | 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';
3481 stevensc 2
import { useNavigate } from 'react-router-dom';
3520 stevensc 3
import { Button } from '@mui/material';
3481 stevensc 4
 
3520 stevensc 5
import { useSlide } from '@microlearning/hooks';
3481 stevensc 6
 
3520 stevensc 7
import { Spinner } from '@shared/components';
3522 stevensc 8
import { CapsuleSuccessFeedback, SlideCard } from '.';
3481 stevensc 9
 
3521 stevensc 10
export function SlideForm({ topicUuid = '', slideUuid = '', autoPlay = false }) {
3481 stevensc 11
  const navigate = useNavigate();
12
 
3521 stevensc 13
  const { slide, loading: slideLoading, handleMarkSlideCompleted } = useSlide(topicUuid, slideUuid);
3481 stevensc 14
 
3524 stevensc 15
  if (slideLoading || !slide) {
3522 stevensc 16
    return <Spinner />;
17
  }
18
 
3520 stevensc 19
  if (slide.completed) {
20
    return (
21
      <CapsuleSuccessFeedback
22
        text='¡Felicidades! Has completado la lección.'
23
        onConfirm={() => navigate('/microlearning')}
24
      />
25
    );
26
  }
3481 stevensc 27
 
28
  return (
3520 stevensc 29
    <>
30
      <SlideCard
31
        completed={slide.completed}
32
        slide={slide}
33
        autoPlay={autoPlay}
34
        onComplete={() => handleMarkSlideCompleted(slide.uuid)}
35
      />
3481 stevensc 36
 
3520 stevensc 37
      {slide.type !== 'quiz' && (
38
        <Button
39
          color='primary'
40
          disabled={slide.completed}
41
          onClick={() => handleMarkSlideCompleted(slide.uuid)}
42
          sx={{ mt: 2 }}
43
        >
44
          Marcar como completado
45
        </Button>
46
      )}
47
    </>
3481 stevensc 48
  );
3520 stevensc 49
}