Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3520 | Rev 3523 | 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
 
3505 stevensc 10
export function SlidesPage() {
3521 stevensc 11
  const { capsuleUuid, topicUuid } = useParams();
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) => {
3520 stevensc 17
    showModal({
18
      title: slideName,
3521 stevensc 19
      content: <SlideForm topicUuid={topicUuid} slideUuid={slideUuid} />
3520 stevensc 20
    });
3482 stevensc 21
  };
3481 stevensc 22
 
3482 stevensc 23
  if (loading || !capsule) return <Spinner />;
24
 
3481 stevensc 25
  return (
3482 stevensc 26
    <>
27
      <PageHeader title={capsule.name} goBack />
28
      <Grid
29
        items={capsule.slides}
3520 stevensc 30
        emptyMessage='No hay contenidos para mostrar'
3521 stevensc 31
        renderItem={(slide) => (
32
          <SlideCard slide={slide} onClick={() => showSlide(slide.name, slide.uuid)} />
33
        )}
3519 stevensc 34
        keyExtractor={(slide) => slide.uuid}
3482 stevensc 35
      />
36
    </>
3481 stevensc 37
  );
3482 stevensc 38
}