feat(frontend): adicionar link para perfil no ATUACAPES

- Adiciona ícone de link externo antes do nome do consultor
- Link abre perfil no ATUACAPES em nova aba (/perfil/{id_pessoa})
- Variável de ambiente HOST_ATUACAPES configurável
- Adiciona retry automático (10 tentativas) ao carregar ranking
- Corrige espaçamento da seção de selos
- Atualiza arquivos .env.example
This commit is contained in:
Frederico Castro
2025-12-15 11:14:10 -03:00
parent b44582653b
commit 4876d4d9f5
7 changed files with 73 additions and 21 deletions

View File

@@ -237,6 +237,18 @@ const ConsultorCard = memo(({ consultor, highlight, selecionado, onToggleSelecio
<div className="card-info">
<div className="consultant-name">
{import.meta.env.VITE_HOST_ATUACAPES && consultor.id_pessoa && (
<a
href={`${import.meta.env.VITE_HOST_ATUACAPES}/perfil/${consultor.id_pessoa}`}
target="_blank"
rel="noopener noreferrer"
className="link-atuacapes"
onClick={(e) => e.stopPropagation()}
title="Ver perfil no ATUACAPES"
>
</a>
)}
{consultor.nome}
{consultor.ativo && <span className="badge badge-ativo">ATIVO</span>}
{!consultor.ativo && <span className="badge badge-historico">HISTORICO</span>}
@@ -325,15 +337,15 @@ const ConsultorCard = memo(({ consultor, highlight, selecionado, onToggleSelecio
{blocoD.atuacoes && blocoD.atuacoes.length > 0 && (
<BlocoDetalhes titulo="D - Premiacoes/Avaliacoes" bloco={blocoD} cor="var(--bronze)" />
)}
{selos.length > 0 && (
<div className="detail-section selos-section">
<h4>Selos e Reconhecimentos</h4>
<SelosBadges selos={selos} />
</div>
)}
</div>
{selos.length > 0 && (
<div className="detail-section selos-section">
<h4>Selos e Reconhecimentos</h4>
<SelosBadges selos={selos} />
</div>
)}
{consultor.coordenacoes_capes?.length > 0 && (
<div className="extra-details">
<h4>Coordenacoes CAPES</h4>