Files
advx/src/hooks/useCalendarioAtendimentos.ts
T
rodrigo 683da3264d dashboard: reimaginacao
Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
2025-07-15 21:19:21 -03:00

42 lines
1.2 KiB
TypeScript

import { useQuery } from 'react-query';
import api from '../services/api';
export interface EventoCalendario {
id: string;
data: string;
tipo: string;
descricao: string;
}
// Hook para buscar atendimentos e audiências do calendário
export function useCalendarioAtendimentos() {
return useQuery<EventoCalendario[]>('calendarioAtendimentos', async () => {
// Buscar atendimentos
const atendimentosRes = await api.get('/atendimentos');
const atendimentos = atendimentosRes.data.map((a: any) => ({
id: a.id,
data: a.dataAtendimento?.slice(0, 10),
tipo: 'Atendimento',
descricao: a.titulo || 'Atendimento',
}));
// Buscar audiências, tratar erro 404
let audiencias: EventoCalendario[] = [];
try {
const audienciasRes = await api.get('/audiencias');
audiencias = audienciasRes.data.map((a: any) => ({
id: a.id,
data: a.data?.slice(0, 10),
tipo: 'Audiência',
descricao: a.tipo || 'Audiência',
}));
} catch (error: any) {
if (error?.response?.status !== 404) throw error;
// Se for 404, ignora audiências
}
// Junta todos eventos
return [...atendimentos, ...audiencias];
});
}