3481 |
stevensc |
1 |
import React, { useEffect, useState } from 'react';
|
|
|
2 |
|
|
|
3 |
import { useMicroLearning, useFetch } from '@hooks';
|
|
|
4 |
|
|
|
5 |
import { List, SearchBar } from '@shared/components';
|
|
|
6 |
import { CapsuleItem } from '@microlearning/components';
|
|
|
7 |
import CapsuleCard from '@microlearning/components/CapsuleCard';
|
|
|
8 |
|
|
|
9 |
export default function CapsulesPage() {
|
|
|
10 |
const {
|
|
|
11 |
link_capsules_completed: linkCapsulesCompleted,
|
|
|
12 |
link_capsules_in_progress: linkCapsulesInProgress,
|
|
|
13 |
link_capsules_pending: linkCapsulesPending,
|
|
|
14 |
link_last_capsule_in_progress: linkLastCapsuleInProgress
|
|
|
15 |
} = useMicroLearning();
|
|
|
16 |
|
|
|
17 |
const [activeLink, setActiveLink] = useState('');
|
|
|
18 |
|
|
|
19 |
const { data: capsuleInProgess } = useFetch(linkLastCapsuleInProgress, null);
|
|
|
20 |
const { data: capsules } = useFetch(activeLink, []);
|
|
|
21 |
|
|
|
22 |
const handleChange = (e, url) => setActiveLink(url);
|
|
|
23 |
|
|
|
24 |
useEffect(() => {
|
|
|
25 |
if (!linkCapsulesPending) return;
|
|
|
26 |
|
|
|
27 |
setActiveLink(linkCapsulesPending + '?order_field=added_on&order_direction=desc');
|
|
|
28 |
}, [linkCapsulesPending]);
|
|
|
29 |
|
|
|
30 |
return (
|
|
|
31 |
<>
|
|
|
32 |
<CapsuleCard capsule={capsuleInProgess || capsules[0]} />
|
|
|
33 |
|
|
|
34 |
{/* <Tabs value={activeLink} onChange={handleChange}>
|
|
|
35 |
<Tabs.Item
|
|
|
36 |
label='Pendiente'
|
|
|
37 |
value={
|
|
|
38 |
linkCapsulesPending &&
|
|
|
39 |
linkCapsulesPending + '?order_field=added_on&order_direction=desc'
|
|
|
40 |
}
|
|
|
41 |
/>
|
|
|
42 |
<Tabs.Item label='En curso' value={linkCapsulesInProgress} />
|
|
|
43 |
<Tabs.Item
|
|
|
44 |
label='Finalizado'
|
|
|
45 |
value={
|
|
|
46 |
linkCapsulesCompleted &&
|
|
|
47 |
linkCapsulesCompleted + '?order_field=last_access_on&order_direction=desc'
|
|
|
48 |
}
|
|
|
49 |
/>
|
|
|
50 |
</Tabs> */}
|
|
|
51 |
|
|
|
52 |
<SearchBar />
|
|
|
53 |
|
|
|
54 |
<List
|
|
|
55 |
items={capsules}
|
|
|
56 |
renderItem={(capsule) => <CapsuleItem capsule={capsule} readOnly />}
|
|
|
57 |
emptyMessage='No hay cápsulas para mostrar'
|
|
|
58 |
keyExtractor='uuid'
|
|
|
59 |
/>
|
|
|
60 |
</>
|
|
|
61 |
);
|
|
|
62 |
}
|