From 7dc1284d0b608359c87f2964fa5fee0c199d63ed Mon Sep 17 00:00:00 2001 From: Frederico Castro Date: Thu, 18 Dec 2025 12:27:39 -0300 Subject: [PATCH] =?UTF-8?q?feat(ui):=20exibir=20coordena=C3=A7=C3=A3o=20CA?= =?UTF-8?q?PES=20no=20card=20em=20vez=20de=20status=20consultoria?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Substitui exibição de CONS_ATIVO/HIST pela coordenação CAPES mais relevante (CA > CAJ > CAJ_MP > CAM), priorizando coordenações ativas. --- frontend/src/components/ConsultorCard.jsx | 28 ++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/ConsultorCard.jsx b/frontend/src/components/ConsultorCard.jsx index a502429..4507d8f 100644 --- a/frontend/src/components/ConsultorCard.jsx +++ b/frontend/src/components/ConsultorCard.jsx @@ -273,9 +273,31 @@ const ConsultorCard = memo(({ consultor, highlight, selecionado, onToggleSelecio
-
-
{consultoria?.codigo?.replace('CONS_', '') || '-'}
-
Status
+
{ + const coords = consultor.coordenacoes_capes || []; + 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'; + })()}> +
{(() => { + 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 || '-'; + })()}
+
Coord.
{consultoria?.anos_consecutivos || 0}