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
Name: {name}
Vehicles: {fleet.vehicles ? fleet.vehicles.length : 0}
{fleet.log_level != null && (Log Level: {fleet.log_level}
)}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()}
Debug Mask: {fleet.debug_mask}