Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3571 | Rev 3658 | 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 { useEffect, useState } from 'react';
2
 
3
import { useAlert, useApi, useFetch } from '@shared/hooks';
4
import { markSlideCompleted } from '@microlearning/services';
5
 
3571 stevensc 6
export function useSlide(slideUuid) {
3520 stevensc 7
  const [slide, setSlide] = useState(null);
8
 
9
  const { data, loading } = useFetch(`/microlearning/slides/${slideUuid}`);
3575 stevensc 10
  const { loading: markLoading, execute } = useApi(markSlideCompleted, {
11
    onSuccess: (message) => {
3520 stevensc 12
      setSlide({ ...slide, completed: true });
13
      showSuccess(message);
3575 stevensc 14
    },
15
    onError: (error) => {
3520 stevensc 16
      showError(error.message);
17
    }
3575 stevensc 18
  });
19
  const { showSuccess, showError } = useAlert();
3520 stevensc 20
 
21
  useEffect(() => {
22
    if (data) setSlide(data);
23
  }, [data]);
24
 
3575 stevensc 25
  return { slide, loading, markLoading, markSlideCompleted: execute };
3520 stevensc 26
}