Rev 3520 | Rev 3575 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import { useEffect, useState } from 'react';import { useAlert, useApi, useFetch } from '@shared/hooks';import { markSlideCompleted } from '@microlearning/services';export function useSlide(slideUuid) {const [slide, setSlide] = useState(null);const { data, loading } = useFetch(`/microlearning/slides/${slideUuid}`);const { loading: markLoading, execute } = useApi(markSlideCompleted);const { showSuccess, showError } = useAlert();const handleMarkSlideCompleted = async () => {try {const message = await execute(`/microlearning/sync/slide/${slideUuid}`);setSlide({ ...slide, completed: true });showSuccess(message);} catch (error) {console.error(error);showError(error.message);}};useEffect(() => {if (data) setSlide(data);}, [data]);return { slide, loading, markLoading, handleMarkSlideCompleted };}