Proyectos de Subversion LeadersLinked - SPA

Rev

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