Skip to content

Commit dc9299c

Browse files
committed
working radials with props
1 parent cb37679 commit dc9299c

File tree

2 files changed

+17
-56
lines changed

2 files changed

+17
-56
lines changed

src/app/components/StateRoute.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,8 @@ const StateRoute = (props: StateRouteProps) => {
121121
return (
122122
<div>
123123
<WebMetrics webMetrics={webMetrics}/>
124+
<WebMetrics webMetrics={webMetrics}/>
125+
<WebMetrics webMetrics={webMetrics}/>
124126
</div>
125127
)
126128
};

src/app/components/WebMetrics.tsx

Lines changed: 15 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,10 @@
1-
import React, { Component } from 'react';
1+
import React, { useState } from 'react';
22
import Charts from 'react-apexcharts'
33

4-
5-
interface apexcharts {
6-
state: any
7-
}
8-
9-
// const WebMetrics = ({webMetrics}) => {
10-
// const [data, setData] = React.useState({});
11-
// const METRICS = ["TTFB", "LCP", "FID", "FCP", "CLS"];
12-
13-
// React.useEffect(() => {
14-
// chrome.runtime.sendMessage({
15-
// type: "performance:metric:request",
16-
// }, (d) => {
17-
// setData(d);
18-
// })
19-
// }, [])
20-
21-
// const output = [];
22-
// const perfMetrics = Object.keys(webMetrics)
23-
// .map((metric) => output.push(<div><div>{metric}</div><div>{Math.round(webMetrics[metric])}</div></div>));
24-
25-
// console.log('WM >>>', webMetrics)
26-
// console.log('output>>>', output)
27-
// return (
28-
// <div>
29-
// {output}
30-
// </div>
31-
// )
32-
33-
// }
34-
35-
36-
class WebMetrics extends React.Component {
37-
constructor(props) {
38-
super(props);
39-
40-
this.state = {
4+
const radialGraph = ({webMetrics}) => {
5+
const state = {
416

42-
series: [75],
7+
series: [(webMetrics.FCP / 1000) * 100],
438
options: {
449
chart: {
4510
height: 350,
@@ -54,8 +19,8 @@ class WebMetrics extends React.Component {
5419
endAngle: 225,
5520
hollow: {
5621
margin: 0,
57-
size: '70%',
58-
background: '#fff',
22+
size: '90%',
23+
background: '#242529',
5924
image: undefined,
6025
imageOffsetX: 0,
6126
imageOffsetY: 0,
@@ -70,7 +35,7 @@ class WebMetrics extends React.Component {
7035
},
7136
track: {
7237
background: '#fff',
73-
strokeWidth: '67%',
38+
strokeWidth: '10%',
7439
margin: 0, // margin is in pixels
7540
dropShadow: {
7641
enabled: true,
@@ -86,15 +51,15 @@ class WebMetrics extends React.Component {
8651
name: {
8752
offsetY: -10,
8853
show: true,
89-
color: '#888',
54+
color: '#fff',
9055
fontSize: '17px'
9156
},
9257
value: {
9358
formatter: function(val) {
94-
return parseInt(val);
59+
return parseInt(webMetrics.FCP);
9560
},
96-
color: '#111',
97-
fontSize: '36px',
61+
color: '#fff',
62+
fontSize: '25px',
9863
show: true,
9964
}
10065
}
@@ -116,29 +81,23 @@ class WebMetrics extends React.Component {
11681
stroke: {
11782
lineCap: 'round'
11883
},
119-
labels: ['Percent'],
84+
labels: ['FCP'],
12085
},
12186

12287

12388
};
124-
const { webMetrics} = props;
125-
console.log('props', props, webMetrics)
126-
}
127-
128-
89+
12990

130-
render() {
13191
return (
13292

13393

13494
<div id="card">
13595
<div id="chart">
136-
<Charts options={this.state.options} series={this.state.series} type="radialBar" height={350} />
96+
<Charts options={state.options} series={state.series} type="radialBar" height={350} />
13797
</div>
13898
</div>
13999

140100
)
141-
}
142101
}
143102

144-
export default WebMetrics;
103+
export default radialGraph;

0 commit comments

Comments
 (0)