Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3482 stevensc 1
import React from 'react';
3481 stevensc 2
import { useParams } from 'react-router-dom';
3
 
3520 stevensc 4
import { useFetch, useModal } from '@shared/hooks';
3481 stevensc 5
 
3482 stevensc 6
import { Grid, PageHeader, Spinner } from '@shared/components';
7
import { SlideCard } from '@microlearning/components';
3520 stevensc 8
import { SlideForm } from '@microlearning/components/slides/slides-carousel';
3481 stevensc 9
 
3571 stevensc 10
export function CapsulePage() {
11
  const { capsuleUuid } = useParams();
3521 stevensc 12
  const { data: capsule, loading } = useFetch(`/microlearning/capsules/${capsuleUuid}`);
3481 stevensc 13
 
3520 stevensc 14
  const { showModal } = useModal();
15
 
3521 stevensc 16
  const showSlide = (slideName, slideUuid) => {
3571 stevensc 17
    showModal(slideName, <SlideForm slideUuid={slideUuid} />);
3482 stevensc 18
  };
3481 stevensc 19
 
3482 stevensc 20
  if (loading || !capsule) return <Spinner />;
21
 
3481 stevensc 22
  return (
3482 stevensc 23
    <>
24
      <PageHeader title={capsule.name} goBack />
25
      <Grid
26
        items={capsule.slides}
3520 stevensc 27
        emptyMessage='No hay contenidos para mostrar'
3521 stevensc 28
        renderItem={(slide) => (
29
          <SlideCard slide={slide} onClick={() => showSlide(slide.name, slide.uuid)} />
30
        )}
3519 stevensc 31
        keyExtractor={(slide) => slide.uuid}
3482 stevensc 32
      />
33
    </>
3481 stevensc 34
  );
3482 stevensc 35
}