import React from "react"; import useStyles from "../useStyles"; import { LocalDateTimeString } from "../../utils/dates"; const keyValueTemplate = (key, value) => (

{key}: {value}

); const openCloseState = (value) => (value ? "open" : "closed"); const mapOpenCloseState = (value) => keyValueTemplate(value[0], openCloseState(value[1])); const DigitalTwin = (props) => { const classes = useStyles(); const { battery, doors, location, trex_version, updated, windows } = props; return (
{!battery && !doors && !location && !windows && (

No vehicle data to display.

)} {battery != null && keyValueTemplate("Battery", `${battery.percent}%`)} {doors != null && (

Doors

{Object.entries(doors).map(mapOpenCloseState)}
)} {windows != null && (

Windows

{Object.entries(windows).map(mapOpenCloseState)}
)} {location != null && (

Location

{Object.entries(location).map((value) => { if (value[0] === "altitude") { return keyValueTemplate(value[0], value[1]); } else { return keyValueTemplate(value[0], `${value[1]}°`); } })}
)} {trex_version && (
{keyValueTemplate("Trex Version", trex_version)}
)} {updated != null && (
{keyValueTemplate("Updated at", LocalDateTimeString(updated))}
)}
); }; export default DigitalTwin;