Adiciona pontuacao base em cada item das listas de detalhes

- Exibe pontos ao lado de cada coordenacao, inscricao, avaliacao, etc
- Adiciona todos os codigos de pontuacao do documento oficial
- Inclui BOL_BPQ, CO_ORIENT e MB_BANCA no mapeamento
- Estiliza pontos com cor accent e fonte bold
This commit is contained in:
Frederico Castro
2025-12-13 17:55:50 -03:00
parent f1c3aa2601
commit abdb0782b7
2 changed files with 26 additions and 0 deletions

View File

@@ -428,6 +428,13 @@
font-size: 0.8rem;
}
.list-item .pontos {
color: var(--accent-2);
font-weight: 700;
font-size: 0.85rem;
min-width: 50px;
}
@media (max-width: 1200px) {
.details-grid {
grid-template-columns: repeat(3, 1fr);

View File

@@ -16,6 +16,20 @@ const FORMULAS = {
},
};
const PONTOS_BASE = {
CA: 200, CAJ: 150, CAJ_MP: 120, CAM: 100,
CONS_ATIVO: 150, CONS_HIST: 100, CONS_FALECIDO: 100,
INSC_AUTOR: 10, INSC_INST: 30,
AVAL_COMIS_PREMIO: 30, AVAL_COMIS_GP: 50,
COORD_COMIS_PREMIO: 50, COORD_COMIS_GP: 60,
PREMIACAO: 150, PREMIACAO_GP: 30, MENCAO: 10,
BOL_BPQ_SUPERIOR: 30, BOL_BPQ_INTERMEDIARIO: 50,
EVENTO: 1, PROJ: 10,
ORIENT_POS_DOC: 15, ORIENT_TESE: 10, ORIENT_DISS: 5,
CO_ORIENT_POS_DOC: 7, CO_ORIENT_TESE: 5, CO_ORIENT_DISS: 3,
MB_BANCA_POS_DOC: 3, MB_BANCA_TESE: 3, MB_BANCA_DISS: 2,
};
const ScoreItemWithTooltip = ({ value, label, formula, style }) => (
<div className="score-item-wrapper">
<div className="score-item" style={style}>
@@ -162,6 +176,7 @@ const ConsultorCard = ({ consultor, highlight, selecionado, onToggleSelecionado
{consultor.coordenacoes_capes.map((coord, idx) => (
<div key={idx} className="list-item">
<span className="badge">{coord.codigo || coord.tipo}</span>
<span className="pontos">{PONTOS_BASE[coord.codigo] || 0} pts</span>
<span>{coord.area_avaliacao}</span>
<span className="muted">
{formatDate(coord.inicio || coord.periodo?.inicio)} - {formatDate(coord.fim || coord.periodo?.fim)}
@@ -179,6 +194,7 @@ const ConsultorCard = ({ consultor, highlight, selecionado, onToggleSelecionado
{consultor.premiacoes.map((prem, idx) => (
<div key={idx} className="list-item">
<span className="badge">{prem.codigo}</span>
<span className="pontos">{PONTOS_BASE[prem.codigo] || 0} pts</span>
<span>{prem.nome_premio}</span>
<span className="muted">{prem.ano}</span>
</div>
@@ -194,6 +210,7 @@ const ConsultorCard = ({ consultor, highlight, selecionado, onToggleSelecionado
{consultor.avaliacoes_comissao.map((aval, idx) => (
<div key={idx} className="list-item">
<span className="badge">{aval.codigo}</span>
<span className="pontos">{PONTOS_BASE[aval.codigo] || 0} pts</span>
<span>{aval.premio}</span>
<span className="muted">{aval.ano}</span>
</div>
@@ -209,6 +226,7 @@ const ConsultorCard = ({ consultor, highlight, selecionado, onToggleSelecionado
{consultor.inscricoes.map((insc, idx) => (
<div key={idx} className="list-item">
<span className="badge">{insc.codigo}</span>
<span className="pontos">{PONTOS_BASE[insc.codigo] || 0} pts</span>
<span>{insc.premio}</span>
<span className="muted">{insc.ano}</span>
</div>
@@ -224,6 +242,7 @@ const ConsultorCard = ({ consultor, highlight, selecionado, onToggleSelecionado
{consultor.participacoes.slice(0, 10).map((part, idx) => (
<div key={idx} className="list-item">
<span className="badge">{part.codigo}</span>
<span className="pontos">{PONTOS_BASE[part.codigo] || 0} pts</span>
<span>{part.descricao || part.tipo}</span>
<span className="muted">{part.ano}</span>
</div>