diff --git a/components/NetworkMapLegend/index.js b/components/NetworkMapLegend/index.js index d8fb572..74f88c5 100644 --- a/components/NetworkMapLegend/index.js +++ b/components/NetworkMapLegend/index.js @@ -4,6 +4,7 @@ import { male_hosp, male_cured, male_dead, + male_hosp_new, state_node, city_node, plane_abroad_node, @@ -77,6 +78,10 @@ const NetworkMapLegend = ({ currentFilter }) => { + + + + {['State', 'City'].includes(currentFilter) ? diff --git a/images/index.js b/images/index.js index f6f7315..c9d7246 100644 --- a/images/index.js +++ b/images/index.js @@ -5,6 +5,13 @@ import female_cured from './female/cured.png' import female_dead from './female/dead.png' import female_hosp from './female/hospitalized.png' +import male_cured_new from './new/male/cured_new.png' +import male_dead_new from './new/male/dead_new.png' +import male_hosp_new from './new/male/hospitalized_new.png' +import female_cured_new from './new/female/cured_new.png' +import female_dead_new from './new/female/dead_new.png' +import female_hosp_new from './new/female/hospitalized_new.png' + import abroad from './filter/abroad.png' import state from './filter/state.png' import city from './filter/city.png' @@ -22,6 +29,12 @@ export { female_cured, female_dead, female_hosp, + male_cured_new, + male_dead_new, + male_hosp_new, + female_cured_new, + female_dead_new, + female_hosp_new, state, city, state_node, diff --git a/images/new/female/cured_new.png b/images/new/female/cured_new.png new file mode 100644 index 0000000..218de03 Binary files /dev/null and b/images/new/female/cured_new.png differ diff --git a/images/new/female/dead_new.png b/images/new/female/dead_new.png new file mode 100644 index 0000000..18b47c3 Binary files /dev/null and b/images/new/female/dead_new.png differ diff --git a/images/new/female/hospitalized_new.png b/images/new/female/hospitalized_new.png new file mode 100644 index 0000000..4eadbce Binary files /dev/null and b/images/new/female/hospitalized_new.png differ diff --git a/images/new/male/cured_new.png b/images/new/male/cured_new.png new file mode 100644 index 0000000..fa07e8a Binary files /dev/null and b/images/new/male/cured_new.png differ diff --git a/images/new/male/dead_new.png b/images/new/male/dead_new.png new file mode 100644 index 0000000..dd0f8c6 Binary files /dev/null and b/images/new/male/dead_new.png differ diff --git a/images/new/male/hospitalized_new.png b/images/new/male/hospitalized_new.png new file mode 100644 index 0000000..f7fec61 Binary files /dev/null and b/images/new/male/hospitalized_new.png differ diff --git a/package.json b/package.json index 0bd1f02..0056fe0 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "dot-prop-immutable": "^2.1.0", "google-spreadsheet": "^3.0.10", "lodash": "^4.17.15", + "moment": "^2.24.0", "next": "^9.3.1", "next-images": "^1.3.1", "object-hash": "^2.0.3", diff --git a/util/parse.js b/util/parse.js index bf0d258..240ee36 100644 --- a/util/parse.js +++ b/util/parse.js @@ -63,8 +63,15 @@ import { female_cured, female_hosp, female_dead, + male_hosp_new, + male_cured_new, + male_dead_new, + female_cured_new, + female_hosp_new, + female_dead_new, } from '../images/index' import dotProp from 'dot-prop-immutable' +import moment from 'moment' export function letterToCode(str) { const letterPos = parseInt(str[0], 36) @@ -72,28 +79,55 @@ export function letterToCode(str) { } export function getIcon(patient) { - if (patient.gender === 'male') { - if (patient.status === 'Recovered') { - return male_cured - } else if (patient.status === 'Hospitalized') { - return male_hosp - } else if (patient.status === 'Deceased') { - return male_dead - } else { - return male_hosp - } - } else if (patient.gender === 'female') { - if (patient.status === 'Recovered') { - return female_cured - } else if (patient.status === 'Hospitalized') { - return female_hosp - } else if (patient.status === 'Deceased') { - return female_dead - } else { - return female_hosp - } + let activeDays = moment().diff(moment(patient.reportedOn,'DD/MM/YYYY'),'days') + if (activeDays>3){ + if (patient.gender === 'male') { + if (patient.status === 'Recovered') { + return male_cured + } else if (patient.status === 'Hospitalized') { + return male_hosp + } else if (patient.status === 'Deceased') { + return male_dead + } else { + return male_hosp + } + } else if (patient.gender === 'female') { + if (patient.status === 'Recovered') { + return female_cured + } else if (patient.status === 'Hospitalized') { + return female_hosp + } else if (patient.status === 'Deceased') { + return female_dead + } else { + return female_hosp + } + } else { + return female_hosp + } } else { - return female_hosp + if (patient.gender === 'male') { + if (patient.status === 'Recovered') { + return male_cured_new + } else if (patient.status === 'Hospitalized') { + return male_hosp_new + } else if (patient.status === 'Deceased') { + return male_dead_new + } else { + return male_hosp_new + } + } else if (patient.gender === 'female') { + if (patient.status === 'Recovered') { + return female_cured_new + } else if (patient.status === 'Hospitalized') { + return female_hosp_new + } else if (patient.status === 'Deceased') { + return female_dead_new + } else { + return female_hosp_new + } + } else { + return female_hosp_new + } } } @@ -111,7 +145,6 @@ export const rowsToGraph = rows => { nodes: [], edges: [], } - rows.forEach(row => { const patientCode = letterToCode('P' + row.patientId) let node = { @@ -121,7 +154,6 @@ export const rowsToGraph = rows => { image: getIcon(row), group: 'patient' } - graph = dotProp.set(graph, 'nodes', list => [...list, node]) if (row.contractedFrom) {