import { useState } from "react"; import NewInput from "../NewInput"; import NewButton from "../NewButton"; import useModalStore from "../../stores/useModalStore"; import { IServer } from "../../types/IServer"; import { useQueryClient } from "@tanstack/react-query"; import { useMutation } from "@tanstack/react-query"; import api from "../../utils/api"; function EditTable({ table }: { table: IServer }) { const [tableName, setTableName] = useState(table.name); const [tableDescription, setTableDescription] = useState(table.location); const { setModal } = useModalStore(); const queryClient = useQueryClient(); const { mutate: updateTable } = useMutation({ mutationFn: () => { return api.put(`servers/${table.id}`, { json: { name: tableName, location: tableDescription, }, }); }, onSuccess: () => { queryClient.invalidateQueries({ queryKey: ["servers"] }); setModal(null); }, }); return (

Редатирование стола

setTableName(e.target.value)} isError={tableName.length > 16} errorMessage='Не больше 16 символов' />

Придумайте название до 16 символов, например «Тузик»

setTableDescription(e.target.value)} isError={tableDescription.length > 20} errorMessage='Не больше 20 символов' />

Придумайте описание до 20 символов, например «Расположен в офисе»

16 || tableDescription.length > 20 } className='flex justify-center' onClick={() => updateTable()} >

Сохранить изменения

setModal(null)} >

Отменить

); } export default EditTable;