import { Button, FormControlLabel, Checkbox, Paper, TextField, } from "@mui/material"; import { observer } from "mobx-react-lite"; import { ArrowLeft, Save } from "lucide-react"; import { Loader2 } from "lucide-react"; import { useNavigate, useParams } from "react-router-dom"; import { toast } from "react-toastify"; import { userStore } from "@shared"; import { useEffect, useState } from "react"; export const UserEditPage = observer(() => { const navigate = useNavigate(); const [isLoading, setIsLoading] = useState(false); const { id } = useParams(); const { editUserData, editUser, getUser, setEditUserData, user } = userStore; const handleEdit = async () => { try { setIsLoading(true); await editUser(Number(id)); toast.success("Пользователь успешно обновлен"); navigate("/user"); } catch (error) { toast.error("Ошибка при обновлении пользователя"); } finally { setIsLoading(false); } }; useEffect(() => { (async () => { if (id) { const data = await getUser(Number(id)); setEditUserData( data?.name || "", data?.email || "", data?.password || "", data?.is_admin || false ); } })(); }, [id]); return (
setEditUserData( e.target.value, editUserData.email || "", editUserData.password || "", editUserData.is_admin || false ) } /> setEditUserData( editUserData.name || "", e.target.value, editUserData.password || "", editUserData.is_admin || false ) } /> setEditUserData( editUserData.name || "", editUserData.email || "", e.target.value, editUserData.is_admin || false ) } /> setEditUserData( editUserData.name || "", editUserData.email || "", editUserData.password || "", e.target.checked ) } /> } label="Администратор" />
); });