Rev 3495 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import { useState } from 'react';
import { useFetch, useSearch } from '@shared/hooks';
const CAPSULES_ROUTES = {
pending: {
link: '/microlearning/capsules-pending',
params: {
order_field: 'added_on',
order_direction: 'desc'
}
},
progress: {
link: '/microlearning/capsules-in-progress',
params: {}
},
completed: {
link: '/microlearning/capsules-completed',
params: {
order_field: 'last_access_on',
order_direction: 'desc'
}
}
};
const CAPSULES_CATEGORIES = [
{
label: 'Pendiente',
value: 'pending'
},
{
label: 'En curso',
value: 'progress'
},
{
label: 'Finalizado',
value: 'completed'
}
];
export function useMicrolearning() {
const [category, setCategory] = useState(CAPSULES_CATEGORIES[0].value);
const url = CAPSULES_ROUTES[category].link;
const params = CAPSULES_ROUTES[category].params;
const { data: capsules, loading: capsulesLoading, handleSearch } = useSearch(url, { params });
const { data: currentCapsule, loading: currentCapsuleLoading } = useFetch(
'/microlearning/last-capsule-in-progress'
);
const changeCategory = (value) => {
setCategory(value);
};
return {
capsules,
currentCapsule,
loading: capsulesLoading || currentCapsuleLoading,
category,
categories: CAPSULES_CATEGORIES,
changeCategory,
handleSearch
};
}