Connect with us

POLITICA

Le cortaron la luz por falta de pago a una dependencia del Ejército en Neuquén: se comprometieron a regularizar la deuda

Published

on



La cooperativa que provee el suministro eléctrico en la ciudad de Neuquén le cortó la luz a la Brigada de Montaña VI del Ejército Argentino por una deuda millonaria y el organismo oficial prometió regularizar los pagos.

La decisión que tomó la Cooperativa Provincial de Servicios Públicos y Comunitarios de Neuquén Limitada (CALF) el lunes pasado tuvo efectos suspensivos a partir de un compromiso de pago de la institución, que depende del Ministerio de Defensa de la Nación.

Advertisement

La deuda que contrajo el organismo público ronda los $65 millones por falta de pago durante tres meses. El Ejército Argentino concentra más de 13 bocas de suministro con CALF y en la mayoría registra deuda, lo que provocó el crecimiento de la mora.

Sin embargo, la cooperativa neuquina decidió interrumpir el suministro solo en una de esas dependencias públicas. La medida fue postergada luego de un compromiso de pago del Ministerio de Defensa, aunque aún no se efectuaron pagos para reducir el pasivo.

El corte del servicio, que se produjo el lunes pasado y se mantuvo durante pocas horas, se concretó luego de varios avisos de deuda e intimaciones que fueron ignoradas por el organismo nacional.

Advertisement

Tanto fuentes del organismo neuquino como del Ministerio de Defensa informaron que el conflicto está “en vías de solución”.

En la capital de la provincia petrolera existen otros organismos nacionales que mantienen deuda con el proveedor del servicio eléctrico, aunque por montos menores y no tan prolongados.

La deuda que registra el Ejército tuvo efecto acumulativo por falta de pago en diez de las trece bocas que el organismo tiene habilitadas ante el mismo proveedor.

Advertisement

Desde CALF informaron que el procedimiento no tuvo carácter excepcional y que la interrupción del servicio responde a “la falta de pago acumulada en varias bocas del mismo usuario y la falta de respuesta a las múltiples intimaciones que fueron enviadas”.

La medida afectó una de las instalaciones de la institución castrense donde funciona la Brigada de Montaña VI, una de las sedes con mayor actividad en la capital neuquina, donde se desarrollan tareas de entrenamiento.

Fuentes del organismo nacional indicaron que el conflicto surgió por “diferencias administrativas”, debido a que la fuerza solo maneja efectivo para sus gastos corrientes, mientras que la cooperativa no acepta ese medio de pago para cancelar el servicio.

Advertisement

Durante años, el Ejército canceló sus obligaciones a través de un esquema de créditos, a partir de un acuerdo con las autoridades de CALF, aunque el mecanismo dejó de funcionar y afectó el nivel de tolerancia del proveedor del servicio eléctrico.

La sede que sufrió la interrupción del servicio es la que más deuda acumula, con un pasivo aproximado de $45 millones, mientras que la segunda en nivel de morosidad registra facturas impagas por más de $16 millones.

Fuentes de la cooperativa neuquina confirmaron que el servicio podría ser interrumpido nuevamente si el organismo nacional no regulariza la situación.

Advertisement
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