Rev 3659 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react';
import { useParams } from 'react-router-dom';
import { useAlert, useApi, useModal } from '@shared/hooks';
import { getCapsule } from '@microlearning/services';
import { Grid, PageHeader, Spinner } from '@shared/components';
import { SlideCard } from '@microlearning/components';
import { SlideForm } from '@microlearning/components/slides/slides-carousel';
export function CapsulePage() {
const { uuid } = useParams();
const { showError } = useAlert();
const { data: capsule, loading } = useApi(getCapsule, {
autoFetch: true,
autoFetchArgs: [uuid],
onError: (error) => {
showError(error.message);
}
});
const { showModal } = useModal();
const showSlide = (name, uuid) => {
showModal(name, <SlideForm uuid={uuid} />);
};
if (loading || !capsule) return <Spinner />;
return (
<>
<PageHeader title={capsule.name} goBack />
<Grid
items={capsule.slides}
emptyMessage='No hay contenidos para mostrar'
renderItem={(slide) => (
<SlideCard slide={slide} onClick={() => showSlide(slide.name, slide.uuid)} />
)}
keyExtractor={(slide) => slide.uuid}
/>
</>
);
}