This commit is contained in:
2024-04-28 04:55:19 +03:00
parent c4e106576e
commit d0a32b938c
25 changed files with 274 additions and 58 deletions

View File

@@ -3,16 +3,16 @@ import {Button, Flex, rem, Textarea} from "@mantine/core";
import {DateTimePicker, DateValue} from "@mantine/dates";
import {useForm} from "@mantine/form";
import {DealSummaryReorderRequest} from "../../client";
import {dateWithoutTimezone} from "../../shared/lib/utils.ts";
type Deadline = {
datetime: DateValue,
deadline: DateValue,
comment: string
}
type Props = {
request:DealSummaryReorderRequest,
request: Partial<DealSummaryReorderRequest>,
onSubmit: (
deadline: Deadline,
request: DealSummaryReorderRequest,
) => void;
}
@@ -24,28 +24,37 @@ const EnterDeadlineModal = ({
}: ContextModalProps<Props>) => {
const form = useForm<Deadline>({
initialValues: {
datetime: null,
deadline: null,
comment: '',
},
validate: {
datetime: (datetime) => datetime !== null ? null : 'Необходимо ввести дедлайн',
deadline: (datetime) => datetime !== null ? null : 'Необходимо ввести дедлайн',
}
})
const onCancelClick = () => {
context.closeModal(id);
}
const onSubmit = (values: Deadline) => {
innerProps.onSubmit(values, innerProps.request);
const {deadline, comment} = values;
if (!deadline) return;
innerProps.onSubmit({
...innerProps.request,
deadline: dateWithoutTimezone(deadline),
comment
} as unknown as DealSummaryReorderRequest);
context.closeModal(id);
}
return (
<form onSubmit={form.onSubmit((values) => onSubmit(values))}>
<Flex direction={'column'} gap={10}>
<Flex direction={'column'} gap={rem(10)}>
<DateTimePicker
required
label={'Дата и время'}
placeholder={'Введите дату и время'}
{...form.getInputProps('date')}
minDate={new Date()}
{...form.getInputProps('deadline')}
/>
<Textarea
label={'Коментарий'}
@@ -59,7 +68,9 @@ const EnterDeadlineModal = ({
variant={'default'}
onClick={onCancelClick}
>Отменить</Button>
<Button>Сохранить</Button>
<Button
type={'submit'}
>Сохранить</Button>
</Flex>
</Flex>
</form>