"use client"; import { Fieldset, Stack, Textarea, TextInput } from "@mantine/core"; import { useForm } from "@mantine/form"; import { ContextModalProps } from "@mantine/modals"; import isValidInn from "@/app/clients/utils/isValidInn"; import { ClientSchema, CreateClientSchema, UpdateClientSchema, } from "@/lib/client"; import BaseFormModal, { CreateEditFormProps, } from "@/modals/base/BaseFormModal/BaseFormModal"; type Props = CreateEditFormProps< ClientSchema, CreateClientSchema, UpdateClientSchema >; const ClientEditorModal = ({ context, id, innerProps, }: ContextModalProps) => { const initialValues = innerProps.isEditing ? innerProps.entity : ({ name: "", companyName: "", details: { telegram: "", phoneNumber: "", email: "", inn: "", }, comment: "", } as CreateClientSchema); const form = useForm({ initialValues, validate: { name: name => (!name || name.trim() === "") && "Необходимо ввести название клиента", details: { inn: inn => inn.length > 0 && !isValidInn(inn) && "Некорректный ИНН", }, }, }); return ( context.closeContextModal(id)}>