Rev 3503 | Rev 3512 | 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 { searchTerm, handleSearch } = useSearch();const { data: capsules, loading: capsulesLoading } = useFetch(capsulesRoutes.current[category].link,{ initialParams: capsulesRoutes.current[category].params });const { data: currentCapsule, loading: currentCapsuleLoading } = useFetch('/microlearning/last-capsule-in-progress');const filteredCapsules =capsules?.filter((capsule) => capsule.name.toLowerCase().includes(searchTerm.toLowerCase())) ||[];const changeCategory = (value) => {setCategory(value);};return {capsules: filteredCapsules,currentCapsule,capsulesLoading,currentCapsuleLoading,category,categories: capsuleCategories.current,searchTerm,changeCategory,searchCapsules: handleSearch};}