Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3659 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3719 stevensc 1
import { useState } from 'react';
2
 
3
import { useAlert, useApi } from '@shared/hooks';
4
import { getSlide, markSlideCompleted } from '@microlearning/services';
5
 
6
export function useSlide(uuid) {
7
  const [slide, setSlide] = useState(null);
8
 
9
  const { showSuccess, showError } = useAlert();
10
 
11
  const { loading } = useApi(getSlide, {
12
    onSuccess: (data) => {
13
      setSlide(data);
14
    },
15
    onError: (error) => {
16
      showError(error.message);
17
    },
18
    autoFetch: true,
19
    autoFetchArgs: [uuid]
20
  });
21
 
22
  const { loading: completeLoading, execute: completeSlide } = useApi(markSlideCompleted, {
23
    onSuccess: (message) => {
24
      setSlide({ ...slide, completed: true });
25
      showSuccess(message);
26
    },
27
    onError: (error) => {
28
      showError(error.message);
29
    }
30
  });
31
 
32
  return { slide, loading, completeLoading, completeSlide };
33
}