import React, { useEffect, useState } from "react"; import { Grid } from "@material-ui/core"; import AddCircleIcon from "@material-ui/icons/AddCircle"; import { Link } from "react-router-dom"; import { VehicleProvider } from "../../Contexts/VehicleContext"; import { useUserContext } from "../../Contexts/UserContext"; import { useStatusContext } from "../../Contexts/StatusContext"; import useStyles from "../../useStyles"; import SendCommand from "../SendCommand"; import SearchField from "../../Controls/SearchField"; import CarSelectionTable from "../CarSelectionTable"; import { logger } from "../../../services/monitoring"; const MainForm = () => { const classes = useStyles(); const [selected, setSelected] = useState([]); const [search, setSearch] = useState(""); const { setTitle, setSitePath } = useStatusContext(); const { token: { idToken: { jwtToken: token }, }, } = useUserContext(); const handleSearch = (search) => { setSelected([]); setSearch(search); }; const handleSelectAll = (cars) => { setSelected(cars); }; const handleSelect = (event, key) => { try { let newSelected; if (event.target.checked) { newSelected = [...selected]; newSelected.push(key); } else { newSelected = selected.filter((vin) => vin !== key); } setSelected(newSelected); } catch (e) { logger.warn(e.stack); } }; useEffect(() => { setTitle("Vehicles"); setSitePath([]); // eslint-disable-next-line react-hooks/exhaustive-deps }, []); return (