feat(ui): exibir coordenação CAPES no card em vez de status consultoria

Substitui exibição de CONS_ATIVO/HIST pela coordenação CAPES mais
relevante (CA > CAJ > CAJ_MP > CAM), priorizando coordenações ativas.
This commit is contained in:
Frederico Castro
2025-12-18 12:27:39 -03:00
parent b8b97e2f88
commit 7dc1284d0b

View File

@@ -273,9 +273,31 @@ const ConsultorCard = memo(({ consultor, highlight, selecionado, onToggleSelecio
</div> </div>
<div className="card-stats"> <div className="card-stats">
<div className="stat" title={consultoria ? `Codigo: ${consultoria.codigo}` : 'Sem consultoria ativa'}> <div className="stat" title={(() => {
<div className="stat-value">{consultoria?.codigo?.replace('CONS_', '') || '-'}</div> const coords = consultor.coordenacoes_capes || [];
<div className="stat-label">Status</div> if (coords.length === 0) return 'Sem coordenação CAPES';
const prioridade = { CA: 1, CAJ: 2, CAJ_MP: 3, CAM: 4 };
const sorted = [...coords].sort((a, b) => {
const aAtivo = a.ativo ?? !a.fim;
const bAtivo = b.ativo ?? !b.fim;
if (aAtivo !== bAtivo) return bAtivo ? 1 : -1;
return (prioridade[a.codigo] || 99) - (prioridade[b.codigo] || 99);
});
return sorted[0]?.area_avaliacao || 'Coordenação CAPES';
})()}>
<div className="stat-value">{(() => {
const coords = consultor.coordenacoes_capes || [];
if (coords.length === 0) return '-';
const prioridade = { CA: 1, CAJ: 2, CAJ_MP: 3, CAM: 4 };
const sorted = [...coords].sort((a, b) => {
const aAtivo = a.ativo ?? !a.fim;
const bAtivo = b.ativo ?? !b.fim;
if (aAtivo !== bAtivo) return bAtivo ? 1 : -1;
return (prioridade[a.codigo] || 99) - (prioridade[b.codigo] || 99);
});
return sorted[0]?.codigo || '-';
})()}</div>
<div className="stat-label">Coord.</div>
</div> </div>
<div className="stat" title={`${consultoria?.anos_consecutivos || 0} anos consecutivos`}> <div className="stat" title={`${consultoria?.anos_consecutivos || 0} anos consecutivos`}>
<div className="stat-value">{consultoria?.anos_consecutivos || 0}</div> <div className="stat-value">{consultoria?.anos_consecutivos || 0}</div>