Rev 3500 | Rev 3503 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import { useRef, 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 capsulesRoutes = useRef(CAPSULES_ROUTES);
const capsuleCategories = useRef(CAPSULES_CATEGORIES);
const {
data: capsules,
loading: capsulesLoading,
searchTerm,
handleSearch
} = useSearch(capsulesRoutes.current[category].link, {
debounceDelay: 500,
initialParams: capsulesRoutes.current[category].params
});
const { data: currentCapsule, loading: currentCapsuleLoading } = useFetch(
'/microlearning/last-capsule-in-progress'
);
const changeCategory = (value) => {
console.log(value);
setCategory(value);
};
return {
capsules,
currentCapsule,
capsulesLoading,
currentCapsuleLoading,
category,
categories: capsuleCategories.current,
searchTerm,
changeCategory,
searchCapsules: handleSearch
};
}