POLITICA
La política barrabrava exige resultados concretos

La velocidad con la que se producen y reproducen acontecimientos en la Argentina permite pasar por alto situaciones significativas y, sobre todo olvidarlas o darlas por superadas demasiado rápido. Javier Milei y su gestión comprenden como pocos esa dinámica de la era de la instantaneidad y la simultaneidad. Y la explotan al máximo.
La contraindicación, como siempre, está en el abuso de esa receta. La acumulación deja huellas que, salvo que se produzcan mejoras estructurales, terminan dándole relevancia a las formas y convirtiéndolas en problemas de fondo. Eso es lo que está afectando al Gobierno, además de los problemas reales y los resultados concretos del programa económico, que genera una Argentina cada vez más heterogénea y desigual, con perspectivas de profundizarse en la disparidad.
Lo sucedido el miércoles pasado en la Cámara de Diputados durante el informe de gestión del jefe de gabinete, Manuel Adorni, es un buen ejemplo, que podría entrar en el sobrecargado estante de las lesiones autoinflingidas con secuelas de largo alcance y merece volver a mirar algunas escenas.
En primer lugar, el Presidente no sólo expuso su imagen (en baja en la mayoría de las encuestas) en defensa de un funcionario bajo sospecha, que no terminó de aclarar ninguno de los interrogantes que dominan la agenda pública desde hace más de un mes sobre sus gastos suntuarios y su incremento patrimonial concretados durante los dos primeros años de gestión. Milei hizo más que eso.
Después de prometer la moral como política de Estado en ese mismo recinto hace apenas dos meses, la semana pasada oficializó la política barrabrava como metodología de conducción del Estado.
La llegada y la permanencia del Presidente en el Congreso, acompañado de su séquito de ministros, y los airados agravios con gestos agresivos, incluidos, que le dedicó a los adversarios y a los periodistas presentes que intentaron interrogarlo, lo asemejó demasiado a las escenas protagonizadas por los jefes de las hinchadas de fútbol. Nada más parecido resultó un por momentos desencajado primer mandatario a los líderes de las barras bravas cuando llegan la cancha secundados por sus aduladores coroneles o cuando se instalan sobre el paraavalanchas en el centro de la tribuna para hostigar a los rivales. Y alentar a los propios, hasta cuando se equivocan.
Las palabras en reconocimiento a la división de poderes y de respeto a las investigaciones judiciales, que expresó enfáticamente Adorni en su autodefensa y para no ofrecer ninguna prueba sobre el origen del dinero con el que solventó sus gastos, quedaron, así, ensombrecidas y desmentidas en la práctica.
La presencia dominante e intimidante del jefe del Poder Ejecutivo, rodeado de sus fanáticos ubicados en las barras y en las bancas, con sus ataques hacia los diputados de la oposición en la sede del Poder Legislativo fue una anomalía, aún en tiempos de incorrección política extrema, que subrayó el momento irascible del Presidente así como el aislamiento y la intolerancia dominantes en el oficialismo.
“Aunque hay certeza de que la economía va a mostrar mejoras y ya está habiendo indicios de eso, la inflación sostenida por encima del 2% desde hace 10 meses, más la caída de la actividad y el malestar social creciente, sumado a las peleas internas y las acusaciones por supuesta corrupción han generado un cambio en la dinámica del Gobierno y en el ánimo presidencial, que es imposible de ocultar. Adentro todo es mucho más tenso y más cerrado. Sobra la desconfianza y el miedo. Si nunca hubo mucho espacio para disenso hoy no hay ni un resquicio para disentir. Yo prefiero callar antes que exponerme como alguna vez lo hice”, revela un destacado integrante del oficialismo.
El funcionario es uno, no el único, de los que ha reducido sus contactos externos, cuida las palabras como si fueran criptoactivos y solo habla con interlocutores que podrían ser observados por los hermanos Milei (como los periodistas no militantes) en absoluta reserva y, obviamente, cuando no está en dependencias públicas. No es de extrañar. En las redes sociales y en las reuniones de gabinete el síjavierismo y el síkarinismo compiten con la adulación al líder, sin temor al exceso ni al ridículo. Aún de parte de algunos funcionarios y dirigentes con trayectoria y prestigio previo.
Ese contexto explica tanto las actitudes presidenciales, como las características de la presentación de Adorni en el Congreso. Descalificar a los contradictores y críticos, no dar mayores explicaciones, machacar con los pronósticos optimistas, insistir con la prédica dogmática, blindarse ante los cuestionamientos y forzar indicadores y cifras para que muestren rasgos positivos es lo que manda. Hasta que lleguen mejores vientos.
La utilización de cuadros con cifras de una consultora privada por parte de Milei en su larga exposición en la cena de la Fundación Libertad y no de indicadores oficiales fue observada por varios economistas como un ejemplo del recorte narrativo y del uso de las mediciones en beneficio propio. También su nulo relacionamiento con los invitados en un ambiente favorable resaltó la percepción de aislamiento que domina.
Así, los pronósticos de varias consultoras privadas de una caída de casi un punto en el índice de inflación de abril, que estaría en torno del 2,5%, es una buena noticia, que entona al equipo gobernante y será sobreexplotada por la propaganda oficialista, aunque no suficiente para aventar malestares ni para cambiar el malhumor social.
Ese clima ha ido deteriorándose centralmente por el desempeño de la economía, que ha afectado el poder adquisitivo de los ingresos de la mayoría de los asalariados públicos (especialmente) y privados, sean éstos formales o informales. También por la destrucción de empleo en los centros más poblados o por la perspectiva de su destrucción.
El regreso de los aumentos de precios a los primeros lugares de las encuestas sobre los principales problemas del país y de los individuos, así como el sostenimiento de la pobreza y el empleo como preocupaciones centrales, junto con la corrupción tocan el meollo de la evaluación sobre la gestión del gobierno y la imagen presidencial.
Tanto los problemas económicos como la corrupción que en los dos primeros años del mandato mileísta se licuaban en la herencia recibida, ahora ya son imputados a Milei y su gestión, excepto por su núcleo duro de votantes. Además de su presento turbulento, el Gobierno ya tiene su propio pasado sobre el que se lo evalúa y debe rendir cuentas. En materia económica y en cuestiones de transparencia Milei y su equipo pusieron la vara a una altura que ahora le está costando demasiado alcanzar y la opinión pública se lo factura.
En ese sentido cobra valor la caída de 12% que registró frente al mes anterior en el índice de Confianza en el Gobierno de la Universidad Torcuato Di Tella (UTDT), no solo por la magnitud de la diminución sino por ser la quinta caída consecutiva después del triunfo electoral de octubre pasado.
“El problema no es el nivel en el que está en el tercer año de su mandato, ya que es un poquito más bajo que el que tenían Néstor Kirchner y Mauricio Macri, a esta altura, y bastante más que el que tenían Cristina Kirchner en sus mandatos y Alberto Fernández. Lo que preocupa es la tendencia ”, destacó Carlos Gervasoni, profesor de la UTDT y a cargo del ICG en la Departamento de Política y Gobierno.
En este punto, Gervasoni advirtió el impacto adverso que está teniendo para el Gobierno el caso Adorni, además de la marcha de la economía. “Sorprende la tenacidad del Gobierno en sostenerlo, cuando está claro que esto va a pura perdida. Cuanto más tiempo pasa Adorni en el candelero, peor para el Gobierno. Y me sorprende que no haya actuado como frente a otros casos como aquel famoso [escándalo] de José Luis Espert o ahora el del funcionario del Ministerio de Economía [Carlos Frugoni, por su propiedades en el exterior no declaradas]”, subraya el politólogo.
“El esfuerzo se le está haciendo demasiado largo a muchos que inicialmente apoyaban al gobierno, aunque su situación personal no fuera positiva. Ahora eso está cambiando y está afectando las expectativas”, explica Lara Gorburo, directora de la consultora Management & Fit. Y en ese punto coincide con Gervasoni sobre el impacto que está teniendo la realidad sobre uno de los grandes activos del Gobierno, que eran las expectativas positivas a futuro de la mayoría sociedad, aún entre quienes no la estaban pasando bien.
El impacto de esas realidades medibles ha sido retroalimentadas por el ejercicio de la política barrabrava presidencial, después del paréntesis electoral en el que Milei se autoimpuso un bozal (parcial) para el insulto y la descalificación.
Con motivo del día mundial de la libertad de expresión, celebrado ayer, varios reportes, como el monitoreo de la Libertad de expresión del Foro de Periodismo Argentino (Fopea) y el ránking de Reporteros sin Fronteras dieron cuenta del deterioro que este derecho fundamental ha tenido en la Argentina de Milei en sus dos primeros años de gestión y, muy especialmente, durante el año pasado.
El monitoreo de Fopea muestra que en 2025 se alcanzó el récord de agresiones a la libertad de prensa desde que existe ese registro, hace 18 años, y que el autor de 42% de los ataques fue el Presidente.
De esa manera, superó la cifra de ataques alcanzada durante el gobierno de Cristina Kirchner, en 2013, cuando el sueño de re-reelección empezó a chocar con el malestar económico y se topó con las revelaciones periodísticas sobre la ruta del dinero K y otros hechos de corrupción.
Ahora no solo resalta el número récord de ataques registrados sino que, por ejemplo, también se superó el número de acciones judiciales contra periodistas.
Por otra parte, un análisis de las 113.000 publicaciones propias y republicaciones efectuadas por Milei en la red X, efectuado por Fopea (Mileiinsultaenx.fopea.org) demuestra que una de cada siete contiene insultos, lo que lleva a un promedio de 60 posteos por día con agravios. Las categorías dominantes de esos insultos son la descalificación, la estigmatización y la animalización de sus destinatarios.
El Presidente justifica sus agravios e insiste en que sus pronunciamientos no son ataques a la libertad de expresión, sino que por, el contrario, él está ejerciendo ese derecho y que hay una relación asimétrica de la que es objeto. Esa posición, sin embargo, va en contra de toda la literatura sobre comunicación y política, así como de pronunciamientos judiciales y de organismos internacionales.
Las evidencias demuestran que la intolerancia a la crítica y el insulto a los contradictores se ha consolidado como política de Estado mucho más rápido y más consistentemente que la moral.
Numerosos miembros del Gabinete son consecuentes con esa práctica, tanto como se erigen en defensores del Presidente cuando la ejerce, en otra expresión cada vez más frecuente de la condescendencia (u obsecuencia) que reina en el equipo gobernante. “Solo para aclarar, la guerra hoy es del periodismo contra el gobierno, no viceversa”, publicó en X el ministro de Economía, Luis Caputo, quien se ha convertido con el paso del tiempo en uno de los edecanes principales del Presidente en su rol de jefe de la barra brava.
En ese contexto y en ese sentido se dio la presentación de Adorni en el Congreso en la que no perdió más reputación de la que ya había perdido por la falta de aclaraciones suficientes de sus gastos y adquisiciones desde que ingreso al Gobierno, aunque tampoco le sirvió para recuperar al menos una porción de la imagen desgastada.
No obstante, el jefe de Gabinete, aplaudido por Milei y el resto del gabinete, recuperó muy pronto su estilo altanero y desafiante, tal vez demasiado confiado en que no tropezó más allá de su negativa a dar explicaciones y mostrar pruebas. También convencido de que lo benefició el presunto espionaje del que habría sido víctima su esposa, a juzgar por el minucioso detalle de sus actividades que hizo el servicial diputado kirchnerista Rodolfo Tailhade, para denunciar que Bettina Angeletti había usado en salidas particulares la custodia y los móviles estatales asignados al funcionario.
El problema para Adorni es que aún si la opinión púbica supiera los más que cuestionables antecedentes y prácticas de Tailhade vinculados con el mundo del espionaje y los condenara, como debiera, también podría preguntarse y preguntarle respecto de otra supuesta utilización irregular de bienes públicos. Sobre eso tampoco dio respuestas. Además, habría otros gastos inepxlicados y difíciles de explicar para sus ingresos que estarían por revelerse.
La reaparición prometida para hoy del jefe de Gabinete ante los periodistas, con motivo de la reapertura de la sala de prensa de la Casa Rosada, tras una semana de injustificable cierre, será una oportunidad para aclarar lo que sigue siendo demasiado opaco o para reafirmar la descalificación como política de Estado.
De insistir en la metodología de confrontación, deberá tener en cuenta que la política barrabrava también exige resultados para sostenerse. Y en este momento no sobran los casos de éxito para la afición descontenta.
Claudio Jacquelin,Conforme a
POLITICA
Uno por uno, cómo votó cada senador el pliego de Michelli, que dividió a La Libertad Avanza

En una dura derrota para el Gobierno, el Senado aprobó hoy, sobre tablas y por amplia mayoría, la designación como vocal de un tribunal penal de La Plata de María Verónica Michelli, cuya postulación fue rechazada por el presidente Javier Milei por ser familiar del periodista de Hugo Alconada Mon.
El pliego de Michelli fue aprobado por 44 votos a favor, 18 en contra y dos abstenciones. Una de las abstenciones fue la de Patricia Bullrich. La senadora libertaria ya había anunciado su “objeción de conciencia” a cumplir la orden de Milei de retirar el pliego de Michelli. Milei deberá resolver ahora si firma el decreto de designación de Michelli como jueza, último paso del proceso establecido por la Constitución para ocupar vacantes en el Poder Judicial. El tratamiento del pliego se habilitó luego de un acuerdo alcanzado tras un cuarto intermedio y fuertes cruces entre La Libertad Avanza y la oposición.
POLITICA
La trama detrás de la caída de un proyecto clave para Milei que generó más cortocircuitos en el Gobierno

La sesión que se desarrolló esta tarde en el Senado dio a entrever cómo las descoordinaciones entre diferentes facciones del oficialismo terminan produciendo dinámicas políticas indeseadas en momentos clave.
El bloque de La Libertad Avanza había acordado con la oposición ayer en la reunión de Labor Parlamentaria que este jueves se debatieran en el recinto diferentes iniciativas como la aprobación de 50 pliegos de jueces y fiscales, así como el proyecto sobre inviolabilidad de la propiedad privada. Lo curioso es que cuando se tenía amplia expectativa sobre la media sanción de esta última, el oficialismo terminó pidiendo el aplazamiento del mismo en el medio de la sesión.
El proyecto que fue diseñado por el ministro Federico Sturzenegger tuvo una ardua discusión en las comisiones del Senado. Esta implicó cambios en decenas de artículos, dejando como esencia una iniciativa que modifica el régimen de expropiaciones, los procesos de desalojo, la ley de tierras rurales y la normativa sobre manejo del fuego.
Vale la pena recapitular. El bloque libertario, que es presidido por Patricia Bullrich, venía de días de tensión mediática producto de que su jefa de bancada se había opuesto públicamente a rechazar el pliego de María Verónica Michelli como jueza federal, algo que habían solicitado los hermanos Milei producto de que es cuñada del periodista Hugo Alconada Mon, quien hizo coberturas extendidas en causas que compromenten al oficialismo como $LIBRA. Su pliego tenía casi todas las firmas necesarias en la Comisión de Acuerdos para poder tratarse fácilmente en el recinto.

En paralelo, había otras 73 nominaciones provenientes del Poder Ejecutivo que estaban en condiciones de pasar al recinto. Bullrich y los jefes de bloque de la oposición acordaron ayer no tratar el de Michelli, hacerlo la semana próxima y que se avance con una primera tanda de 50 concursos en la sesión de este jueves. En el transcurso entre Labor Parlamentaria y el inicio de la sesión no se logró dar con un criterio claro que estableciera quiénes de los 73 eran pasibles de integrar esa primera tanda. Es ahí donde comienzan los cortocircuitos al interior del oficialismo.
“Es completamente discrecional que haya 50 y no todos”, afirmaron en el karinismo. ¿Por qué el oficialismo aplazó su tratamiento si es que contaba con los votos? Al menos dos importantes fuentes del Gobierno reconocen que se debió a una negociación a último momento con la oposición por los pliegos judiciales.
En la lista preliminar que se sugirió para la sesión de este jueves no estaban dos nombres sugerentes. Emilio Rosatti, hijo del presidente de la Corte Suprema de Justicia, Horacio Rosatti, quien tiene terminales políticas con el entorno de la secretaria general de la Presidencia, Karina Milei. Asimismo, tampoco figuraba la candidata Yamile Susana Bernan, quien es esposa de Diego Guerendiain, mano derecha y primer jefe de Gabinete que tuvo el exministro de Justicia, Mariano Cúneo Libarona.
Quienes conocen los posicionamientos del karinismo sobre la política judicial acusan de al ala del asesor presidencial Santiago Caputo por haber tenido intenciones de que no fueran incluidos en la convocatoria de esta sesión. Algo que es rechazado de manera tajante por el sector aludido: “Nos operan porque tienen que justificar sus manejos”.

Esta mañana, los operadores judiciales del karinismo comenzaron a activar contactos con diferentes actores políticos de la oposición como para presionar a que se trataran la totalidad de los pliegos, entre ellos el de Rosatti. Media hora antes de que iniciara, Bullrich había ampliado el listado en dos oportunidades distintas: primero fue de 50, luego se pasó a 53 y más tarde se terminó en el número final de 73 candidaturas. El único que no estaba era el de Michelli.
Tras una tensa discusión en el medio del recinto, Bullrich tuvo que llamar a un largo cuarto intermedio para evitar que la sesión se le desmadrara. La pausa y la reunión con los referentes del recinto se extendió por más de una hora. Desde ese momento diferentes fuentes legislativas decían por lo bajo que corría peligro el proyecto desregulador que había pedido Milei.
El saldo final de la negociación fue la siguiente, según indicó una importante fuente del Gobierno: “El kirchnerismo y varios de la oposición vieron la desesperación del oficialismo y les dijeron que iban a aprestarse a votar solo si incluían sobre tablas el pliego de Michelli y daban de baja la discusión del proyecto de inviolabilidad de la propiedad privada. Finalmente aceptaron”.
Una vez que se reanudó la sesión y se votaron todos los pliegos, el senador de La Libertad Avanza por Tierra del Fuego, Agustín Coto, solicitó que el proyecto desregulador volviera a comisión, lo cual aplazará su discusión sin nueva fecha aparente.
Ahí es donde emergen las críticas de otros sectores del Gobierno hacia quienes manejan la política judicial del oficialismo. “Entregaron una proyecto que había costado mucho negociar y que era importante para Milei solo para apurar un par de pliegos”, esgrimen. Ahora mismo no hay prevista una fecha clara para volver a discutir esa normativa. En el karinismo se atajan diciendo que puede ser la semana que viene, pero la cercanía del Mundial de Fútbol implicará una baja significativa en la dinámica legislativa.
El episodio expone que la supuesta concertación que buscaron comunicar Karina Milei y Patricia Bullrich no es tal. En el entorno de la hermana presidencial acusaron a la senadora de haber realizado la primera selección de los 50 pliegos “porque quieren que la inviten a negociar los asuntos judiciales”. En cambio, quienes están con la jefa de bloque de La Libertad Avanza apuntan a la “desprolijidad” con la que se manejó el Ejecutivo en la administración de pliegos como el de Michelli.
La positiva noticia de que el Poder Judicial volverá a llenar vacantes judiciales después de años de sequía terminó viéndose empañada por las desconexiones entre distintas huestes del oficialismo. En tanto, el presidente Javier Milei no tiene previsto convalidar la promoción de Michelli como jueza y está decidido que enviará una nueva candidatura en las próximas semanas, tal y como hizo con Juan Manuel Yalj a comienzos de 2012. La historia no es la misma, pero rima.
Senado,Argentina,votación,Verónica Michelle,jueza,pliego,aprobación,Poder Judicial,legislatura
POLITICA
Uno por uno, cómo votaron los senadores el pliego de Verónica Michelli, la jueza que rechaza Javier Milei

${status}
`;
}
function createCard(item, borderColor) {
const card = document.createElement(«div»);
card.className = «vs2__card»;
const fotoWrap = document.createElement(«div»);
fotoWrap.className = «vs2__foto»;
if (borderColor) {
fotoWrap.style.borderColor = borderColor;
} else {
fotoWrap.style.opacity = «0.3»;
fotoWrap.style.border = «none»;
}
const img = document.createElement(«img»);
img.loading = «lazy»;
img.decoding = «async»;
img.alt = «foto-senador»;
img.src = » + (item.url_foto || «»);
img.addEventListener(«error», () => {
img.style.opacity = «0.35»;
}, {
once: true
});
fotoWrap.appendChild(img);
const nombre = document.createElement(«p»);
nombre.className = «vs2__nombre»;
nombre.textContent = String(item.nombres || «»).toLowerCase();
const apellido = document.createElement(«p»);
apellido.className = «vs2__apellido»;
apellido.textContent = String(item.apellido || «»).toLowerCase();
const bloque = document.createElement(«span»);
bloque.className = «vs2__bloque»;
bloque.textContent = String(item.bloque || «»);
card.appendChild(fotoWrap);
card.appendChild(nombre);
card.appendChild(apellido);
card.appendChild(bloque);
return card;
}
function seatClass(kind) {
if (kind === «AFIRMATIVO») return «vs2__seat–afirmativo»;
if (kind === «NEGATIVO») return «vs2__seat–negativo»;
if (kind === «ABSTENCIÓN») return «vs2__seat–abstencion»;
if (kind === «AUSENTE») return «vs2__seat–ausente»;
return «vs2__seat–empty»;
}
function hemicicloParams(which) {
if (which === «big») {
return {
centerX: 300,
baseY: 450,
rows: 5,
seatsPerRow: [21, 18, 16, 11, 6],
verticalOffset: 2,
radiusStart: 300,
radiusStep: 55
};
}
return {
centerX: 300,
baseY: 450,
rows: 5,
seatsPerRow: [21, 18, 16, 12, 7],
verticalOffset: 0,
radiusStart: 170,
radiusStep: 30
};
}
function computeRowSeatCounts(seatsPerRow, totals) {
const totalSeats = seatsPerRow.reduce((a, b) => a + b, 0);
return seatsPerRow.map(seatsInRow => {
const exact = {
AFIRMATIVO: (totals.AFIRMATIVO / totalSeats) * seatsInRow,
NEGATIVO: (totals.NEGATIVO / totalSeats) * seatsInRow,
«ABSTENCIÓN»: (totals[«ABSTENCIÓN»] / totalSeats) * seatsInRow,
AUSENTE: (totals.AUSENTE / totalSeats) * seatsInRow
};
const floor = {
AFIRMATIVO: Math.floor(exact.AFIRMATIVO),
NEGATIVO: Math.floor(exact.NEGATIVO),
«ABSTENCIÓN»: Math.floor(exact[«ABSTENCIÓN»]),
AUSENTE: Math.floor(exact.AUSENTE)
};
let assigned = floor.AFIRMATIVO + floor.NEGATIVO + floor[«ABSTENCIÓN»] + floor.AUSENTE;
let diff = seatsInRow – assigned;
const rems = [{
k: «AFIRMATIVO»,
r: exact.AFIRMATIVO – floor.AFIRMATIVO
},
{
k: «NEGATIVO»,
r: exact.NEGATIVO – floor.NEGATIVO
},
{
k: «ABSTENCIÓN»,
r: exact[«ABSTENCIÓN»] – floor[«ABSTENCIÓN»]
},
{
k: «AUSENTE»,
r: exact.AUSENTE – floor.AUSENTE
},
].sort((a, b) => b.r – a.r);
while (diff > 0) {
for (const it of rems) {
if (diff <= 0) break;
floor[it.k] += 1;
diff–;
}
}
return floor;
});
}
function renderHemiciclo(which, totals) {
const el = byRole(which === «big» ? «hemiciclo-big» : «hemiciclo-small»);
if (!el) return;
el.innerHTML = «»;
const p = hemicicloParams(which);
let rowSeatCounts = computeRowSeatCounts(p.seatsPerRow, totals);
const maxSeatsInRow = p.seatsPerRow[0];
for (let col = 0; col < maxSeatsInRow; col++) {
for (let row = 0; row < p.rows; row++) {
if (col >= p.seatsPerRow[row]) continue;
const seatsInThisRow = p.seatsPerRow[row];
const radius = p.radiusStart – row * (p.radiusStep – p.verticalOffset);
const angleRange = Math.PI;
const angleStep = (seatsInThisRow > 1) ? angleRange / (seatsInThisRow – 1) : 0;
const angle = (Math.PI – angleRange) / 2 + col * angleStep;
const x = p.centerX + radius * Math.cos(angle);
const y = p.baseY – radius * Math.sin(angle);
let kind = «EMPTY»;
if (rowSeatCounts[row].AFIRMATIVO > 0) {
kind = «AFIRMATIVO»;
rowSeatCounts[row].AFIRMATIVO–;
} else if (rowSeatCounts[row].NEGATIVO > 0) {
kind = «NEGATIVO»;
rowSeatCounts[row].NEGATIVO–;
} else if (rowSeatCounts[row][«ABSTENCIÓN»] > 0) {
kind = «ABSTENCIÓN»;
rowSeatCounts[row][«ABSTENCIÓN»]–;
} else if (rowSeatCounts[row].AUSENTE > 0) {
kind = «AUSENTE»;
rowSeatCounts[row].AUSENTE–;
}
const seat = document.createElement(«div»);
seat.className = «vs2__seat » + seatClass(kind);
seat.style.left = x + «px»;
seat.style.top = y + «px»;
el.appendChild(seat);
}
}
}
function populateFilters(data) {
const selProv = byRole(«select-provincia»);
const selBloq = byRole(«select-bloque»);
if (!selProv || !selBloq) return;
const provSet = new Set();
const bloqSet = new Map(); // bloque -> full
data.forEach(r => {
if (r.provincia) provSet.add(r.provincia);
if (r.bloque) bloqSet.set(r.bloque, r.bloque_full || r.bloque);
});
Array.from(provSet).sort().forEach(p => {
const opt = document.createElement(«option»);
opt.value = p;
opt.textContent = p;
selProv.appendChild(opt);
});
Array.from(bloqSet.entries())
.sort((a, b) => String(a[0]).localeCompare(String(b[0])))
.forEach(([code, full]) => {
const opt = document.createElement(«option»);
opt.value = code;
opt.textContent = `${full} (${code})`;
selBloq.appendChild(opt);
});
}
function renderFiltered(data, field, value, targetEl) {
targetEl.innerHTML = «»;
const rows = data.filter(r => value === «all» || r[field] === value);
const order = [«AFIRMATIVO», «NEGATIVO», «ABSTENCIÓN», «AUSENTE»];
const colorBy = {
AFIRMATIVO: «#00A377»,
NEGATIVO: «#c90808»,
«ABSTENCIÓN»: «#444″,
AUSENTE: null
};
order.forEach(voto => {
rows.filter(r => normalizeVoto(r.voto) === voto).forEach(r => {
targetEl.appendChild(createCard(r, colorBy[voto]));
});
});
}
function wireUI(data) {
// toggles
$$(‘[data-role=»section»], [data-role=»filter-provincia»], [data-role=»filter-bloque»]’).forEach(sec => {
const btn = sec.querySelector(‘[data-role=»toggle»]’);
if (!btn) return;
btn.addEventListener(«click», () => {
const open = sec.getAttribute(«data-open») !== «true»;
openPanel(sec, open);
});
});
// abrir por defecto secciones principales, y dejar filtros cerrados
$$(‘[data-role=»section»]’).forEach(sec => openPanel(sec, true));
$$(‘[data-role=»filter-provincia»], [data-role=»filter-bloque»]’).forEach(sec => openPanel(sec, false));
// go top
const goTop = byRole(«go-top»);
if (goTop) {
goTop.addEventListener(«click», () => root.scrollIntoView({
behavior: «smooth»
}));
const obs = new IntersectionObserver((entries) => {
entries.forEach(e => {
goTop.style.display = e.isIntersecting ? «block» : «none»;
});
}, {
threshold: 0.1
});
obs.observe(root);
}
// filtros
const selProv = byRole(«select-provincia»);
const selBloq = byRole(«select-bloque»);
const provOut = byRole(«provincia-results»);
const bloqOut = byRole(«bloque-results»);
if (selProv && provOut) {
selProv.addEventListener(«change», (e) => {
renderFiltered(data, «provincia», e.target.value, provOut);
const sec = byRole(«filter-provincia»);
if (sec) openPanel(sec, true);
});
}
if (selBloq && bloqOut) {
selBloq.addEventListener(«change», (e) => {
renderFiltered(data, «bloque», e.target.value, bloqOut);
const sec = byRole(«filter-bloque»);
if (sec) openPanel(sec, true);
});
}
}
async function init() {
setLoaded(false);
const csvUrl = root.dataset.csvUrl;
if (!csvUrl) {
const summary = byRole(«summary»);
if (summary) summary.innerHTML = `
Error: falta data-csv-url
`;
return;
}
try {
const Papa = await ensurePapa();
Papa.parse(csvUrl, {
download: true,
header: true,
skipEmptyLines: true,
complete: function(res) {
const data = (res && res.data) ? res.data : [];
// panels por voto
const panelByVote = {};
$$(‘[data-role=»section»]’).forEach(sec => {
const voto = sec.getAttribute(«data-voto»);
const panel = sec.querySelector(‘[data-role=»panel»]’);
if (voto && panel) panelByVote[voto] = panel;
});
const counts = {
AFIRMATIVO: 0,
NEGATIVO: 0,
«ABSTENCIÓN»: 0,
AUSENTE: 0
};
const colorBy = {
AFIRMATIVO: «#00A377»,
NEGATIVO: «#c90808»,
«ABSTENCIÓN»: «#444″,
AUSENTE: null
};
data.forEach(row => {
const voto = normalizeVoto(row.voto);
if (!counts.hasOwnProperty(voto)) return;
counts[voto]++;
const panel = panelByVote[voto];
if (panel) {
panel.appendChild(createCard(row, colorBy[voto]));
}
});
// counts en UI
$$(‘[data-role=»count»]’).forEach(el => {
const k = el.getAttribute(«data-kind»);
if (k && counts.hasOwnProperty(k)) el.textContent = String(counts[k]);
});
// hemiciclo + summary
renderHemiciclo(«big», counts);
renderHemiciclo(«small», counts);
renderSummary(counts);
// filtros + ui
populateFilters(data);
wireUI(data);
setLoaded(true);
// recalcular heights en secciones abiertas
$$(‘[data-role=»section»]’).forEach(sec => openPanel(sec, true));
}
});
} catch (err) {
console.error(err);
const summary = byRole(«summary»);
if (summary) {
summary.innerHTML = `
Error: ${escapeHtml(err.message || err)}
`;
}
}
}
init();
})();
ECONOMIA2 días agoCaputo: “Puede haber un shock externo o una invasión extraterrestre, pero Kicillof no va a ser presidente nunca en su vida”
POLITICA1 día agoJavier y Karina Milei evitarán escalar la interna con Patricia Bullrich tras los cruces por el pliego de una jueza
ECONOMIA3 días agoJornada financiera: las acciones argentinas subieron hasta 10% en Wall Street y bajó el riesgo país
















