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 { FleetProvider, useFleetContext } from "../../../Contexts/FleetContext" import useStyles from "../../../useStyles"; import { logger } from "../../../../services/monitoring"; import DeleteConfirmation from "../../../DeleteConfirmation"; const MainForm = ({ name }) => { const classes = useStyles(); const { setMessage } = useStatusContext(); const { fleet, getFleet, deleteFleet } = useFleetContext(); const [redirect, setRedirect] = useState(null); const [showDeleteModal, setShowDeleteModal] = useState(false) const { token: { idToken: { jwtToken: token } } } = useUserContext(); const showDebugMask = (process.env.REACT_APP_ENABLE_DEBUGMASK === "1"); useEffect(() => { (async () => { try { if (!name || !token) return; await getFleet(name, token); } catch (e) { setMessage(e.message); logger.warn(e.stack); } })(); // eslint-disable-next-line react-hooks/exhaustive-deps }, [token]); const onDelete = async () => { try { await deleteFleet(name, token); setMessage(`Deleted ${name}`) setRedirect(`/fleets`); } catch (e) { setMessage(e.message); logger.warn(e.stack); } }; if (redirect && redirect.length > 0) { return ; } return (

Name: {name}

Vehicles: {fleet.vehicles ? fleet.vehicles.length : 0}

{fleet.log_level != null && (

Log Level: {fleet.log_level}

)}
{fleet.canbus && ( CANBus

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

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

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

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

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

DTC Enabled: {(fleet.canbus.dtc_enabled || false).toString()}

)} {showDebugMask && (

Debug Mask: {fleet.debug_mask}

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