Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3575 | Rev 3659 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

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