From 6021047519321618b450b858bebd62b7c79d0a41 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Fri, 18 Feb 2022 19:06:41 +0000
Subject: [PATCH 01/13] gitignore .env
---
.env => .env.example | 0
.gitignore | 2 ++
2 files changed, 2 insertions(+)
rename .env => .env.example (100%)
diff --git a/.env b/.env.example
similarity index 100%
rename from .env
rename to .env.example
diff --git a/.gitignore b/.gitignore
index 1437c53..e5c66cf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,3 +32,5 @@ yarn-error.log*
# vercel
.vercel
+
+.env
From a754f984239b2105869255d1050f70d9709e464e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Fri, 18 Feb 2022 19:13:55 +0000
Subject: [PATCH 02/13] feat: simplify cities incidence parsers
---
utils/parse.js | 21 +++------------------
1 file changed, 3 insertions(+), 18 deletions(-)
diff --git a/utils/parse.js b/utils/parse.js
index 7e28287..bf3cecf 100644
--- a/utils/parse.js
+++ b/utils/parse.js
@@ -44,41 +44,26 @@ export function parseAgeCategory(result) {
}
export function parseSmallCitiesIncidentsTable(result) {
- const { small_cities_incidence } = result.currentDayStats
const {
detailedIncidenceStats: { lastUpdatedOn, stale },
} = result.charts
- const data = small_cities_incidence.map((city) => ({
- judet: city['Județ'],
- localitate: city['Localitate'],
- populatie: parseInt(city['Populație']),
- cazuri: parseInt(city['Cazuri']),
- incidenta: parseFloat(city['Incidența']),
- }))
return {
error: null,
- data,
+ data: result.currentDayStats.small_cities_incidence,
lastUpdatedOn,
stale,
}
}
export function parseLargeCitiesIncidentsTable(result) {
- const { large_cities_incidence } = result.currentDayStats
const {
detailedIncidenceStats: { lastUpdatedOn, stale },
} = result.charts
- const data = large_cities_incidence.map((city) => ({
- judet: city['Județ'],
- localitate: city['Localitate'],
- populatie: parseInt(city['Populație']),
- cazuri: parseInt(city['Cazuri']),
- incidenta: parseFloat(city['Incidență']),
- }))
+
return {
error: null,
- data,
+ data: result.currentDayStats.large_cities_incidence,
lastUpdatedOn,
stale,
}
From a72bdc5facab133e7e936728d1e93f7b35d6c57e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Fri, 18 Feb 2022 19:39:11 +0000
Subject: [PATCH 03/13] feat: remove complete property
---
utils/parse.js | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/utils/parse.js b/utils/parse.js
index bf3cecf..56dd5b5 100644
--- a/utils/parse.js
+++ b/utils/parse.js
@@ -193,9 +193,7 @@ export function parseDailyStats(result, options) {
[currentDayStats.parsedOnString]: currentDayStats,
...historicalData,
}
- const dataEntries = Object.entries(newData)
- .filter(([, value]) => value.complete)
- .reverse()
+ const dataEntries = Object.entries(newData).reverse()
for (let i = 0; i <= dataEntries.length - 1; i++) {
const numberInfected = dataEntries[i][1].numberInfected
From 9f309ca5dddeeba8042a48bd3483eeb444677e57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Fri, 18 Feb 2022 20:03:18 +0000
Subject: [PATCH 04/13] feat: update parseAgeCategory
---
utils/parse.js | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/utils/parse.js b/utils/parse.js
index 56dd5b5..03668b5 100644
--- a/utils/parse.js
+++ b/utils/parse.js
@@ -8,32 +8,31 @@ export function parseAgeCategory(result) {
} = result.charts
const ageCategories = {}
const dateStrings = []
- const newData = {
- [currentDayStats.parsedOnString]: currentDayStats,
- ...historicalData,
- }
- const dataEntries = Object.entries(newData)
- .filter(([key]) => key <= lastUpdatedOn)
+ const dataEntries = [currentDayStats, ...historicalData]
+ .filter((entry) => entry.parsedOnString <= lastUpdatedOn)
.reverse()
- for (let i = 0; i < dataEntries.length - 1; i++) {
- const key = dataEntries[i + 1][0]
- const currentValue = dataEntries[i][1]
- const nextValue = dataEntries[i + 1][1]
- dateStrings.push(formatDate(key))
+ dataEntries.forEach((entry, index) => {
+ if (index + 1 >= dataEntries.length) {
+ return
+ }
+
+ const nextEntry = dataEntries[index + 1]
- Object.entries(currentValue.distributionByAge)
- .filter(([ageGroup]) => ageGroup !== 'în procesare')
+ dateStrings.push(formatDate(entry.parsedOnString))
+
+ Object.entries(entry.distributionByAge)
+ .filter(([ageGroup]) => ageGroup !== 'processing')
.forEach(([ageGroup, currentCases]) => {
- const cases = nextValue.distributionByAge[ageGroup] - currentCases
+ const cases = nextEntry.distributionByAge[ageGroup] - currentCases
if (Array.isArray(ageCategories[ageGroup])) {
ageCategories[ageGroup].push(cases)
} else {
ageCategories[ageGroup] = [cases]
}
})
- }
+ })
return {
lastUpdatedOn,
From 872f2ab9ef5e4a7d2f159e280524063477ec59ef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Mon, 21 Feb 2022 15:40:40 +0000
Subject: [PATCH 05/13] fix vaccines per day
---
.../vaccines-per-day-card.jsx | 2 +-
utils/parse.js | 195 +++++++++---------
2 files changed, 99 insertions(+), 98 deletions(-)
diff --git a/components/cards/vaccines-per-day-card/vaccines-per-day-card.jsx b/components/cards/vaccines-per-day-card/vaccines-per-day-card.jsx
index 92bfbb6..fd0a515 100644
--- a/components/cards/vaccines-per-day-card/vaccines-per-day-card.jsx
+++ b/components/cards/vaccines-per-day-card/vaccines-per-day-card.jsx
@@ -193,7 +193,7 @@ export class VaccinesPerDayCard extends React.PureComponent {
Datele despre vaccin din 9 iulie se regăsesc în
- setul de date din 10 iulie.
+ setul de date din 10 iulie.
)
diff --git a/utils/parse.js b/utils/parse.js
index 03668b5..3435c7d 100644
--- a/utils/parse.js
+++ b/utils/parse.js
@@ -93,13 +93,8 @@ export function parseCountiesTable(result) {
export function parseSummary(result) {
try {
- const {
- numberInfected,
- numberCured,
- numberDeceased,
- numberTotalDosesAdministered,
- vaccines,
- } = result.currentDayStats
+ const { infected, cured, deceased, totalDosesAdministered, vaccines } =
+ result.currentDayStats
const {
dailyStats: { stale: dailyStale, lastUpdatedOn: dailyLastUpdate },
vaccineQuickStats: {
@@ -121,10 +116,10 @@ export function parseSummary(result) {
Object.entries(historicalData)
.reverse()
.forEach(([, entry]) => {
- totalCasesHistory.push(entry.numberInfected || 0)
- curedCasesHistory.push(entry.numberCured || 0)
- deathCasesHistory.push(entry.numberDeceased || 0)
- dosesAdministeredHistory.push(entry.numberTotalDosesAdministered || 0)
+ totalCasesHistory.push(entry.infected || 0)
+ curedCasesHistory.push(entry.cured || 0)
+ deathCasesHistory.push(entry.deceased || 0)
+ dosesAdministeredHistory.push(entry.totalDosesAdministered || 0)
immunityHistory.push(
entry.vaccines?.pfizer.immunized +
entry.vaccines?.pfizer_pediatric.immunized +
@@ -134,14 +129,14 @@ export function parseSummary(result) {
)
})
- totalCasesHistory.push(numberInfected)
- curedCasesHistory.push(numberCured)
- deathCasesHistory.push(numberDeceased)
+ totalCasesHistory.push(infected)
+ curedCasesHistory.push(cured)
+ deathCasesHistory.push(deceased)
if (!imunizationStale) {
- dosesAdministeredHistory.push(numberTotalDosesAdministered)
+ dosesAdministeredHistory.push(totalDosesAdministered)
immunityHistory.push(
vaccines?.pfizer.immunized +
- vaccines?.pfizer_pediatric.immunized +
+ vaccines?.pfizer_pediatric.immunized +
vaccines?.moderna.immunized +
vaccines?.astra_zeneca.immunized +
vaccines?.johnson_and_johnson.immunized || 0
@@ -151,13 +146,13 @@ export function parseSummary(result) {
const totalImmunity = immunityHistory.reduce((a, b) => a + b, 0)
return {
- totalCases: numberInfected,
+ totalCases: infected,
totalCasesHistory,
- curedCases: numberCured,
+ curedCases: cured,
curedCasesHistory,
- deathCases: numberDeceased,
+ deathCases: deceased,
deathCasesHistory,
- totalDosesAdministered: numberTotalDosesAdministered,
+ totalDosesAdministered,
dosesAdministeredHistory,
totalImmunity,
immunityHistory,
@@ -195,34 +190,32 @@ export function parseDailyStats(result, options) {
const dataEntries = Object.entries(newData).reverse()
for (let i = 0; i <= dataEntries.length - 1; i++) {
- const numberInfected = dataEntries[i][1].numberInfected
- const nextNumberInfected = dataEntries[i + 1]?.[1].numberInfected
- const prevNumberInfected = dataEntries[i - 1]?.[1].numberInfected
- const numberInfectedByDay = !isNaN(nextNumberInfected)
- ? nextNumberInfected - numberInfected
- : numberInfected - prevNumberInfected
-
- confirmedCasesHistory.push(
- cumulative ? numberInfected : numberInfectedByDay
- )
+ const infected = dataEntries[i][1].infected
+ const nextNumberInfected = dataEntries[i + 1]?.[1].infected
+ const prevNumberInfected = dataEntries[i - 1]?.[1].infected
+ const infectedByDay = !isNaN(nextNumberInfected)
+ ? nextNumberInfected - infected
+ : infected - prevNumberInfected
- const numberCured = dataEntries[i][1].numberCured
- const nextNumberCured = dataEntries[i + 1]?.[1]?.numberCured
- const prevNumberCured = dataEntries[i - 1]?.[1]?.numberCured
- const numberCuredByDay = !isNaN(nextNumberCured)
- ? nextNumberCured - numberCured
- : numberCured - prevNumberCured
+ confirmedCasesHistory.push(cumulative ? infected : infectedByDay)
- curedCasesHistory.push(cumulative ? numberCured : numberCuredByDay)
+ const cured = dataEntries[i][1].cured
+ const nextNumberCured = dataEntries[i + 1]?.[1]?.cured
+ const prevNumberCured = dataEntries[i - 1]?.[1]?.cured
+ const curedByDay = !isNaN(nextNumberCured)
+ ? nextNumberCured - cured
+ : cured - prevNumberCured
- const numberDeceased = dataEntries[i][1].numberDeceased
- const nextNumberDeceased = dataEntries[i + 1]?.[1]?.numberDeceased
- const prevNumberDeceased = dataEntries[i - 1]?.[1]?.numberDeceased
- const numberDeceasedByDay = !isNaN(nextNumberDeceased)
- ? nextNumberDeceased - numberDeceased
- : numberDeceased - prevNumberDeceased
+ curedCasesHistory.push(cumulative ? cured : curedByDay)
- deathCasesHistory.push(cumulative ? numberDeceased : numberDeceasedByDay)
+ const deceased = dataEntries[i][1].deceased
+ const nextNumberDeceased = dataEntries[i + 1]?.[1]?.deceased
+ const prevNumberDeceased = dataEntries[i - 1]?.[1]?.deceased
+ const deceasedByDay = !isNaN(nextNumberDeceased)
+ ? nextNumberDeceased - deceased
+ : deceased - prevNumberDeceased
+
+ deathCasesHistory.push(cumulative ? deceased : deceasedByDay)
dateStrings.push(formatDate(dataEntries[i][0]))
}
@@ -258,68 +251,76 @@ export function parseVaccinesHistory(result, options) {
},
} = result.charts
const dateStrings = []
- const pfizerRecords = []
- const pfizerPediatricRecords = []
- const modernaRecords = []
- const astraZenecaRecords = []
- const johnsonAndJohnsonRecords = []
-
- const newData = vaccineDetailedStale
- ? historicalData
- : {
- [currentDayStats.parsedOnString]: currentDayStats,
- ...historicalData,
+ const pfizer = []
+ const pfizerPediatric = []
+ const moderna = []
+ const astraZeneca = []
+ const johnsonAndJohnson = []
+
+ const newData = (
+ vaccineDetailedStale
+ ? historicalData
+ : [currentDayStats, ...historicalData]
+ ).reverse()
+
+ if (cumulative) {
+ newData.forEach((entry) => {
+ if (!entry.vaccines) {
+ return
}
- Object.entries(newData)
- .reverse()
- .forEach(([date, entry]) => {
- if (entry.vaccines) {
- const { pfizer, pfizer_pediatric, moderna, astra_zeneca, johnson_and_johnson } =
- entry.vaccines
- pfizerRecords.push(
- cumulative
- ? (pfizerRecords[dateStrings.length - 1] || 0) +
- pfizer.total_administered
- : pfizer.total_administered || 0
- )
- pfizerPediatricRecords.push(
- cumulative
- ? (pfizerPediatricRecords[dateStrings.length - 1] || 0) +
- pfizer_pediatric.total_administered
- : pfizer_pediatric.total_administered || 0
- )
- modernaRecords.push(
- cumulative
- ? (modernaRecords[dateStrings.length - 1] || 0) +
- moderna.total_administered
- : moderna.total_administered || 0
- )
- astraZenecaRecords.push(
- cumulative
- ? (astraZenecaRecords[dateStrings.length - 1] || 0) +
- astra_zeneca.total_administered
- : astra_zeneca.total_administered || 0
- )
- johnsonAndJohnsonRecords.push(
- cumulative
- ? (johnsonAndJohnsonRecords[dateStrings.length - 1] || 0) +
- johnson_and_johnson.total_administered
- : johnson_and_johnson.total_administered || 0
- )
- dateStrings.push(formatDate(date))
+ pfizer.push(
+ (pfizer[dateStrings.length - 1] || 0) +
+ entry.vaccines.pfizer.total_administered
+ )
+ pfizerPediatric.push(
+ (pfizerPediatric[dateStrings.length - 1] || 0) +
+ entry.vaccines.pfizer_pediatric.total_administered
+ )
+ moderna.push(
+ (moderna[dateStrings.length - 1] || 0) +
+ entry.vaccines.moderna.total_administered
+ )
+ astraZeneca.push(
+ (astraZeneca[dateStrings.length - 1] || 0) +
+ entry.vaccines.astra_zeneca.total_administered
+ )
+ johnsonAndJohnson.push(
+ (johnsonAndJohnson[dateStrings.length - 1] || 0) +
+ entry.vaccines.johnson_and_johnson.total_administered
+ )
+
+ dateStrings.push(formatDate(entry.parsedOnString))
+ })
+ } else {
+ newData.forEach((entry) => {
+ if (!entry.vaccines) {
+ return
}
+
+ pfizer.push(entry.vaccines.pfizer.total_administered || 0)
+ pfizerPediatric.push(
+ entry.vaccines.pfizer_pediatric.total_administered || 0
+ )
+ moderna.push(entry.vaccines.moderna.total_administered || 0)
+ astraZeneca.push(entry.vaccines.astra_zeneca.total_administered || 0)
+ johnsonAndJohnson.push(
+ entry.vaccines.johnson_and_johnson.total_administered || 0
+ )
+
+ dateStrings.push(formatDate(entry.parsedOnString))
})
+ }
return {
isStale: vaccineDetailedStale,
lastUpdatedOn: vaccineDetailedLastUpdate,
dates: dateStrings,
- pfizer: pfizerRecords,
- pfizerPediatric: pfizerPediatricRecords,
- moderna: modernaRecords,
- astraZeneca: astraZenecaRecords,
- johnsonAndJohnson: johnsonAndJohnsonRecords,
+ pfizer,
+ pfizerPediatric,
+ moderna,
+ astraZeneca,
+ johnsonAndJohnson,
}
} catch (error) {
console.error(error)
From efffef82ff923bc3a40ad98150688cc0c6c727ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Mon, 21 Feb 2022 15:47:33 +0000
Subject: [PATCH 06/13] fix cases per day
---
utils/parse.js | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/utils/parse.js b/utils/parse.js
index 3435c7d..4530b9e 100644
--- a/utils/parse.js
+++ b/utils/parse.js
@@ -183,42 +183,42 @@ export function parseDailyStats(result, options) {
const curedCasesHistory = []
const deathCasesHistory = []
const dateStrings = []
- const newData = {
- [currentDayStats.parsedOnString]: currentDayStats,
- ...historicalData,
- }
- const dataEntries = Object.entries(newData).reverse()
+ const dataEntries = [currentDayStats, ...historicalData].reverse()
+
+ dataEntries.forEach((entry, index) => {
+ if (index + 1 >= dataEntries.length) {
+ return
+ }
- for (let i = 0; i <= dataEntries.length - 1; i++) {
- const infected = dataEntries[i][1].infected
- const nextNumberInfected = dataEntries[i + 1]?.[1].infected
- const prevNumberInfected = dataEntries[i - 1]?.[1].infected
+ const infected = entry.infected
+ const nextNumberInfected = dataEntries[index + 1]?.infected
+ const prevNumberInfected = dataEntries[index - 1]?.infected
const infectedByDay = !isNaN(nextNumberInfected)
? nextNumberInfected - infected
: infected - prevNumberInfected
confirmedCasesHistory.push(cumulative ? infected : infectedByDay)
- const cured = dataEntries[i][1].cured
- const nextNumberCured = dataEntries[i + 1]?.[1]?.cured
- const prevNumberCured = dataEntries[i - 1]?.[1]?.cured
+ const cured = entry.cured
+ const nextNumberCured = dataEntries[index + 1]?.cured
+ const prevNumberCured = dataEntries[index - 1]?.cured
const curedByDay = !isNaN(nextNumberCured)
? nextNumberCured - cured
: cured - prevNumberCured
curedCasesHistory.push(cumulative ? cured : curedByDay)
- const deceased = dataEntries[i][1].deceased
- const nextNumberDeceased = dataEntries[i + 1]?.[1]?.deceased
- const prevNumberDeceased = dataEntries[i - 1]?.[1]?.deceased
+ const deceased = entry.deceased
+ const nextNumberDeceased = dataEntries[index + 1]?.deceased
+ const prevNumberDeceased = dataEntries[index - 1]?.deceased
const deceasedByDay = !isNaN(nextNumberDeceased)
? nextNumberDeceased - deceased
: deceased - prevNumberDeceased
deathCasesHistory.push(cumulative ? deceased : deceasedByDay)
- dateStrings.push(formatDate(dataEntries[i][0]))
- }
+ dateStrings.push(formatDate(entry.parsedOnString))
+ })
if (!cumulative) {
dateStrings.shift()
From 914f7a4e7fc6f352a1e15ee716dee466a93f7a78 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Mon, 21 Feb 2022 16:20:31 +0000
Subject: [PATCH 07/13] fix
---
utils/parse.js | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/utils/parse.js b/utils/parse.js
index 4530b9e..9cdab0f 100644
--- a/utils/parse.js
+++ b/utils/parse.js
@@ -10,7 +10,7 @@ export function parseAgeCategory(result) {
const dateStrings = []
const dataEntries = [currentDayStats, ...historicalData]
- .filter((entry) => entry.parsedOnString <= lastUpdatedOn)
+ .filter((entry) => entry.date <= lastUpdatedOn)
.reverse()
dataEntries.forEach((entry, index) => {
@@ -20,7 +20,7 @@ export function parseAgeCategory(result) {
const nextEntry = dataEntries[index + 1]
- dateStrings.push(formatDate(entry.parsedOnString))
+ dateStrings.push(formatDate(entry.date))
Object.entries(entry.distributionByAge)
.filter(([ageGroup]) => ageGroup !== 'processing')
@@ -49,7 +49,7 @@ export function parseSmallCitiesIncidentsTable(result) {
return {
error: null,
- data: result.currentDayStats.small_cities_incidence,
+ data: result.currentDayStats.smallCitiesIncidence,
lastUpdatedOn,
stale,
}
@@ -62,7 +62,7 @@ export function parseLargeCitiesIncidentsTable(result) {
return {
error: null,
- data: result.currentDayStats.large_cities_incidence,
+ data: result.currentDayStats.largeCitiesIncidence,
lastUpdatedOn,
stale,
}
@@ -217,7 +217,7 @@ export function parseDailyStats(result, options) {
deathCasesHistory.push(cumulative ? deceased : deceasedByDay)
- dateStrings.push(formatDate(entry.parsedOnString))
+ dateStrings.push(formatDate(entry.date))
})
if (!cumulative) {
@@ -290,7 +290,7 @@ export function parseVaccinesHistory(result, options) {
entry.vaccines.johnson_and_johnson.total_administered
)
- dateStrings.push(formatDate(entry.parsedOnString))
+ dateStrings.push(formatDate(entry.date))
})
} else {
newData.forEach((entry) => {
@@ -308,7 +308,7 @@ export function parseVaccinesHistory(result, options) {
entry.vaccines.johnson_and_johnson.total_administered || 0
)
- dateStrings.push(formatDate(entry.parsedOnString))
+ dateStrings.push(formatDate(entry.date))
})
}
From 3ab955155634117db7179fed0342ee080be1f82a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Tue, 22 Feb 2022 10:58:52 +0000
Subject: [PATCH 08/13] wip
---
utils/parse.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/utils/parse.js b/utils/parse.js
index 9cdab0f..9db2a96 100644
--- a/utils/parse.js
+++ b/utils/parse.js
@@ -49,7 +49,7 @@ export function parseSmallCitiesIncidentsTable(result) {
return {
error: null,
- data: result.currentDayStats.smallCitiesIncidence,
+ data: result.currentDayStats.smallCities,
lastUpdatedOn,
stale,
}
@@ -62,7 +62,7 @@ export function parseLargeCitiesIncidentsTable(result) {
return {
error: null,
- data: result.currentDayStats.largeCitiesIncidence,
+ data: result.currentDayStats.largeCities,
lastUpdatedOn,
stale,
}
From ca8cb6a52cc45c94156f000c68fef2ae5b37a129 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Tue, 22 Feb 2022 12:19:43 +0000
Subject: [PATCH 09/13] wip
---
.../cards/counties-map/counties-map.jsx | 2 +-
.../cards/counties-table/counties-table.jsx | 2 +-
.../large-cities-incidents-table.jsx | 15 ++++----
.../small-cities-incidents-table.jsx | 17 +++++-----
utils/parse.js | 34 +++++++------------
5 files changed, 29 insertions(+), 41 deletions(-)
diff --git a/components/cards/counties-map/counties-map.jsx b/components/cards/counties-map/counties-map.jsx
index b66afa7..768c716 100644
--- a/components/cards/counties-map/counties-map.jsx
+++ b/components/cards/counties-map/counties-map.jsx
@@ -17,7 +17,7 @@ export class CountiesMap extends React.PureComponent {
trigger: 'item',
formatter: (item) => `
${item.name}
- Cazuri totale: ${item.data.countyInfectionsNumbers}
+ Cazuri totale: ${item.data.cases}
Incidență cumulată: ${item.value}`,
},
visualMap: {
diff --git a/components/cards/counties-table/counties-table.jsx b/components/cards/counties-table/counties-table.jsx
index c5fb369..191ed1e 100644
--- a/components/cards/counties-table/counties-table.jsx
+++ b/components/cards/counties-table/counties-table.jsx
@@ -16,7 +16,7 @@ export class CountiesTable extends React.PureComponent {
{
className: 'has-text-right',
displayName: 'Cazuri totale',
- name: 'countyInfectionsNumbers',
+ name: 'cases',
},
{
className: 'has-text-right',
diff --git a/components/cards/large-cities-incidents-table/large-cities-incidents-table.jsx b/components/cards/large-cities-incidents-table/large-cities-incidents-table.jsx
index c2017cc..a8f81b4 100644
--- a/components/cards/large-cities-incidents-table/large-cities-incidents-table.jsx
+++ b/components/cards/large-cities-incidents-table/large-cities-incidents-table.jsx
@@ -1,33 +1,32 @@
import React from 'react'
import { Card } from '../../layout/card/card'
import { formatDate } from '../../../utils/date'
-import { parseLargeCitiesIncidentsTable } from '../../../utils/parse'
+import { parseCitiesTable } from '../../../utils/parse'
import { Table } from '../../layout/table/Table'
export const EMBED_LARGE_CITIES_INCIDENTS_TABLE = 'large-cities-incidents-table'
export class LargeCitiesIncidentsTable extends React.PureComponent {
render() {
- const { error, lastUpdatedOn, stale, data } =
- parseLargeCitiesIncidentsTable(this.props.state)
+ const { error, lastUpdatedOn, stale, data } = parseCitiesTable(this.props.state, 'largeCities')
const headers = [
- { className: '', displayName: 'Județ', name: 'judet' },
+ { className: '', displayName: 'Județ', name: 'county' },
{
className: '',
displayName: 'Localitate',
- name: 'localitate',
+ name: 'city',
},
{
className: 'has-text-right',
displayName: 'Populație',
- name: 'populatie',
+ name: 'population',
},
{ className: 'has-text-right', displayName: 'Cazuri', name: 'cazuri' },
{
className: 'has-text-right',
displayName: 'Incidență',
- name: 'incidenta',
+ name: 'incidence',
},
]
return (
@@ -38,7 +37,7 @@ export class LargeCitiesIncidentsTable extends React.PureComponent {
embedPath={EMBED_LARGE_CITIES_INCIDENTS_TABLE}
isStale={stale}
>
-
+
)
}
diff --git a/components/cards/small-cities-incidents-table/small-cities-incidents-table.jsx b/components/cards/small-cities-incidents-table/small-cities-incidents-table.jsx
index f40fa73..b7b335b 100644
--- a/components/cards/small-cities-incidents-table/small-cities-incidents-table.jsx
+++ b/components/cards/small-cities-incidents-table/small-cities-incidents-table.jsx
@@ -2,32 +2,31 @@ import React from 'react'
import { Card } from '../../layout/card/card'
import { Table } from '../../layout/table/Table'
import { formatDate } from '../../../utils/date'
-import { parseSmallCitiesIncidentsTable } from '../../../utils/parse'
+import { parseCitiesTable } from '../../../utils/parse'
export const EMBED_SMALL_CITIES_INCIDENTS_TABLE = 'small-cities-incidents-table'
export class SmallCitiesIncidentsTable extends React.PureComponent {
render() {
- const { error, lastUpdatedOn, stale, data } =
- parseSmallCitiesIncidentsTable(this.props.state)
+ const { error, lastUpdatedOn, stale, data } = parseCitiesTable(this.props.state, 'smallCities')
const headers = [
- { className: '', displayName: 'Județ', name: 'judet' },
+ { className: '', displayName: 'Județ', name: 'county' },
{
className: '',
displayName: 'Localitate',
- name: 'localitate',
+ name: 'city',
},
{
className: 'has-text-right',
displayName: 'Populație',
- name: 'populatie',
+ name: 'population',
},
- { className: 'has-text-right', displayName: 'Cazuri', name: 'cazuri' },
+ { className: 'has-text-right', displayName: 'Cazuri', name: 'cases' },
{
className: 'has-text-right',
displayName: 'Incidență',
- name: 'incidenta',
+ name: 'incidence',
},
]
@@ -39,7 +38,7 @@ export class SmallCitiesIncidentsTable extends React.PureComponent {
embedPath={EMBED_SMALL_CITIES_INCIDENTS_TABLE}
isStale={stale}
>
-
+
)
}
diff --git a/utils/parse.js b/utils/parse.js
index 9db2a96..dab1b04 100644
--- a/utils/parse.js
+++ b/utils/parse.js
@@ -42,46 +42,36 @@ export function parseAgeCategory(result) {
}
}
-export function parseSmallCitiesIncidentsTable(result) {
+export function parseCitiesTable(result, column) {
const {
detailedIncidenceStats: { lastUpdatedOn, stale },
} = result.charts
- return {
- error: null,
- data: result.currentDayStats.smallCities,
- lastUpdatedOn,
- stale,
- }
-}
+ const data = result.currentDayStats[column].map((entry) => {
+ entry.county = mnemonics[entry.county]?.[0] || entry.county
-export function parseLargeCitiesIncidentsTable(result) {
- const {
- detailedIncidenceStats: { lastUpdatedOn, stale },
- } = result.charts
+ return entry
+ })
return {
error: null,
- data: result.currentDayStats.largeCities,
+ data,
lastUpdatedOn,
stale,
}
}
export function parseCountiesTable(result) {
- const { countyInfectionsNumbers, incidence } = result.currentDayStats
const {
incidenceStats: { lastUpdatedOn, stale },
} = result.charts
- const counties = Object.entries(incidence)
- .map(([key, entry]) => ({
- name: mnemonics[key][0],
- value: parseFloat(entry),
- countyInfectionsNumbers: parseInt(countyInfectionsNumbers[key]),
- county: key,
- }))
- .sort((a, b) => (a.value > b.value ? -1 : 1))
+ const counties = result.currentDayStats.counties.map((entry) => ({
+ name: mnemonics[entry.county][0],
+ county: entry.county,
+ value: entry.incidence,
+ cases: entry.cases,
+ }))
return {
error: null,
From 2543d31e720ded218bce2d8c3b37ff4ee0dcab46 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Tue, 22 Feb 2022 12:30:47 +0000
Subject: [PATCH 10/13] wip
---
config/globals.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/config/globals.js b/config/globals.js
index fc9bfde..ec3f9d9 100644
--- a/config/globals.js
+++ b/config/globals.js
@@ -39,6 +39,6 @@ export const Constants = {
}
export const ApiURL = {
- allData: Constants.api + '/latestData.json',
- smallData: Constants.api + '/smallData.json',
+ allData: Constants.api + '/full',
+ smallData: Constants.api + '/partial',
}
From e7650630b9b4cb6bf57df675f5aecdbdb91cb897 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Tue, 22 Feb 2022 14:19:50 +0000
Subject: [PATCH 11/13] wip
---
.../large-cities-incidents-table.jsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/cards/large-cities-incidents-table/large-cities-incidents-table.jsx b/components/cards/large-cities-incidents-table/large-cities-incidents-table.jsx
index a8f81b4..e05338c 100644
--- a/components/cards/large-cities-incidents-table/large-cities-incidents-table.jsx
+++ b/components/cards/large-cities-incidents-table/large-cities-incidents-table.jsx
@@ -22,7 +22,7 @@ export class LargeCitiesIncidentsTable extends React.PureComponent {
displayName: 'Populație',
name: 'population',
},
- { className: 'has-text-right', displayName: 'Cazuri', name: 'cazuri' },
+ { className: 'has-text-right', displayName: 'Cazuri', name: 'cases' },
{
className: 'has-text-right',
displayName: 'Incidență',
From 44eec6df37c7eb1c239667795a65b78d3023e0fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Tue, 22 Feb 2022 19:51:54 +0000
Subject: [PATCH 12/13] fix
---
.../large-cities-incidents-table.jsx | 12 +++++--
.../small-cities-incidents-table.jsx | 12 +++++--
utils/parse.js | 33 ++++++++-----------
3 files changed, 33 insertions(+), 24 deletions(-)
diff --git a/components/cards/large-cities-incidents-table/large-cities-incidents-table.jsx b/components/cards/large-cities-incidents-table/large-cities-incidents-table.jsx
index e05338c..00754fb 100644
--- a/components/cards/large-cities-incidents-table/large-cities-incidents-table.jsx
+++ b/components/cards/large-cities-incidents-table/large-cities-incidents-table.jsx
@@ -11,7 +11,11 @@ export class LargeCitiesIncidentsTable extends React.PureComponent {
const { error, lastUpdatedOn, stale, data } = parseCitiesTable(this.props.state, 'largeCities')
const headers = [
- { className: '', displayName: 'Județ', name: 'county' },
+ {
+ className: '',
+ displayName: 'Județ',
+ name: 'county',
+ },
{
className: '',
displayName: 'Localitate',
@@ -22,7 +26,11 @@ export class LargeCitiesIncidentsTable extends React.PureComponent {
displayName: 'Populație',
name: 'population',
},
- { className: 'has-text-right', displayName: 'Cazuri', name: 'cases' },
+ {
+ className: 'has-text-right',
+ displayName: 'Cazuri',
+ name: 'cases',
+ },
{
className: 'has-text-right',
displayName: 'Incidență',
diff --git a/components/cards/small-cities-incidents-table/small-cities-incidents-table.jsx b/components/cards/small-cities-incidents-table/small-cities-incidents-table.jsx
index b7b335b..48f9d99 100644
--- a/components/cards/small-cities-incidents-table/small-cities-incidents-table.jsx
+++ b/components/cards/small-cities-incidents-table/small-cities-incidents-table.jsx
@@ -11,7 +11,11 @@ export class SmallCitiesIncidentsTable extends React.PureComponent {
const { error, lastUpdatedOn, stale, data } = parseCitiesTable(this.props.state, 'smallCities')
const headers = [
- { className: '', displayName: 'Județ', name: 'county' },
+ {
+ className: '',
+ displayName: 'Județ',
+ name: 'county',
+ },
{
className: '',
displayName: 'Localitate',
@@ -22,7 +26,11 @@ export class SmallCitiesIncidentsTable extends React.PureComponent {
displayName: 'Populație',
name: 'population',
},
- { className: 'has-text-right', displayName: 'Cazuri', name: 'cases' },
+ {
+ className: 'has-text-right',
+ displayName: 'Cazuri',
+ name: 'cases',
+ },
{
className: 'has-text-right',
displayName: 'Incidență',
diff --git a/utils/parse.js b/utils/parse.js
index dab1b04..9344db3 100644
--- a/utils/parse.js
+++ b/utils/parse.js
@@ -13,26 +13,21 @@ export function parseAgeCategory(result) {
.filter((entry) => entry.date <= lastUpdatedOn)
.reverse()
- dataEntries.forEach((entry, index) => {
- if (index + 1 >= dataEntries.length) {
- return
- }
-
- const nextEntry = dataEntries[index + 1]
-
- dateStrings.push(formatDate(entry.date))
+ for (let i = 0; i < dataEntries.length - 1; i++) {
+ const nextValue = dataEntries[i + 1]
+ dateStrings.push(formatDate(nextValue.date))
- Object.entries(entry.distributionByAge)
- .filter(([ageGroup]) => ageGroup !== 'processing')
+ Object.entries(dataEntries[i].distributionByAge)
+ .filter(([ageGroup]) => ageGroup !== 'în procesare')
.forEach(([ageGroup, currentCases]) => {
- const cases = nextEntry.distributionByAge[ageGroup] - currentCases
+ const cases = nextValue.distributionByAge[ageGroup] - currentCases
if (Array.isArray(ageCategories[ageGroup])) {
ageCategories[ageGroup].push(cases)
} else {
ageCategories[ageGroup] = [cases]
}
})
- })
+ }
return {
lastUpdatedOn,
@@ -47,11 +42,13 @@ export function parseCitiesTable(result, column) {
detailedIncidenceStats: { lastUpdatedOn, stale },
} = result.charts
- const data = result.currentDayStats[column].map((entry) => {
- entry.county = mnemonics[entry.county]?.[0] || entry.county
+ const data = JSON.parse(JSON.stringify(result.currentDayStats[column])).map(
+ (entry) => {
+ entry.county = mnemonics[entry.county][0]
- return entry
- })
+ return entry
+ }
+ )
return {
error: null,
@@ -176,10 +173,6 @@ export function parseDailyStats(result, options) {
const dataEntries = [currentDayStats, ...historicalData].reverse()
dataEntries.forEach((entry, index) => {
- if (index + 1 >= dataEntries.length) {
- return
- }
-
const infected = entry.infected
const nextNumberInfected = dataEntries[index + 1]?.infected
const prevNumberInfected = dataEntries[index - 1]?.infected
From 678e6a015f5fd4e8e55ee137b7484b40538f6589 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrei=20Ionit=CC=A6a=CC=86?=
Date: Fri, 18 Mar 2022 14:32:38 +0000
Subject: [PATCH 13/13] revert: gitignore .env
---
.env.example => .env | 0
.gitignore | 2 +-
2 files changed, 1 insertion(+), 1 deletion(-)
rename .env.example => .env (100%)
diff --git a/.env.example b/.env
similarity index 100%
rename from .env.example
rename to .env
diff --git a/.gitignore b/.gitignore
index e5c66cf..3529a4c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,4 +33,4 @@ yarn-error.log*
# vercel
.vercel
-.env
+.env.local