import { Button, Paper, TextField, Select, MenuItem, FormControl, InputLabel, } from "@mui/material"; import { observer } from "mobx-react-lite"; import { ArrowLeft, Save } from "lucide-react"; import { Loader2 } from "lucide-react"; import { useNavigate } from "react-router-dom"; import { toast } from "react-toastify"; import { carrierStore, cityStore, mediaStore } from "@shared"; import { useState, useEffect } from "react"; import { MediaViewer } from "@widgets"; export const CarrierCreatePage = observer(() => { const navigate = useNavigate(); const [fullName, setFullName] = useState(""); const [shortName, setShortName] = useState(""); const [cityId, setCityId] = useState(null); const [main_color, setMainColor] = useState("#000000"); const [left_color, setLeftColor] = useState("#ffffff"); const [right_color, setRightColor] = useState("#ff0000"); const [slogan, setSlogan] = useState(""); const [selectedMediaId, setSelectedMediaId] = useState(null); const [isLoading, setIsLoading] = useState(false); useEffect(() => { cityStore.getCities("ru"); mediaStore.getMedia(); }, []); const handleCreate = async () => { try { setIsLoading(true); await carrierStore.createCarrier( fullName, shortName, cityStore.cities.ru.find((c) => c.id === cityId)?.name!, cityId!, main_color, left_color, right_color, slogan, selectedMediaId! ); toast.success("Перевозчик успешно создан"); navigate("/carrier"); } catch (error) { toast.error("Ошибка при создании перевозчика"); } finally { setIsLoading(false); } }; return (
Город setFullName(e.target.value)} /> setShortName(e.target.value)} />
setMainColor(e.target.value)} type="color" sx={{ "& input": { height: "50px", paddingBlock: "14px", paddingInline: "14px", cursor: "pointer", }, }} /> setLeftColor(e.target.value)} type="color" sx={{ "& input": { height: "50px", paddingBlock: "14px", paddingInline: "14px", cursor: "pointer", }, }} /> setRightColor(e.target.value)} type="color" sx={{ "& input": { height: "50px", paddingBlock: "14px", paddingInline: "14px", cursor: "pointer", }, }} />
setSlogan(e.target.value)} />
Логотип {selectedMediaId && (
)}
); });