// src/features/legislativas/nacionales/components/ProvinciaCard.tsx import type { ResumenProvincia, CategoriaResumen } from '../../../../types/types'; import { MiniMapaSvg } from './MiniMapaSvg'; import { ImageWithFallback } from '../../../../components/common/ImageWithFallback'; import { assetBaseUrl } from '../../../../apiService'; // --- 1. AÑADIR LA PROP A AMBAS INTERFACES --- interface CategoriaDisplayProps { categoria: CategoriaResumen; mostrarBancas?: boolean; } interface ProvinciaCardProps { data: ResumenProvincia; mostrarBancas?: boolean; } const formatNumber = (num: number) => num.toLocaleString('es-AR'); const formatPercent = (num: number) => `${num.toFixed(2).replace('.', ',')}%`; // --- 2. RECIBIR Y USAR LA PROP EN EL SUB-COMPONENTE --- const CategoriaDisplay = ({ categoria, mostrarBancas }: CategoriaDisplayProps) => { return (

{categoria.categoriaNombre}

{categoria.resultados.map(res => (
{res.nombreCandidato && ( {res.nombreCandidato} )} {res.nombreAgrupacion}
{formatPercent(res.porcentaje)} {formatNumber(res.votos)} votos
{/* --- 3. RENDERIZADO CONDICIONAL DEL CUADRO DE BANCAS --- */} {/* Este div solo se renderizará si mostrarBancas es true */} {mostrarBancas && (
+{res.bancasObtenidas} Bancas
)}
))}
Participación {formatPercent(categoria.estadoRecuento?.participacionPorcentaje ?? 0)}
Mesas escrutadas {formatPercent(categoria.estadoRecuento?.mesasTotalizadasPorcentaje ?? 0)}
Votos totales {formatNumber(categoria.estadoRecuento?.cantidadVotantes ?? 0)}
); }; // --- 4. RECIBIR Y PASAR LA PROP EN EL COMPONENTE PRINCIPAL --- export const ProvinciaCard = ({ data, mostrarBancas }: ProvinciaCardProps) => { const colorGanador = data.categorias[0]?.resultados[0]?.color || '#d1d1d1'; return (

{data.provinciaNombre}

{data.categorias.map(categoria => ( ))}
); };