import { Paper, TextField, Select, MenuItem, FormControl, InputLabel, Button, } from "@mui/material"; import { observer } from "mobx-react-lite"; import { ArrowLeft, Loader2, Save } from "lucide-react"; import { useNavigate, useParams } from "react-router-dom"; import { useEffect, useState } from "react"; import { carrierStore, VEHICLE_TYPES, vehicleStore } from "@shared"; import { toast } from "react-toastify"; export const VehicleEditPage = observer(() => { const navigate = useNavigate(); const { id } = useParams(); const { getVehicle, vehicle, editVehicleData, setEditVehicleData, editVehicle, } = vehicleStore; const { getCarriers } = carrierStore; useEffect(() => { (async () => { await getVehicle(Number(id)); await getCarriers(); setEditVehicleData({ tail_number: vehicle[Number(id)]?.vehicle.tail_number, type: vehicle[Number(id)]?.vehicle.type, carrier: vehicle[Number(id)]?.vehicle.carrier, carrier_id: vehicle[Number(id)]?.vehicle.carrier_id, }); })(); }, [id]); const [isLoading, setIsLoading] = useState(false); const handleEdit = async () => { try { setIsLoading(true); await editVehicle(Number(id), editVehicleData); toast.success("Транспортное средство успешно обновлено"); navigate("/vehicle"); } catch (error) { toast.error("Ошибка при обновлении транспортного средства"); } finally { setIsLoading(false); } }; return (
setEditVehicleData({ ...editVehicleData, tail_number: Number(e.target.value), }) } /> Тип Перевозчик
); });