MUNICIPALES – 2nd TOUR
Arrondissements de Paris
%
Dépouillement encore en cours
Dernière mise à jour à
Inscrits :
Abstention : %
Blancs et nuls : %
Sièges à pourvoir :
Abstention : ${(processedMentions.abstention_percent / 100).toLocaleString(locale, { minimumFractionDigits: 1, maximumFractionDigits: 1, style: « percent » })}
Blancs et nuls : ${(processedMentions.blancs_nuls_percent / 100).toLocaleString(locale, { minimumFractionDigits: 1, maximumFractionDigits: 1, style: « percent » })}
Sièges à pourvoir : ${processedMentions.sieges_a_pourvoir.toLocaleString(locale)}
`;
if (parentElement.querySelector(« .municipalesResults__countingProgress »)) {
parentElement.querySelector(« .municipalesResults__countingProgress »).style.display = processedMentions.pourcentage_completion < 100 ? null : « none »;
parentElement.querySelector(« .municipalesResults__countingProgress__circle »).textContent = `${processedMentions.pourcentage_completion.toLocaleString(locale, { minimumFractionDigits: 0, maximumFractionDigits: 0 })}%`;
parentElement.querySelector(« .municipalesResults__countingProgress__circleCompletion »).style.setProperty(« –completion », `${processedMentions.pourcentage_completion}%`);
updatedAt = new Date(updatedAt);
const timeFormat = language == « fr » ? `${updatedAt.getHours()} h ${updatedAt.getMinutes()<10 ? « 0 » : « »}${updatedAt.getMinutes()}` : `${updatedAt.getHours()}:${updatedAt.getMinutes()<10 ? « 0 » : « »}${updatedAt.getMinutes()}`;
parentElement.querySelector(« .municipalesResults__countingProgress__lastUpdate »).textContent = `Dernière mise à jour à ${timeFormat}`;
}
let hasMajoriteAbsolue = sortedListes.some(liste => (liste.voix / processedMentions.mentions.exprimes) > 0.5);
const listItemsHtml = sortedListes.map((liste, index_liste) => {
const percent = liste.voix / processedMentions.mentions.exprimes * 100;
const nuanceData = nuances ? nuances[liste.nuance] : null;
const color = nuanceData ? nuanceData.couleur : « #7f7f7f »;
const darkColor = nuanceData ? nuanceData.couleur_dark : « #7f7f7f »;
const daltColor = nuanceData ? nuanceData.couleur_dalt : « #7f7f7f »;
const nuanceShortLabel = nuanceData // Prefer nuance short label from nuances data if available, otherwise fallback to liste.nuance
? language == « fr » ? nuanceData.nom_court : (nuanceData.nom_court_en || nuanceData.nom_court) // if language is French, use nom_court, otherwise try nom_court_en and fallback to nom_court
: liste.nuance; // Fallback to « » if neither nuances data nor liste.nuance is available
const nuanceCandidat = nuancesCandidats ? nuancesCandidats[liste.nuance_lemonde] : null;
let nuanceCandidatLabel = null;
if (nuanceCandidat && liste.nuance_lemonde != liste.nuance) {
if (isMobile) {
if (language == « fr ») {
nuanceCandidatLabel = nuanceCandidat.nom_court
} else {
nuanceCandidatLabel = nuanceCandidat.nom_court_en || nuanceCandidat.nom_court
}
}
else {
if (language == « fr ») {
nuanceCandidatLabel = nuanceCandidat.nom_long
} else {
nuanceCandidatLabel = nuanceCandidat.nom_long_en || nuanceCandidat.nom_long
}
}
}
let badgesHtml = « »;
const badges = [];
if (liste.elus && liste.elus > 0) {
badges.push({
label: `${liste.elus} ${liste.elus > 1 ? ‘sièges’ : ‘siège’}`,
type: « bold »,
color: color,
darkColor: darkColor,
daltColor: daltColor
});
}
if (liste.qualifie) {
badges.push({
label: ‘Liste qualifiée’,
type: « terciary »,
color: color,
darkColor: darkColor,
daltColor: daltColor
});
}
if (percent > 50 && parseInt(tour) === 1) {
badges.push({
label: ‘Majorité absolue’,
color: color,
darkColor: darkColor,
daltColor: daltColor,
type: « terciary »
});
} else if (parseInt(tour) === 2 && index_liste === 0 && !hasMajoriteAbsolue) {
badges.push({
label: ‘Prime majoritaire’,
type: « terciary »,
color: color,
darkColor: darkColor,
daltColor: daltColor
});
}
// Render badges
if (badges.length > 0) {
badgesHtml = ``;
badgesHtml += badges.map(badge => `
${badge.label}
`).join(« »);
badgesHtml += ``;
}
let percent_formatted = (percent / 100).toLocaleString(locale, { minimumFractionDigits: 1, maximumFractionDigits: 1, style: « percent » });
if (percent < 10 && percent > 9.95) {
percent_formatted = (9.99 / 100).toLocaleString(locale, { minimumFractionDigits: 2, maximumFractionDigits: 2, style: « percent » });
}
return `
${liste.tete.prenom} ${liste.tete.nom} ${nuanceCandidatLabel ? `(${nuanceCandidatLabel})` : »}
${badgesHtml}
${nuanceShortLabel ? `${nuanceShortLabel} – ` : »}${liste.lib}
${liste.voix.toLocaleString(locale)} voix
`;
}).join(« »);
parentElement.querySelector(« .municipalesResults__bars »).innerHTML = listItemsHtml;
}
window[`renderNoResults${id}`] = function (parentElement) {
parentElement.querySelector(« .municipalesResults__mentions »).innerHTML = `
Les résultats ne sont pas encore disponibles.
`;
parentElement.querySelector(« .municipalesResults__bars »).innerHTML = « »;
}











