Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3495 | Ir a la última revisión | | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3494 stevensc 1
import { useState } from 'react';
2
 
3
import { useFetch, useSearch } from '@shared/hooks';
4
 
5
const CAPSULES_ROUTES = {
6
  pending: {
7
    link: '/microlearning/capsules-pending',
8
    params: {
9
      order_field: 'added_on',
10
      order_direction: 'desc'
11
    }
12
  },
13
  progress: {
14
    link: '/microlearning/capsules-in-progress',
15
    params: {}
16
  },
17
  completed: {
18
    link: '/microlearning/capsules-completed',
19
    params: {
20
      order_field: 'last_access_on',
21
      order_direction: 'desc'
22
    }
23
  }
24
};
25
 
26
const CAPSULES_CATEGORIES = [
27
  {
28
    label: 'Pendiente',
29
    value: 'pending'
30
  },
31
  {
32
    label: 'En curso',
33
    value: 'progress'
34
  },
35
  {
36
    label: 'Finalizado',
37
    value: 'completed'
38
  }
39
];
40
 
41
export function useMicrolearning() {
42
  const [category, setCategory] = useState(CAPSULES_CATEGORIES[0].value);
43
 
44
  const url = CAPSULES_ROUTES[category].link;
45
  const params = CAPSULES_ROUTES[category].params;
46
 
47
  const { data: capsules, loading: capsulesLoading, handleSearch } = useSearch(url, { params });
48
  const { data: currentCapsule, loading: currentCapsuleLoading } = useFetch(
49
    '/microlearning/last-capsule-in-progress'
50
  );
51
 
52
  const changeCategory = (value) => {
53
    setCategory(value);
54
  };
55
 
56
  return {
57
    capsules,
58
    currentCapsule,
59
    loading: capsulesLoading || currentCapsuleLoading,
60
    category,
61
    categories: CAPSULES_CATEGORIES,
62
    changeCategory,
63
    handleSearch
64
  };
65
}