Skip to content

Commit e4b3f1d

Browse files
refactor overview component
1 parent d86e067 commit e4b3f1d

File tree

1 file changed

+54
-119
lines changed

1 file changed

+54
-119
lines changed

src/components/Overview.js

Lines changed: 54 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -1,128 +1,63 @@
1-
import React, { Component } from "react";
1+
import React from "react";
22
import DisplayPanels from "./DisplayPanels";
33
import { withStyles } from "@material-ui/styles";
44
import styles from "../styles/OverviewStyles";
55

6-
class Overview extends Component {
7-
constructor(props) {
8-
super(props);
9-
this.state = {
10-
currentDay: {},
11-
previousDay: {},
12-
dataChanges: {},
13-
isLoading: false,
14-
};
15-
// this.calculateChange = this.calculateChange.bind(this);
16-
// this.getData = this.getData.bind(this);
17-
// this.setData = this.setData.bind(this);
18-
}
19-
20-
// componentDidMount() {
21-
// this.getData(this.props.data);
22-
// }
23-
24-
// setData() {
25-
// this.getData();
26-
// }
27-
28-
// getData(propsData) {
29-
// const data = propsData.slice(-2);
30-
// try {
31-
// const previousDay = data[0].summary;
32-
// const currentDay = data[1].summary;
33-
// this.setState(
34-
// {
35-
// previousDay: {
36-
// confirmed: previousDay.total,
37-
// recovered: previousDay.discharged,
38-
// deaths: previousDay.deaths,
39-
// activeCases:
40-
// previousDay.total - (previousDay.discharged + previousDay.deaths),
41-
// },
42-
// currentDay: {
43-
// confirmed: currentDay.total,
44-
// recovered: currentDay.discharged,
45-
// deaths: currentDay.deaths,
46-
// activeCases:
47-
// currentDay.total - (currentDay.discharged + currentDay.deaths),
48-
// },
49-
// },
50-
// this.calculateChange
51-
// );
52-
// } catch {}
53-
// }
54-
55-
// calculateChange() {
56-
// const { previousDay, currentDay } = this.state;
57-
// let newObj = Object.keys(currentDay).reduce((a, k) => {
58-
// a[k] = currentDay[k] - previousDay[k];
59-
// return a;
60-
// }, {});
61-
// const newState = {
62-
// ...this.state,
63-
// dataChanges: newObj,
64-
// };
65-
// this.setState({
66-
// ...newState,
67-
// });
68-
// }
69-
70-
// dailyconfirmed: "1902";
71-
// dailydeceased: "69";
72-
// dailyrecovered: "610";
73-
// date: "28 April ";
74-
// totalconfirmed: "31360";
75-
// totaldeceased: "1008";
76-
// totalrecovered: "7747";
77-
78-
render() {
79-
const { confirmed, recovered, deaths, activeCases } = this.state.currentDay;
80-
const dataChange = this.state.dataChanges;
81-
const { classes, isDarkMode } = this.props;
82-
const { totalconfirmed, totaldeceased, totalrecovered } = this.props.data;
83-
84-
const active =
85-
Number(totalconfirmed) - (Number(totaldeceased) + Number(totalrecovered));
86-
87-
return (
88-
<div className={classes.root}>
89-
<div className={classes.panels}>
90-
<div className={classes.panelContainer}>
91-
<DisplayPanels
92-
title="Confirmed"
93-
number={totalconfirmed}
94-
isDarkMode={isDarkMode}
95-
dataChange={dataChange.confirmed}
96-
/>
97-
</div>
98-
<div className={classes.panelContainer}>
99-
<DisplayPanels
100-
title="Active"
101-
number={active}
102-
isDarkMode={isDarkMode}
103-
dataChange={dataChange.activeCases}
104-
/>
105-
</div>
106-
<div className={classes.panelContainer}>
107-
<DisplayPanels
108-
title="Recovered"
109-
number={totalrecovered}
110-
isDarkMode={isDarkMode}
111-
dataChange={dataChange.recovered}
112-
/>
113-
</div>
114-
<div className={classes.panelContainer}>
115-
<DisplayPanels
116-
title="Deceased"
117-
number={totaldeceased}
118-
isDarkMode={isDarkMode}
119-
dataChange={dataChange.deaths}
120-
/>
121-
</div>
6+
function Overview(props) {
7+
const { classes, isDarkMode } = props;
8+
const {
9+
totalconfirmed,
10+
totaldeceased,
11+
totalrecovered,
12+
dailyrecovered,
13+
dailydeceased,
14+
dailyconfirmed,
15+
} = props.data;
16+
17+
const active =
18+
Number(totalconfirmed) - (Number(totaldeceased) + Number(totalrecovered));
19+
20+
const dailyactive =
21+
Number(dailyconfirmed) - (Number(dailydeceased) + Number(dailyrecovered));
22+
23+
return (
24+
<div className={classes.root}>
25+
<div className={classes.panels}>
26+
<div className={classes.panelContainer}>
27+
<DisplayPanels
28+
title="Confirmed"
29+
number={totalconfirmed}
30+
isDarkMode={isDarkMode}
31+
dataChange={dailyconfirmed}
32+
/>
33+
</div>
34+
<div className={classes.panelContainer}>
35+
<DisplayPanels
36+
title="Active"
37+
number={active}
38+
isDarkMode={isDarkMode}
39+
dataChange={dailyactive}
40+
/>
41+
</div>
42+
<div className={classes.panelContainer}>
43+
<DisplayPanels
44+
title="Recovered"
45+
number={totalrecovered}
46+
isDarkMode={isDarkMode}
47+
dataChange={dailyrecovered}
48+
/>
49+
</div>
50+
<div className={classes.panelContainer}>
51+
<DisplayPanels
52+
title="Deceased"
53+
number={totaldeceased}
54+
isDarkMode={isDarkMode}
55+
dataChange={dailydeceased}
56+
/>
12257
</div>
12358
</div>
124-
);
125-
}
59+
</div>
60+
);
12661
}
12762

12863
export default withStyles(styles)(Overview);

0 commit comments

Comments
 (0)