import React, { useEffect, useState } from "react"; import clsx from "clsx"; import { Typography } from "@material-ui/core"; import useStyles from "../../useStyles"; import DigitalTwin from "../../DigitalTwin"; import { useVehicleContext, VehicleProvider, } from "../../Contexts/VehicleContext"; import { useStatusContext } from "../../Contexts/StatusContext"; import { useUserContext } from "../../Contexts/UserContext"; import { logger } from "../../../services/monitoring"; const Main = (props) => { const { getState } = useVehicleContext(); const { token: { idToken: { jwtToken: token }, }, } = useUserContext(); const { setMessage } = useStatusContext(); const classes = useStyles(); const [carState, setCarState] = useState(null); const { vin } = props; useEffect(() => { if (!vin) return; (async () => { try { const result = await getState(token, vin); setCarState(result.data); } catch (e) { setMessage(e.message); logger.warn(e.stack); } })(); // eslint-disable-next-line react-hooks/exhaustive-deps }, [vin]); return (