Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3551 | Rev 3575 | 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';
3551 stevensc 8
import { CapsuleSuccessFeedback } from '.';
9
import { SlideCard } from './slide-card';
3481 stevensc 10
 
3571 stevensc 11
export function SlideForm({ slideUuid = '', autoPlay = false }) {
12
  const { slide, loading: slideLoading, handleMarkSlideCompleted } = useSlide(slideUuid);
3526 stevensc 13
  const { closeModal } = useModal();
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.'
3526 stevensc 23
        onConfirm={closeModal}
3520 stevensc 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
}