- Nueva pagina /tareas para ver y marcar tareas operativas - Endpoint GET /tareas/mis-tareas con periodo actual - Quitado boton de marcar completada de obligaciones fiscales en /pendientes
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
|
|
import { getMisTareas } from '../api/tareas-mis';
|
|
import { apiClient } from '../api/client';
|
|
|
|
export function useMisTareas() {
|
|
return useQuery({
|
|
queryKey: ['tareas-mis-tareas'],
|
|
queryFn: getMisTareas,
|
|
});
|
|
}
|
|
|
|
export function useCompletarTareaPeriodo() {
|
|
const qc = useQueryClient();
|
|
return useMutation({
|
|
mutationFn: (periodoId: string) =>
|
|
apiClient.post(`/tareas/periodo/${periodoId}/completar`).then(r => r.data),
|
|
onSuccess: () => {
|
|
qc.invalidateQueries({ queryKey: ['tareas-mis-tareas'] });
|
|
qc.invalidateQueries({ queryKey: ['tareas'] });
|
|
},
|
|
onError: (err: any) => {
|
|
alert(err.response?.data?.message || 'No se pudo marcar como completada');
|
|
},
|
|
});
|
|
}
|
|
|
|
export function useDescompletarTareaPeriodo() {
|
|
const qc = useQueryClient();
|
|
return useMutation({
|
|
mutationFn: (periodoId: string) =>
|
|
apiClient.delete(`/tareas/periodo/${periodoId}/completar`).then(r => r.data),
|
|
onSuccess: () => {
|
|
qc.invalidateQueries({ queryKey: ['tareas-mis-tareas'] });
|
|
qc.invalidateQueries({ queryKey: ['tareas'] });
|
|
},
|
|
});
|
|
}
|