Proyectos de Subversion LeadersLinked - SPA

Rev

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

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