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}

    ${percent_formatted}

    ${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 = «  »;
    }

    Share.
    Exit mobile version