From 04f59ec01bce86d168076b4ed2405227ce60a28d Mon Sep 17 00:00:00 2001 From: highvolt-dev Date: Wed, 29 Dec 2021 21:36:47 -0500 Subject: [PATCH] add card component --- src/App.js | 163 +++++++++-------------------------------- src/components/card.js | 77 +++++++++++++++++++ 2 files changed, 112 insertions(+), 128 deletions(-) create mode 100644 src/components/card.js diff --git a/src/App.js b/src/App.js index cdb3280..c1e6f96 100644 --- a/src/App.js +++ b/src/App.js @@ -1,5 +1,6 @@ import React, { useState, useEffect, useRef } from 'react'; import { Area, ComposedChart, Line, CartesianGrid, ReferenceLine, XAxis, YAxis, Tooltip } from 'recharts'; +import Card from './components/card'; import './App.css'; // https://stackoverflow.com/a/62798382 @@ -89,90 +90,26 @@ function App() {

Tmo Live Graph

-
-

4G LTE

-

Band {data.length ? data.slice(-1)[0].lte.Band : 'N/A'}

-

RSRP

-
-
Current:
-
- {data.length ? ( - <> - {data.slice(-1)[0].lte.RSRPCurrent} dBm - - ) : ''} -
-
Best:
-
- {data.length ? ( - <> - {data.map(plot => plot.lte.RSRPCurrent).reduce((best, val) => val > best ? val : best, -140)} dBm - - ) : ''} -
-
-

SNR

-
-
Current:
-
- {data.length ? ( - <> - {data.slice(-1)[0].lte.SNRCurrent} dB - - ) : ''} -
-
Best:
-
- {data.length ? ( - <> - {data.map(plot => plot.lte.SNRCurrent).reduce((best, val) => val > best ? val : best, -19.5)} dB - - ) : ''} -
-
-
-
-

5G NR

-

Band {data.length ? data.slice(-1)[0].nr.Band : 'N/A'}

-

RSRP

-
-
Current:
-
- {data.length ? ( - <> - {data.slice(-1)[0].nr.RSRPCurrent} dBm - - ) : ''} -
-
Best:
-
- {data.length ? ( - <> - {data.map(plot => plot.nr.RSRPCurrent).reduce((best, val) => val > best ? val : best, -140)} dBm - - ) : ''} -
-
-

SNR

-
-
Current:
-
- {data.length ? ( - <> - {data.slice(-1)[0].nr.SNRCurrent} dB - - ) : ''} -
-
Best:
-
- {data.length ? ( - <> - {data.map(plot => plot.nr.SNRCurrent).reduce((best, val) => val > best ? val : best, -5)} dB - - ) : ''} -
-
-
+ plot.lte.RSRPCurrent).reduce((best, val) => val > best ? val : best, -140) : null} + SNRCurrent={data.length ? data.slice(-1)[0].lte.SNRCurrent : null} + SNRBest={data.length ? data.map(plot => plot.lte.SNRCurrent).reduce((best, val) => val > best ? val : best, -19.5) : null} + /> + plot.nr.RSRPCurrent).reduce((best, val) => val > best ? val : best, -140) : null} + SNRCurrent={data.length ? data.slice(-1)[0].nr.SNRCurrent : null} + SNRBest={data.length ? data.map(plot => plot.nr.SNRCurrent).reduce((best, val) => val > best ? val : best, -19.5) : null} + />
@@ -180,50 +117,20 @@ function App() {
-
-

4G LTE

-

RSRQ

-
-
Current:
-
- {data.length ? ( - <> - {data.slice(-1)[0].lte.RSRQCurrent} dB - - ) : ''} -
-
Best:
-
- {data.length ? ( - <> - {data.map(plot => plot.lte.RSRQCurrent).reduce((best, val) => val > best ? val : best, -19.5)} dB - - ) : ''} -
-
-
-
-

5G NR

-

RSRQ

-
-
Current:
-
- {data.length ? ( - <> - {data.slice(-1)[0].nr.RSRQCurrent} dB - - ) : ''} -
-
Best:
-
- {data.length ? ( - <> - {data.map(plot => plot.nr.RSRQCurrent).reduce((best, val) => val > best ? val : best, -19.5)} dB - - ) : ''} -
-
-
+ plot.lte.RSRQCurrent).reduce((best, val) => val > best ? val : best, -19.5) : null} + /> + plot.nr.RSRQCurrent).reduce((best, val) => val > best ? val : best, -19.5) : null} + />
diff --git a/src/components/card.js b/src/components/card.js new file mode 100644 index 0000000..b1f2602 --- /dev/null +++ b/src/components/card.js @@ -0,0 +1,77 @@ +import React from 'react'; + +function Card(props) { + + return ( +
+

{props.title}

+ {props.main ? ( + <> +

Band {props.band}

+

RSRP

+
+
Current:
+
+ {props.RSRPCurrent ? ( + <> + {props.RSRPCurrent} dBm + + ) : ''} +
+
Best:
+
+ {props.RSRPBest ? ( + <> + {props.RSRPBest} dBm + + ) : ''} +
+
+

SNR

+
+
Current:
+
+ {props.SNRCurrent ? ( + <> + {props.SNRCurrent} dB + + ) : ''} +
+
Best:
+
+ {props.SNRBest ? ( + <> + {props.SNRBest} dB + + ) : ''} +
+
+ + ) : ( + <> +

RSRQ

+
+
Current:
+
+ {props.RSRQCurrent ? ( + <> + {props.RSRQCurrent} dB + + ) : ''} +
+
Best:
+
+ {props.RSRQBest ? ( + <> + {props.RSRQBest} dB + + ) : ''} +
+
+ + )} +
+ ); +} + +export default Card;