Merge branch 'main' into CEC-5542

This commit is contained in:
Paul Adamsen
2024-05-02 22:20:29 -04:00
committed by GitHub
3 changed files with 56 additions and 57 deletions

View File

@@ -214,53 +214,51 @@ const MainForm = ({ name }) => {
selectCount={selected.length}
rowCount={fleetVehicles.length}
/>
<VehicleProvider>
<TableBody>
{fleetVehicles && fleetVehicles.map((car) => {
const isSelected = selected.includes(car.vin);
return (car.vin && <TableRow key={"row" + car.vin}>
<TableCell padding="checkbox">
<Checkbox
checked={isSelected}
onChange={() => handleSelect(car.vin, !isSelected)}
/>
</TableCell>
<TableCell key={"cell" + car.vin} align="center">
<VehicleTeaser
vin={car.vin}
icc={car.connectedHMI}
trex={car.connected}
token={token}
/>
</TableCell>
<TableCell key={"cell2" + car.vin} align="center">{car.trex_version}</TableCell>
<TableCell key={"cell3" + car.car_update_name}>
<Tooltip key={"cell3tooltip"} title={`${car.car_update_id} / ${car.car_update_type}`}>
<Link to={`/vehicle-status/${car.vin}/${car.car_update_id}`} className={classes.truncateCell}>
{car.car_update_name}
</Link>
</Tooltip>
</TableCell>
<TableCell key={"cell4" + car.vin}>
{car.car_update_status}
{car.car_update_progress > -1 && (
<LinearProgress variant="determinate" value={car.car_update_progress} />
)}
</TableCell>
<TableCell key={"cell5" + car.vin} align="left">
<Battery percent={car.charge} charge={car.charge_type} />
</TableCell>
<TableCell key={"cell6" + car.vin}>
{car.voltage > 0 && `${car.voltage}V`}
</TableCell>
<TableCell key={"cell7" + car.vin}>
{car.park ? "Yes" : "No"}
</TableCell>
</TableRow>
)
})}
</TableBody>
</VehicleProvider>
<TableBody>
{fleetVehicles && fleetVehicles.map((car) => {
const isSelected = selected.includes(car.vin);
return (car.vin && <TableRow key={"row" + car.vin}>
<TableCell padding="checkbox">
<Checkbox
checked={isSelected}
onChange={() => handleSelect(car.vin, !isSelected)}
/>
</TableCell>
<TableCell key={"cell" + car.vin} align="center">
<VehicleTeaser
vin={car.vin}
icc={car.connectedHMI}
trex={car.connected}
token={token}
/>
</TableCell>
<TableCell key={"cell2" + car.vin} align="center">{car.trex_version}</TableCell>
<TableCell key={"cell3" + car.car_update_name}>
<Tooltip key={"cell3tooltip"} title={`${car.car_update_id} / ${car.car_update_type}`}>
<Link to={`/vehicle-status/${car.vin}/${car.car_update_id}`} className={classes.truncateCell}>
{car.car_update_name}
</Link>
</Tooltip>
</TableCell>
<TableCell key={"cell4" + car.vin}>
{car.car_update_status}
{car.car_update_progress > -1 && (
<LinearProgress variant="determinate" value={car.car_update_progress} />
)}
</TableCell>
<TableCell key={"cell5" + car.vin} align="left">
<Battery percent={car.charge} charge={car.charge_type} />
</TableCell>
<TableCell key={"cell6" + car.vin}>
{car.voltage > 0 && `${car.voltage}V`}
</TableCell>
<TableCell key={"cell7" + car.vin}>
{car.park ? "Yes" : "No"}
</TableCell>
</TableRow>
)
})}
</TableBody>
<TableFooter>
<TableRow>
<TablePagination

View File

@@ -3,9 +3,9 @@ import { Link } from "react-router-dom";
import Chip from '@mui/material/Chip';
import Stack from '@mui/material/Stack';
import ConnectedIcon from "../Controls/ConnectedIcon";
import { useVehicleContext } from "../Contexts/VehicleContext";
import useStyles from "../useStyles";
import { useIntersectObserver } from "../../hooks";
import api from "../../services/vehiclesAPI";
// Prevent fetching missing data by not including `token` prop
@@ -13,8 +13,7 @@ export function VehicleTeaserController(props) {
const el = useRef(null);
const isVisible = useIntersectObserver(el, "0px", true);
const [isMissingData, setIsMissingData] = useState(false);
const { getVehicle, vehicle } = useVehicleContext();
const [vehicle, setVehicle] = useState({});
const classes = useStyles();
@@ -26,7 +25,9 @@ export function VehicleTeaserController(props) {
useEffect(() => {
if (isVisible && props.token) {
getVehicle(props.vin, props.token)
api.getVehicle(props.vin, props.token)
.then(setVehicle)
.catch(() => setVehicle({}));
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isMissingData, isVisible, props.vin, props.token]);