v0.1
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user