From 5cd22c25906d20a899e7f9953c70b54b41138ce6 Mon Sep 17 00:00:00 2001 From: Scobiform Date: Sun, 20 Oct 2024 07:54:32 +0200 Subject: [PATCH] working federal electoral district data #74 --- src/components/Map/DynamicMap.js | 9 ++++++--- src/pages/api/download.js | 14 ++++++++------ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/components/Map/DynamicMap.js b/src/components/Map/DynamicMap.js index 082d982..1bc680d 100644 --- a/src/components/Map/DynamicMap.js +++ b/src/components/Map/DynamicMap.js @@ -141,6 +141,9 @@ const DynamicMap = ({ polygons = [], // parentNr electoralDistrict = properties.parentNr; break; + case 'bundestag': + electoralDistrict = properties.WKR_NR; + break; default: console.warn(`State '${state}' not recognized.`); electoralDistrict = null; // Fallback in case of an unrecognized state @@ -217,7 +220,8 @@ const DynamicMap = ({ polygons = [], berlin: electIT, brandenburg: electIT, hessen: rlphessen, - rlp: rlphessen + rlp: rlphessen, + bundestag: electIT, }; const handler = stateHandlers[state] || ((feature, layer) => { @@ -230,7 +234,6 @@ const DynamicMap = ({ polygons = [], handler(feature, layer, state); }; - return ( <> {/* Conditionally render LoadingSpinner */} @@ -298,7 +301,7 @@ const DynamicMap = ({ polygons = [], {selectedMap === 'bundestag' && ( ({ color: 'green', weight: 1, fillColor: 'green', fillOpacity: 0.1 })} - onEachFeature={onEachFeature} + onEachFeature={(feature, layer) => onEachFeature(feature, layer, 'bundestag')} /> )} diff --git a/src/pages/api/download.js b/src/pages/api/download.js index afca2ce..328a83a 100644 --- a/src/pages/api/download.js +++ b/src/pages/api/download.js @@ -171,10 +171,6 @@ async function scrapeVoterTurnoutChart(page) { } } - - - - export default async function handler(req, res) { let browser; const { electoralDistrict, state } = req.query; @@ -212,7 +208,13 @@ export default async function handler(req, res) { break; case 'brandenburg': await page.goto(`https://wahlergebnisse.brandenburg.de/12/500/20240922/landtagswahl_land/ergebnisse_wahlkreis_${electoralDistrict}.html`, { waitUntil: 'domcontentloaded' }); - break; + break; + case 'bundestag': + console.log('Scraping data for Bundestag'); + let url = `https://www.bundeswahlleiter.de/bundestagswahlen/2021/ergebnisse/bund-99/land-12/wahlkreis-${electoralDistrict}.html`; + console.log(url); + await page.goto(url, { waitUntil: 'domcontentloaded' }); + break; } // Wait for the table to appear @@ -250,7 +252,7 @@ export default async function handler(req, res) { // Scrape all SVG elements let svgData = null; - if(state !== 'berlin') { + if(state !== 'berlin' || state !== 'bundestag') { svgData = await scrapeAllSVGs(page); }