import React, { useEffect, useState } from "react"; import { Backdrop, Modal, Fade, Table, TableHead, TableRow, TableCell, TableBody, } from "@material-ui/core"; import useStyles from "../../useStyles"; import { useUpdatesContext } from "../../Contexts/UpdatesContext"; import { useUserContext } from "../../Contexts/UserContext"; import { useStatusContext } from "../../Contexts/StatusContext"; import { LocalDateTimeString } from "../../../utils/dates"; export default function CarStatusModal(props) { const classes = useStyles(); const [updates, setUpdates] = useState([]); const { setMessage } = useStatusContext(); const { getVINUpdates } = useUpdatesContext(); const { token: { idToken: { jwtToken: token }, }, } = useUserContext(); useEffect(() => { (async () => { try { if (!props.vin) return; const result = await getVINUpdates(props.vin, token); if (result.error) { throw new Error(`Get VIN updates error. ${result.message}`); } else { setUpdates(result.data); } } catch (e) { setMessage(e.message); } })(); // eslint-disable-next-line }, [props.vin]); return (

{props.vin} Updates

Date Update Status Updated {updates.map((update) => ( {LocalDateTimeString(update.created)} {`${update.updatepackage.package_name} ${update.updatepackage.version}`} {update.status} {LocalDateTimeString(update.updated)} ))}
); }