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:
@@ -628,6 +628,7 @@
|
||||
|
||||
.selos-section {
|
||||
grid-column: 1 / -1;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.selos-section .selos-container {
|
||||
@@ -651,3 +652,26 @@
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.link-atuacapes {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
font-size: 0.9rem;
|
||||
color: var(--muted);
|
||||
background: rgba(255, 255, 255, 0.06);
|
||||
border: 1px solid var(--stroke);
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
transition: all 200ms ease;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.link-atuacapes:hover {
|
||||
color: var(--accent-2);
|
||||
background: rgba(79, 70, 229, 0.15);
|
||||
border-color: rgba(79, 70, 229, 0.4);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user