3481 |
stevensc |
1 |
import React, { useEffect } from 'react';
|
|
|
2 |
import { useParams } from 'react-router-dom';
|
|
|
3 |
import { connect } from 'react-redux';
|
|
|
4 |
|
|
|
5 |
import { addSlide } from '@app/redux/micro-learning/topics.actions';
|
|
|
6 |
import { useFetch } from '@hooks';
|
|
|
7 |
|
|
|
8 |
import Spinner from '@app/components/UI/Spinner';
|
|
|
9 |
import Slides from '@microlearning/components/Slides';
|
|
|
10 |
import MicrolearningLayout from '@app/layouts/micro-learning/GoBack';
|
|
|
11 |
|
|
|
12 |
const CapsuleSlidesPage = ({ addSlide }) => {
|
|
|
13 |
const { capsuleId } = useParams();
|
|
|
14 |
const { data: capsule } = useFetch(`/microlearning/get-capsule/${capsuleId}`, {});
|
|
|
15 |
const { data: slides, isLoading } = useFetch(capsule?.link_slides, []);
|
|
|
16 |
|
|
|
17 |
useEffect(() => {
|
|
|
18 |
slides.forEach((slide) => addSlide({ ...slide, capsuleId }));
|
|
|
19 |
}, [slides]);
|
|
|
20 |
|
|
|
21 |
return (
|
|
|
22 |
<MicrolearningLayout title={capsule?.name || ''}>
|
|
|
23 |
{isLoading ? <Spinner /> : <Slides capsuleId={capsuleId} />}
|
|
|
24 |
</MicrolearningLayout>
|
|
|
25 |
);
|
|
|
26 |
};
|
|
|
27 |
|
|
|
28 |
const mapDispatchToProps = {
|
|
|
29 |
addSlide: (capsule) => addSlide(capsule)
|
|
|
30 |
};
|
|
|
31 |
|
|
|
32 |
export default connect(null, mapDispatchToProps)(CapsuleSlidesPage);
|