Proyectos de Subversion LeadersLinked - SPA

Rev

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