Connect with us

POLITICA

La misa por Francisco volvió a desnudar la interna de la plana mayor del Gobierno con Victoria Villarruel

Published

on


La misa por el primer aniversario de la muerte del Papa Francisco en la Basílica de Luján comenzó puntual, pasadas las 17, justo después del ingreso de la comitiva oficial encabezada por Manuel Adorni. Fue un acto religioso, pero también político, porque la ausencia de Victoria Villarruel volvió desnudar la interna del gobierno libertario. Según pudo saber Infobae, la vicepresidenta estaba en viaje cuando se enteró que su lugar por protocolo era estar en la misma línea de bancos junto al Jefe de Gabinete y otros ministros, y decidió no participar aunque había confirmado su presencia como máxima autoridad del país por el viaje de Javier Milei a Israel.

No sé que pasó”, se limitó a decir Diego Santilli al finalizar la ceremonia. Villarruel lo explicó minutos después, en el barrio porteño de Almagro, en otro homenaje. “Me pareció que la ceremonia tenía un contenido que no era el del recuerdo al Papa, era una ceremonia en la que estaba lo peor de la casta política. No quiero puntualizar pero estaba la casta política, yo soy coherente con mis creencias”, aseguró la vicepresidenta.

Advertisement

Y agregó: “La misa en Luján me pareció que se había politizado. Y como el 2 de abril, donde la política se mete en fechas o en el recuerdo de personas tan importantes como es el papa Francisco, yo prefiero estar entre la gente y prefiero esta, con humildad, en un lugar donde solo me encuentro con otros argentinos”.

Además de Adorni y del ministro del Interior, en la primera fila de la Basílica se sentaron el presidente de la Cámara de Diputados, Martín Menem, y el presidente provisional del Senado, Bartolomé Abdala, en el lugar que estaba reservado para Villarruel. Más atrás, los ministros de Desregulación, Federico Sturzenegger; de Defensa, Carlos Presti; de Seguridad, Alejandra Monteoliva; el de Salud, Mario Lugones; y los diputados Gabriel Bornoroni y Sebastián Pareja, entre otros. Otra ausente fue Sandra Pettovello (Capital Humano).

Advertisement

En paralelo, pero del otro lado, se ubicó el gobernador de Buenos Aires, Axel Kicillof, junto al senador Eduardo “Wado” De Pedro, y funcionarios bonarenses como el ministro de Trabajo, Walter Correa; la Secretaria de Cultura, Florencia Saintout; y un grupo de intendentes como Gustavo Menéndez (Merlo) y Federico Otermín (Lomas de Zamora), a los que se sumó más tarde la legisladora provincial Mayra Mendoza, la referente camporista. Se sentó lejos de Kicillof, a quién volvió a criticar en las últimas horas.

Fue un acto político, además, porque el Gobierno volvió a respaldar a Adorni, investigado por supuestos hechos de corrupción. Entre libertarios y peronistas hubo una fría cordialidad. Cuando ingresaron a la Basílica, los funcionarios nacionales pasaron delante del gobernador bonaerense, los más efusivos con el saludo fueron Santilli y Pareja. Minutos más tarde desde ambos sectores evitaron darse el “saludo de la paz”, un momento habitual de la liturgia, cuando el sacerdote que preside la misa realiza la invitación. En ese pasaje, los funcionarios nacionales se saludaron entre ellos. Lo propio hicieron los de la provincia de Buenos Aires.

De izquierda a derecha: Bartolomé Abdala, Martín Menem, Manuel Adorni, Diego Santilli  (Jaime Olivos)

La misa en homenaje al Papa Francisco tuvo una homilía a cargo del arzobispo Marcelo Colombo, presidente de la Conferencia Episcopal y arzobispo de Mendoza, tuvo un fuerte contenido político y social. “Nos queda aprender de una buena vez y no seguir castigándonos con la indiferencia, el desinterés, la agresividad permanente en el lenguaje y los gestos violentos”, indicó.

Advertisement

“Mucho nos hemos lamentado de no haberlo tratado bien, de haber sido mezquinos como sociedad e incluso como Iglesia, al no acoger sus propuestas bien inspiradas, al desconfiar y retacear nuestro apoyo a tantas iniciativas en favor de nuestro pueblo”, agregó.

El gobernador de Buenos Aires, Axel Kicillof (Jaime Olivos)

Y completó: “También nos hemos referido reiteradamente al viaje que no realizó para visitarnos. Más allá de las múltiples posibles razones invocadas, permítanme expresarles, con cierto pudor, que creo que nunca se fue del todo de su Patria porque permaneció como un interlocutor permanente en nuestras mesas y en nuestra vida social, aunque faltara el calor del encuentro con las muchedumbres de los viajes papales. Siguió poniéndole nombre a los temas difíciles e inventando palabras para expresar contenidos que nos fueran comprensibles y nos sacudieran de las modorras conceptuales —muchas veces vacías y desinteresadas de todos y de todo—, dejando caer las formalidades que fueran un lastre a la hora de afrontar un problema, y llamándonos a reconocer la complejidad de la trama que nos toca habitar y a “aceptar sufrir el conflicto, resolverlo y transformarlo en un eslabón de un nuevo proceso”.

La misa en homenaje al Papa Francisco tuvo una homilía a cargo del arzobispo Marcelo Colombo, presidente de la Conferencia Episcopal y arzobispo de Mendoza (Jaime Olivos)

Colombo, demás, convocó a aprender del legado del pontífice argentino y a superar las divisiones que persistieron durante su papado, tanto en la sociedad como en el propio clero. El homenaje reunió, además, a representantes de distintas confesiones religiosas y personalidades del mundo social, empresarial y sindical, como el dirigente del sector petrolero de Chubut, liderados por Jorge “Loma” Ávila, actual diputado nacional y secretario general del Sindicato de Petróleo y Gas Privado, y Emiliano Mongilardi, protesorero del gremio y director de YPF.

Advertisement

“Al papa Francisco no sólo hay que recordarlo en las palabras y en la foto, si no en sus enseñanzas, haciendo lo que dijo. Que cada uno lo tome con seriedad, estamos en una época donde se respira guerra y nos dicen que el mercado es un Dios y el Papa fue muy claro, es exactamente lo contrario lo que dijo”, dijo Kicillof. El gobernador, que regresó esta semana de un viaje por España, fue uno de los pocos dirigentes que habló con la prensa al finalizar la homilía.

Advertisement

POLITICA

Ajmechet cruzó a un diputado peronista por el envío de una carta al embajador de Israel y le respondieron

Published

on


La diputada libertaria Sabrina Ajmechet salió este miércoles al cruce de su par Sergio Palazzo, de Unión por la Patria (UxP), por el envío de una carta al embajador de Israel en la Argentina, Eyal Sela, a partir de una serie de despidos en un banco que preside el empresario Eduardo Sergio Elsztain.

En aquel documento, el legislador peronista instaba al diplomático a intervenir como mediador ante la “ola de despidos” que se produjo la semana pasada en el Banco Hipotecario, entidad que preside Elsztain.

Advertisement
El cruce entre Sabrina Ajmechet y Sergio Palazzo

Durante la sesión por el “Súper RIGI”, Ajmechet hizo uso de la palabra para una cuestión de privilegio. Lejos de aceptar la explicación que Palazzo había volcado días atrás en la red social X, la diputada calificó el pedido a Israel como un “acto antisemita fuertísimo”.

“No corresponde hablar con el embajador por cosas que hacen ciudadanos argentinos”, remarcó.

Y arremetió: “Lamentablemente tengo que hacer una cuestión de privilegio, amparándome en el artículo 127, inciso 6, contra Palazzo. ¿Qué hizo el diputado? Envió una carta al embajador de Israel en la Argentina. ¿Qué le pidió en esta carta? Que interceda ante una decisión que un ciudadano argentino había tomado. ¿Por qué lo hizo? Porque esta persona, este ciudadano argentino del que estamos hablando, Eduardo Elsztain, es judío”.

Advertisement
La diputada por La Libertad Avanza, Sabrina Ajmechet, junto a su par Maximiliano FerraroManuel Cortina

“Yo le quiero preguntar al diputado si, en el caso de que otro ciudadano argentino tuviera abuelos italianos, ¿usted le hubiera escrito al embajador italiano? Si fuera otro ciudadano argentino, de fe católica, ¿usted le habría escrito al nuncio apostólico para que intercediera? Lo que usted hizo fue escribirle a un embajador de otro país sobre algo que hizo un ciudadano argentino. ¿Por qué hizo esto? Los judíos somos argentinos“, insistió a continuación.

Mientras Ajmechet exponía sus argumentos, desde la bancada que acompaña al también secretario general de la Asociación Bancaria respondían en su nombre. “No tiene nada que ver la religión con Israel”, gritó, desde su banca, el diputado Horacio Pietragalla.

Casi en simultáneo, una compañera de Ajmechet le constestó: “Callate vos. ¿Te crees que es una cancha esto?“.

Advertisement

Fue entonces que el titular de la Cámara baja, Martín Menem, intercedió para poner orden. “Por favor, diputado Pietragalla. Silencio. No importa lo que mezcle. Es cuestión de privilegio. Nadie opina”.

El diputado de Unión por la Patria, Sergio Palazzo, junto a los legisladores Gabriel Bonoroni y Germán MartínezHernán Zenteno

Tras ese comentario, la diputada volvió a tomar la palabra. “Hay que poner un freno. Es realmente grave lo que está pasando. Estamos hablando de un diputado nacional, que además es un representante sindical. Dijo que un judío no es argentino y le escribió a un embajador de otro país. Esto es normalizar una idea que no es nueva. Lamentablemente, extranjerizar a los judíos es una práctica que lleva demasiados siglos. Y cuando lo hace alguien que tiene altas responsabilidades institucionales, es mucho más grave. No podemos dejarlo pasar”, advirtió.

Y concluyó: “Esto es una locura, es un acto antisemita fuertísimo. Nadie que conozca un poquito la historia le va a sorprender esto. Nadie, señor diputado, nadie nos va a tratar de extranjeros en nuestro propio país”.

Advertisement
Eduardo Elsztain, presidente del Banco HipotecarioHernan Zenteno –

La explicación que había dado Palazzo

Días atrás, el 18 de junio último, el legislador opositor había hecho un descargo en la plataforma de Elon Musk sobre la misiva: “Con respecto a la nota enviada por la Asociación Bancaria a la Embajada de Israel, pidiendo su personal intervención como mediador ante la ola de despidos que se producen en el Banco Hipotecario, conducido por Eduardo Elsztain, quiero aclarar que nada tiene que ver una cuestión religiosa”.

El posteo de Sergio Palazzo sobre la nota enviada al embajador de Israel en la ArgentinaCaptura de Pantalla

“El mismo fue elevado en función de los importantes cargos que ha ocupado y ocupa el Sr. Elsztain, en una entidad mundial, que rige su vínculo con el Estado de Israel sobre la base de la responsabilidad mutua y destino compartido, es en ese sentido que se pidió su intervención”, sostuvo.

Advertisement

Y finalizó: “Si alguien ha interpretado que el pedido de mediación efectuado por la Asociación Bancaria tenía componentes religiosos y pudo sentirse ofendido, ofrezco mis más sinceras disculpas“.




Sabrina Ajmechet,Congreso Nacional,Cámara de Diputados,Conforme a,Congreso Nacional,,28 años tarde. A la espera de que la Argentina adhiera a un tratado clave,,Preocupación. HRW advierte por el proyecto sobre lobby que impulsa el Gobierno y pide “correcciones”,,Ganancias. Las claves del proyecto para modificar el régimen simplificado

Advertisement
Continue Reading

POLITICA

Pablo Salinas: “El escándalo de Adorni penetró muy profundamente y ya es un problema para todo el Gobierno”

Published

on


El politólogo Pablo Salinas sostuvo que la crisis que rodea al jefe de Gabinete dejó de ser un problema exclusivamente institucional para convertirse en una cuestión que afecta la percepción pública del Gobierno.

Durante una entrevista en Infobae a la Tarde, analizó la estrategia del PRO frente al oficialismo, la fragmentación del peronismo y las disputas que ya comienzan a perfilar el escenario electoral de 2027.

Advertisement

Para Salinas, uno de los datos más relevantes del caso es el nivel de penetración que alcanzó en la conversación cotidiana. “El escándalo de Adorni penetró muy profundamente. Cuando aparece en los grupos de WhatsApp, en los chats del consorcio, del colegio o entre amigos, con memes y chistes constantes, estamos frente a un problema serio”, afirmó.

Según el analista, el desgaste ya no impacta únicamente sobre la figura del jefe de Gabinete, sino sobre la administración en su conjunto. “Hoy la situación de Adorni es la de todo un Gobierno intentando salvar un fusible. Está todo dado vuelta”, describió.

En ese sentido, consideró que la crisis se prolongó más de lo conveniente para el oficialismo. “Hace más de 90 días que había que abrir la válvula. Lo de Adorni es bastante indefendible desde el comienzo y por eso el escándalo escaló de la manera en que lo hizo”, señaló.

Advertisement

La presión del PRO sobre el oficialismo

Salinas también analizó el papel que juega el PRO en el Congreso, donde el oficialismo necesita respaldo para sostener su agenda legislativa.

“Está de paritaria el PRO. Está viendo de qué manera consigue una mejor negociación”, resumió. A su entender, el partido liderado en Diputados por Cristian Ritondo busca aprovechar la necesidad que tiene La Libertad Avanza de contar con sus votos para fortalecer su posición de cara a futuras alianzas.

Advertisement

La tensión, explicó, surge de una contradicción política cada vez más difícil de administrar: diferenciarse del kirchnerismo sin quedar completamente subordinados al Gobierno. “El oficialismo vuelve a necesitar del PRO y eso le da margen para subir el precio de la negociación”, sostuvo.

Para Salinas, esa dinámica explica buena parte de los movimientos recientes dentro de la oposición dialoguista y anticipa nuevas discusiones en torno a la construcción de una alternativa de centroderecha para los próximos años.

El peronismo y las lógicas provinciales

Otro de los ejes de la conversación fue la situación del peronismo, que atraviesa una etapa de fuerte fragmentación y creciente peso de los liderazgos territoriales.

Advertisement

El politólogo sostuvo que el caso Adorni penetró en la conversación cotidiana y se convirtió en un problema político para todo el Gobierno (Infobae en Vivo)

“El peronismo es una gran confederación de partidos provinciales. Dependiendo de la provincia que se observe, aparece un peronismo distinto”, explicó.

Según su análisis, varios gobernadores y dirigentes territoriales priorizan estrategias propias por encima de una conducción nacional unificada. “Hay un montón de provincialismos que vienen del peronismo y que hacen lo que más les conviene según el contexto”, afirmó.

Esa lógica, agregó, dificulta la construcción de una oposición homogénea frente al Gobierno y abre la puerta a acuerdos circunstanciales según los intereses de cada distrito.

Advertisement

Las reglas electorales y la carrera hacia 2027

Con la mirada puesta en las próximas elecciones presidenciales, Salinas se refirió al proyecto impulsado por el Ejecutivo para modificar aspectos del sistema electoral.

“El Gobierno quiere cambiar bastante en profundidad las reglas del juego”, señaló. Entre los objetivos mencionó la eliminación de las PASO y la implementación de mecanismos que permitan ampliar las alianzas electorales con sectores provinciales.

Sin embargo, consideró improbable que el oficialismo consiga los votos necesarios para avanzar con una reforma de esa magnitud. “Las primarias podrán ser modificadas, pero no creo que sean eliminadas”, evaluó.

Advertisement

Axel Kicillof enfrenta en la provincia de Buenos Aires el dilema entre sostener al peronismo bonaerense y proyectarse como candidato presidencial

A partir de ese escenario, anticipó que muchos gobernadores buscarán despegar sus elecciones de la discusión nacional. “Quien quiera escapar del debate nacional va a desdoblar. Lo hará para proteger una reelección o para impulsar a un sucesor”, explicó.

La provincia de Buenos Aires aparece como uno de los principales focos de atención. Para Salinas, Axel Kicillof enfrenta un dilema político de gran magnitud: preservar la fortaleza electoral del peronismo bonaerense o consolidar su proyección nacional como uno de los posibles candidatos presidenciales del espacio.

En un contexto atravesado por tensiones internas, negociaciones permanentes y cambios en las reglas de competencia, el politólogo advirtió que la política argentina transita una etapa de fuerte incertidumbre. Y concluyó que, más allá de las disputas partidarias, el principal desafío para todas las fuerzas será construir una oferta electoral capaz de responder al creciente desencanto de la sociedad con la dirigencia.

Advertisement

Infobae te acompaña cada día en YouTube con entrevistas, análisis y la información más destacada, en un formato cercano y dinámico.

• De 7 a 9: Infobae al Amanecer: Nacho Giron, Luciana Rubinska y Belén Escobar.

Advertisement

• De 9 a 12: Infobae a las Nueve: Gonzalo Sánchez, Tatiana Schapiro, Ramón Indart y Cecilia Boufflet.

• De 12 a 15: Infobae al Mediodia: Maru Duffard, Andrei Serbin Pont, Jimena Grandinetti, Fede Mayol y Facundo Kablan.

• De 15 a 18: Infobae a la Tarde: Manu Jove, Maia Jastreblansky y Paula Guardia Bourdin; rotan en la semana Marcos Shaw, Lara López Calvo y Tomás Trapé

Advertisement

• De 18 a 21: Infobae al Regreso: Gonzalo Aziz, Diego Iglesias, Malena de los Ríos y Matías Barbería; rotan en la semana Gustavo Lazzari, Martín Tetaz y Mica Mendelevich

Seguinos en nuestro canal de YouTube @infobae.

pablo salinas

Advertisement
Continue Reading

POLITICA

Uno por uno, qué diputados votaron a favor del acuerdo con los fondos buitre y cuáles en contra

Published

on



Uno por uno, cómo votaron los diputados el acuerdo con los fondos buitre

Advertisement

Advertisement


${status}

`;
}

Advertisement

function createCard(item, borderColor) {
const card = document.createElement(«div»);
card.className = «vd2__card»;

const fotoWrap = document.createElement(«div»);
fotoWrap.className = «vd2__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-diputado»;
img.src = photoBase + (item.url_foto || «»);
img.addEventListener(«error», () => {
img.style.opacity = «0.35»;
}, {
once: true
});

Advertisement

fotoWrap.appendChild(img);

const nombre = document.createElement(«p»);
nombre.className = «vd2__nombre»;
nombre.textContent = String(item.nombres || «»).toLowerCase();

const apellido = document.createElement(«p»);
apellido.className = «vd2__apellido»;
apellido.textContent = String(item.apellido || «»).toLowerCase();

Advertisement

const bloque = document.createElement(«span»);
bloque.className = «vd2__bloque»;
bloque.textContent = String(item.bloque || «»);

card.appendChild(fotoWrap);
card.appendChild(nombre);
card.appendChild(apellido);
card.appendChild(bloque);

return card;
}

Advertisement

function seatClass(kind) {
if (kind === «AFIRMATIVO») return «vd2__seat–afirmativo»;
if (kind === «NEGATIVO») return «vd2__seat–negativo»;
if (kind === «ABSTENCIÓN») return «vd2__seat–abstencion»;
if (kind === «AUSENTE») return «vd2__seat–ausente»;
return «vd2__seat–empty»;
}

function hemicicloParams(which) {
// Basado en la distribución original para Diputados (257)
const seatsPerRow = [38, 36, 33, 30, 27, 24, 21, 19, 16, 13]; // suma 257
if (which === «big») {
return {
centerX: 300,
baseY: 450,
rows: 10,
seatsPerRow,
verticalOffset: 2,
radiusStart: 300,
radiusStep: 30
};
}
return {
centerX: 300,
baseY: 450,
rows: 10,
seatsPerRow,
verticalOffset: 2,
radiusStart: 170,
radiusStep: 16
};
}

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
};

Advertisement

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);

Advertisement

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];

Advertisement

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);

Advertisement

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 = «vd2__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;

Advertisement

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);
});

Advertisement

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
};

Advertisement

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));

Advertisement

// 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);
});
}

Advertisement

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 = `

Advertisement

Error: falta data-csv-url

`;
return;
}

try {
const Papa = await ensurePapa();

Advertisement

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
};

Advertisement

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]);
});

Advertisement

// hemiciclo + summary
renderHemiciclo(«big», counts);
renderHemiciclo(«small», counts);
renderSummary(counts);

// filtros + ui
populateFilters(data);
wireUI(data);

setLoaded(true);

Advertisement

// 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)}

Advertisement

`;
}
}
}

init();
})();

Advertisement
Continue Reading

Tendencias