import React, { useEffect, useState } from "react"; import { Redirect } from "react-router"; import { Link } from 'react-router-dom'; import { Grid, Tooltip, } from "@material-ui/core"; import EditIcon from "@material-ui/icons/Edit" import DeleteIcon from "@material-ui/icons/Delete"; import clsx from "clsx"; import { useUserContext } from "../../../Contexts/UserContext" import { useStatusContext } from "../../../Contexts/StatusContext"; import useStyles from "../../../useStyles"; import { logger } from "../../../../services/monitoring"; import { useVehicleContext, VehicleProvider } from "../../../Contexts/VehicleContext"; import DeleteConfirmation from "../../../DeleteConfirmation"; const MainForm = ({ vin }) => { const classes = useStyles(); const { setMessage } = useStatusContext(); const { vehicle, getVehicle, deleteVehicle } = useVehicleContext(); const [redirect, setRedirect] = useState(null); const [showDeleteModal, setShowDeleteModal] = useState(false) const { token: { idToken: { jwtToken: token } } } = useUserContext(); useEffect(() => { (async () => { try { if (!vin || !token) return; await getVehicle(vin, token); } catch (e) { setMessage(e.message); logger.warn(e.stack); } })(); // eslint-disable-next-line react-hooks/exhaustive-deps }, [token]); const onDelete = async () => { try { await deleteVehicle(vin, token); setMessage(`Deleted ${vin}`) setRedirect(`/vehicles`); } catch (e) { setMessage(e.message); logger.warn(e.stack); } }; if (redirect && redirect.length > 0) { return ; } return (

VIN: {vin}

{vehicle.log_level != null && (

Log Level: {vehicle.log_level}

)}
{vehicle.canbus && ( CANBus

Enabled: {vehicle.canbus.enabled.toString()}

Max Memory Buffer Size: {vehicle.canbus.max_mem_buffer_size ?? "Default"}

Enabled: {vehicle.canbus.data_logger_enabled.toString()}

Max Disk Buffer Size: {vehicle.canbus.max_disk_buffer_size ?? "Default"}

Filters: {vehicle.canbus.filters ? vehicle.canbus.filters.length : 0}

)} setShowDeleteModal(true)}>
setShowDeleteModal(false)} deleteFunction={onDelete}/>
); }; const CarDetails = (props) => ( ); export default CarDetails;