(value ? "open" : "closed");
const mapOpenCloseState = (value) =>
keyValueTemplate(value[0], openCloseState(value[1]));
+const windowState = (value) => {
+ if (value[1] === 0 || value[1] > 100) {
+ return keyValueTemplate(value[0], `closed (${value[1]})`);
+ } else {
+ return keyValueTemplate(value[0], `${value[1]}% open`);
+ }
+}
+
const DigitalTwin = (props) => {
const classes = useStyles();
const { battery, doors, location, trex_version, ip, updated, windows, misc_windows, sunroof, dbc_version, door_locks } = props;
@@ -45,12 +53,7 @@ const DigitalTwin = (props) => {
Windows
{Object.entries(windows).map((value) => {
- if (value[1] === 0) {
- return keyValueTemplate(value[0], "closed");
- } else {
- const percentOpen = Math.min(value[1], 100);
- return keyValueTemplate(value[0], `${percentOpen}% open`);
- }
+ return windowState(value);
})}
)}
@@ -58,11 +61,7 @@ const DigitalTwin = (props) => {
Misc Windows
{Object.entries(misc_windows).map((value) => {
- if (value[1] === 0 || value[1] > 100) {
- return keyValueTemplate(value[0], `closed ${value[1]}%`);
- } else {
- return keyValueTemplate(value[0], `${value[1]}% open`);
- }
+ return windowState(value);
})}
)}
@@ -70,12 +69,7 @@ const DigitalTwin = (props) => {
Sunroof
{Object.entries(sunroof).map((value) => {
- if (value[1] === 0) {
- return keyValueTemplate(value[0], "closed");
- } else {
- const percentOpen = Math.min(value[1], 100);
- return keyValueTemplate(value[0], `${percentOpen}% open`);
- }
+ return windowState(value);
})}
)}
diff --git a/src/utils/locations.js b/src/utils/locations.js
index a308375..f4fdaba 100644
--- a/src/utils/locations.js
+++ b/src/utils/locations.js
@@ -1,3 +1,5 @@
+const invalidLocation = 99999;
+
export const ValidateLocationData = (location) => {
if (Math.abs(location.latitude) > 90 || Math.abs(location.longitude) > 180) {
return false;
@@ -9,6 +11,7 @@ export const ValidateLocationData = (location) => {
}
export const ValidateLocationByParam = (parameter, value) => {
+ if (invalidLocation === value) return false;
switch (parameter) {
case "latitude":
return Math.abs(value) <= 90;