Proyectos de Subversion LeadersLinked - SPA

Rev

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

import React, { useEffect } from 'react';
import { useParams } from 'react-router-dom';
import { connect } from 'react-redux';

import { addSlide } from '@app/redux/micro-learning/topics.actions';
import { useFetch } from '@hooks';

import Spinner from '@app/components/UI/Spinner';
import Slides from '@microlearning/components/Slides';
import MicrolearningLayout from '@app/layouts/micro-learning/GoBack';

const CapsuleSlidesPage = ({ addSlide }) => {
  const { capsuleId } = useParams();
  const { data: capsule } = useFetch(`/microlearning/get-capsule/${capsuleId}`, {});
  const { data: slides, isLoading } = useFetch(capsule?.link_slides, []);

  useEffect(() => {
    slides.forEach((slide) => addSlide({ ...slide, capsuleId }));
  }, [slides]);

  return (
    <MicrolearningLayout title={capsule?.name || ''}>
      {isLoading ? <Spinner /> : <Slides capsuleId={capsuleId} />}
    </MicrolearningLayout>
  );
};

const mapDispatchToProps = {
  addSlide: (capsule) => addSlide(capsule)
};

export default connect(null, mapDispatchToProps)(CapsuleSlidesPage);