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
1 changed files with 7 additions and 2 deletions

View File

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