Proyectos de Subversion LeadersLinked - SPA

Rev

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

import { useState } from 'react';

import { useAlert, useApi } from '@shared/hooks';
import { getSlide, markSlideCompleted } from '@microlearning/services';

export function useSlide(uuid) {
  const [slide, setSlide] = useState(null);

  const { showSuccess, showError } = useAlert();

  const { loading } = useApi(getSlide, {
    onSuccess: (data) => {
      setSlide(data);
    },
    onError: (error) => {
      showError(error.message);
    },
    autoFetch: true,
    autoFetchArgs: [uuid]
  });

  const { loading: completeLoading, execute: completeSlide } = useApi(markSlideCompleted, {
    onSuccess: (message) => {
      setSlide({ ...slide, completed: true });
      showSuccess(message);
    },
    onError: (error) => {
      showError(error.message);
    }
  });

  return { slide, loading, completeLoading, completeSlide };
}