Ajout de la possibilité de simuler le retrait de la barre de 5 %

This commit is contained in:
Emmy D'Anello 2024-06-09 16:17:59 +02:00
parent f413c8c130
commit eed4dc18fb
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85

View File

@ -112,6 +112,7 @@ export default function Election2024({typeResultats = "france"}) {
const {zoneId} = useParams()
const [grouperParBloc, setGrouperParBloc] = useState(false)
const [retirerSeuil, setRetirerSeuil] = useState(false)
const [blocs, setBlocs] = useState([])
const [nuances, setNuances] = useState([])
const [listes, setListes] = useState([])
@ -189,7 +190,7 @@ export default function Election2024({typeResultats = "france"}) {
let totalVoix = resultats.exprimes
for (let liste of listes) {
const voix = resultats.voix_listes[liste.numero] || 0
if (voix / resultats.exprimes < 0.05) {
if (voix / resultats.exprimes < 0.05 && !retirerSeuil) {
// Barre des 5 % non franchie
totalVoix -= voix
sieges[liste.numero] = 0
@ -227,7 +228,7 @@ export default function Election2024({typeResultats = "france"}) {
}
setSiegesParListe(sieges)
}, [resultats])
}, [resultats, retirerSeuil])
useEffect(() => {
const parBloc = {}
@ -314,6 +315,10 @@ export default function Election2024({typeResultats = "france"}) {
<FormControlLabel control={<Switch checked={grouperParBloc} onChange={event => setGrouperParBloc(event.target.checked)} inputProps={{ 'aria-label': 'controlled' }} />}
label="Grouper par bloc plutôt que nuance politique" />
</FormGroup>
<FormGroup>
<FormControlLabel control={<Switch checked={retirerSeuil} onChange={event => setRetirerSeuil(event.target.checked)} inputProps={{ 'aria-label': 'controlled' }} />}
label="Retirer le seuil des 5 %" />
</FormGroup>
<HighchartsReact
id="composition-eurodeputees"
highcharts={Highcharts}