Proyectos de Subversion LeadersLinked - SPA

Rev

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

import React from 'react';
import { useParams } from 'react-router-dom';

import { useFetch, useModal } from '@shared/hooks';

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 { data: capsule, loading } = useFetch(`/microlearning/capsules/${uuid}`);

  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}
      />
    </>
  );
}