import React, { FC } from "react"; import { Stack, Text, TextInput } from "@mantine/core"; import { useForm } from "@mantine/form"; import Footer from "@/app/deals/drawers/DealEditorDrawer/tabs/GeneralTab/Footer"; import BoardSelect from "@/components/selects/BoardSelect/BoardSelect"; import StatusSelect from "@/components/selects/StatusSelect/StatusSelect"; import { DealsCrud } from "@/hooks/cruds/useDealsCrud"; import { DealSchema, ProjectSchema } from "@/lib/client"; import { utcDateTimeToLocalString } from "@/utils/datetime"; type Props = { project: ProjectSchema; dealsCrud: DealsCrud; deal: DealSchema; setDeal: React.Dispatch>; onClose: () => void; }; const GeneralTab: FC = ({ project, deal, setDeal, dealsCrud, onClose, }) => { const form = useForm>({ initialValues: deal, validate: { name: value => !value && "Введите название", board: value => !value && "Выберите доску", status: value => !value && "Выберите статус", }, }); const onSubmit = (values: Partial) => { dealsCrud.onUpdate(deal.id, { ...values, boardId: values.board?.id, statusId: values.status?.id, }); setDeal(prev => ({ ...prev, ...values, })); }; const onDelete = () => { dealsCrud.onDelete(deal, onClose); }; return (
Создано: {utcDateTimeToLocalString(deal.createdAt)} { form.setFieldValue("board", board ?? undefined); form.setFieldValue("status", undefined); }} projectId={project?.id} />