diff --git a/src/data.ts b/src/data.ts index 848b87b..ff889bd 100644 --- a/src/data.ts +++ b/src/data.ts @@ -48,6 +48,13 @@ export const committees: Committee[] = [ threshold: 5, pastSupportEquivalence: [['konfederacja', 1]], }, + { + id: 'pl2050', + name: 'Polska 2050', + shortName: 'PL2050', + threshold: 5, + pastSupportEquivalence: [['psl', 0.24], ['lewica', 0.23], ['konfederacja', 0.17], ['ko', 0.15], ['pis', 0.03]], + }, { id: 'mn', name: 'Mniejszość Niemiecka', diff --git a/src/index.ts b/src/index.ts index 92c5ac9..9b78317 100644 --- a/src/index.ts +++ b/src/index.ts @@ -59,10 +59,13 @@ const handleCalculateButtonClick = (event: Event) => { if (td) td.textContent = value.toString(); }); - const sortedSupport = committees.slice(0, -1).map((c, i) => ({ - label: c.shortName, - support: {value: support[i], className: c.id}, - })).sort((a, b) => b.support.value - a.support.value); + const sortedSupport = committees + .map((c, i) => ({ + label: c.shortName, + support: {value: support[i], className: c.id}, + })) + .filter((s) => s.support.value && s.support.value > 0) + .sort((a, b) => b.support.value - a.support.value); const barChartData = { labels: sortedSupport.map((ss) => ss.label), series: sortedSupport.map((ss) => ss.support), @@ -79,10 +82,13 @@ const handleCalculateButtonClick = (event: Event) => { } }); - const sortedMandates = committees.map((c, i) => ({ - label: c.shortName, - mandates: {value: mandates[i], className: c.id}, - })).sort((a, b) => b.mandates.value - a.mandates.value); + const sortedMandates = committees + .map((c, i) => ({ + label: c.shortName, + mandates: {value: mandates[i], className: c.id}, + })) + .filter((m) => m.mandates.value && m.mandates.value > 0) + .sort((a, b) => b.mandates.value - a.mandates.value); const pieChartData = { series: sortedMandates.map((sm) => sm.mandates), }; diff --git a/src/styles/styles.css b/src/styles/styles.css index d7e57ef..0acb2f0 100644 --- a/src/styles/styles.css +++ b/src/styles/styles.css @@ -16,12 +16,23 @@ body { background-color: white; } +.updates { + margin-top: -10px; + list-style-type: none; +} + h1 { font-size: 1.75rem; } -p { +p, +li { text-align: justify; + line-height: 1.4; +} + +.updates li { + margin: 2px 0; } .charts-row { @@ -138,11 +149,11 @@ h2 { } .pis { - stroke: #56e; + stroke: #263778; } .ko { - stroke: #eb4; + stroke: #fca43f; } .lewica { @@ -150,13 +161,17 @@ h2 { } .psl { - stroke: #1c6; + stroke: #2ed397; } .konfederacja { stroke: #655; } +.pl2050 { + stroke: #f9c013; +} + .mn { stroke: #aaa; } diff --git a/src/templates/content.pug b/src/templates/content.pug index 3abf32d..60b6946 100644 --- a/src/templates/content.pug +++ b/src/templates/content.pug @@ -8,9 +8,16 @@ p. wtedy poparcie wyższe/niższe niż w całym kraju, również w tej symulacji będzie miało w tym okręgu odpowiednio wyższe/niższe poparcie. Pozwala to na sporządzenie szczegółowej prognozy podziału mandatów na poziomie poszczególnych okręgów. -p. - Aktualizacja 2019-11-15: od teraz w prognozie brane są pod uwagę wyniki wyborów do Sejmu z - 2019 roku. +p Aktualizacje: +ol.updates + li. + 2019-11-15: od teraz w prognozie brane są pod uwagę wyniki wyborów do Sejmu z 2019 roku. + li. + 2020-10-28: dodano ugrupowanie Polska 2050; jego prognozowane poparcie w okręgach jest + liczone na podstawie deklaracji wyborców Szymona Hołowni przedstawionych w artykule + #[a(href='https://biqdata.wyborcza.pl/biqdata/7,159116,26083709,analiza-przeplywow-wyborcow-za-duda-tylko-pis-lewicowcy-nie.html') #[i Analiza przepływów wyborców]] z 29 czerwca 2020 roku. + + form#support-form button#calculate-button Oblicz