import React, { useEffect } from "react"; import { useParams } from "react-router"; import { useLocation } from "react-router-dom"; import clsx from "clsx"; import { Box, Tab, Tabs } from "@material-ui/core"; import CarDetailsTab from "./DetailsTab"; import CarUpdatesTab from "./CarUpdatesTab"; import CANFiltersTab from "./CANFiltersTab"; import TabPanel from "../../Controls/TabPanel"; import { useStatusContext } from "../../Contexts/StatusContext"; import useStyles from "../../useStyles"; const tabHashes = ["details", "updates", "filters"]; const CarStatus = () => { const { vin } = useParams(); const classes = useStyles(); const { setTitle, setSitePath } = useStatusContext(); const { hash } = useLocation(); const [tabIndex, setTabIndex] = React.useState(0); useEffect(() => { const key = hash.replace("#", ""); const index = tabHashes.findIndex((element) => element === key); if (index >= 0) setTabIndex(index); }, [hash]); useEffect(() => { const title = `Vehicle ${vin} Details`; setTitle(title); setSitePath([ { label: "Vehicles", link: "/vehicles", }, { label: title, }, ]); // eslint-disable-next-line react-hooks/exhaustive-deps }, [vin]); const handleTabChange = (_event, newIndex) => { setTabIndex(newIndex); }; return (