import React, { FC } from "react"; import { Flex, Stack, TextInput } from "@mantine/core"; import { useForm } from "@mantine/form"; import Footer from "@/app/deals/drawers/DealEditorDrawer/tabs/GeneralTab/components/Footer"; import BoardSelect from "@/components/selects/BoardSelect/BoardSelect"; import StatusSelect from "@/components/selects/StatusSelect/StatusSelect"; import { BoardSchema, DealSchema, StatusSchema } from "@/lib/client"; import { utcDateTimeToLocalString } from "@/utils/datetime"; type Props = { value: DealSchema; onChange: (deal: DealSchema) => void; onDelete: (deal: DealSchema) => void; }; export type DealForm = Omit & { board?: BoardSchema | undefined; status?: StatusSchema | undefined; }; const GeneralTab: FC = ({ value, onDelete, onChange }) => { const form = useForm({ initialValues: value, validate: { name: value => !value && "Введите название", board: value => !value && "Выберите доску", status: value => !value && "Выберите статус", }, }); const onSubmit = (values: DealForm) => { form.resetDirty(); onChange({ ...values, board: values.board!, status: values.status!, }); }; return (
{ form.setFieldValue("board", board ?? undefined); form.setFieldValue("status", undefined); }} projectId={value.board.projectId} flex={1} />