Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3500 | Rev 3503 | 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,
3499 stevensc 49
    searchTerm,
50
    handleSearch
3498 stevensc 51
  } = useSearch(capsulesRoutes.current[category].link, {
3502 stevensc 52
    debounceDelay: 500,
3498 stevensc 53
    initialParams: capsulesRoutes.current[category].params
54
  });
3494 stevensc 55
 
56
  const { data: currentCapsule, loading: currentCapsuleLoading } = useFetch(
57
    '/microlearning/last-capsule-in-progress'
58
  );
59
 
60
  const changeCategory = (value) => {
3498 stevensc 61
    console.log(value);
3494 stevensc 62
    setCategory(value);
63
  };
64
 
65
  return {
66
    capsules,
67
    currentCapsule,
3500 stevensc 68
    capsulesLoading,
69
    currentCapsuleLoading,
3494 stevensc 70
    category,
3495 stevensc 71
    categories: capsuleCategories.current,
3499 stevensc 72
    searchTerm,
3494 stevensc 73
    changeCategory,
3499 stevensc 74
    searchCapsules: handleSearch
3494 stevensc 75
  };
76
}