Fix Panel de Resultados

This commit is contained in:
2025-09-22 17:56:04 -03:00
parent 5a8bee52d5
commit 67634ae947
8 changed files with 101 additions and 47 deletions

View File

@@ -9,6 +9,22 @@ import 'react-circular-progressbar/dist/styles.css';
const formatPercent = (num: number) => `${(num || 0).toFixed(2).replace('.', ',')}%`;
const formatVotes = (num: number) => Math.round(num).toLocaleString('es-AR');
const SvgDefs = () => (
<svg style={{ height: 0, width: 0, position: 'absolute' }}>
<defs>
{/* El gradiente ahora se define para que el color oscuro se mantenga en la segunda mitad del recorrido vertical */}
<linearGradient id="participationGradient" gradientTransform="rotate(90)">
<stop offset="0%" stopColor="#e0f3ffff" />
<stop offset="100%" stopColor="#007bff" />
</linearGradient>
<linearGradient id="scrutinizedGradient" gradientTransform="rotate(90)">
<stop offset="0%" stopColor="#e0f3ffff" />
<stop offset="100%" stopColor="#007bff" />
</linearGradient>
</defs>
</svg>
);
interface PanelResultadosProps {
resultados: ResultadoTicker[];
estadoRecuento: EstadoRecuentoTicker;
@@ -17,17 +33,20 @@ interface PanelResultadosProps {
export const PanelResultados = ({ resultados, estadoRecuento }: PanelResultadosProps) => {
return (
<div className="panel-resultados">
<SvgDefs />
<div className="panel-estado-recuento">
<div className="estado-item">
<CircularProgressbar
value={estadoRecuento.participacionPorcentaje}
text={formatPercent(estadoRecuento.participacionPorcentaje)}
strokeWidth={10}
strokeWidth={12}
circleRatio={0.75} /* Se convierte en un arco de 270 grados */
styles={buildStyles({
textColor: '#333',
pathColor: '#28a745',
pathColor: 'url(#participationGradient)',
trailColor: '#e9ecef',
textSize: '24px',
textSize: '22px',
rotation: 0.625, /* Rota el inicio para que la apertura quede abajo */
})}
/>
<span>Participación</span>
@@ -36,12 +55,14 @@ export const PanelResultados = ({ resultados, estadoRecuento }: PanelResultadosP
<CircularProgressbar
value={estadoRecuento.mesasTotalizadasPorcentaje}
text={formatPercent(estadoRecuento.mesasTotalizadasPorcentaje)}
strokeWidth={10}
strokeWidth={12}
circleRatio={0.75} /* Se convierte en un arco de 270 grados */
styles={buildStyles({
textColor: '#333',
pathColor: '#007bff',
pathColor: 'url(#scrutinizedGradient)',
trailColor: '#e9ecef',
textSize: '24px',
textSize: '22px',
rotation: 0.625, /* Rota el inicio para que la apertura quede abajo */
})}
/>
<span>Escrutado</span>