Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3495 stevensc 1
import { useRef, useState } from 'react';
3494 stevensc 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);
3495 stevensc 43
  const capsulesRoutes = useRef(CAPSULES_ROUTES);
44
  const capsuleCategories = useRef(CAPSULES_CATEGORIES);
3494 stevensc 45
 
3495 stevensc 46
  const {
47
    data: capsules,
48
    loading: capsulesLoading,
3498 stevensc 49
    search
50
  } = useSearch(capsulesRoutes.current[category].link, {
51
    initialParams: capsulesRoutes.current[category].params
52
  });
3494 stevensc 53
 
54
  const { data: currentCapsule, loading: currentCapsuleLoading } = useFetch(
55
    '/microlearning/last-capsule-in-progress'
56
  );
57
 
58
  const changeCategory = (value) => {
3498 stevensc 59
    console.log(value);
3494 stevensc 60
    setCategory(value);
61
  };
62
 
63
  return {
64
    capsules,
65
    currentCapsule,
66
    loading: capsulesLoading || currentCapsuleLoading,
67
    category,
3495 stevensc 68
    categories: capsuleCategories.current,
3494 stevensc 69
    changeCategory,
3498 stevensc 70
    searchCapsules: search
3494 stevensc 71
  };
72
}