import { Button, Group, Stack, Text, Title } from '@mantine/core';
import { DateTimePicker } from '@mantine/dates';
import { useForm } from '@mantine/form';
import { ContextModalProps, modals } from '@mantine/modals';
import dayjs from 'dayjs';
import { Trans, useTranslation } from 'next-i18next';
import { api } from '~/utils/api';
import { useI18nZodResolver } from '~/utils/i18n-zod-resolver';
import { createInviteSchema } from '~/validations/invite';
import { openCopyInviteModal } from './copy-invite.modal';
export const CreateInviteModal = ({ id }: ContextModalProps<{}>) => {
const { t } = useTranslation('manage/users/invites');
const utils = api.useContext();
const { isLoading, mutateAsync } = api.invites.create.useMutation({
onSuccess: async (data) => {
await utils.invites.all.invalidate();
modals.close(id);
openCopyInviteModal(data);
},
});
const { i18nZodResolver } = useI18nZodResolver();
const minDate = dayjs().add(5, 'minutes').toDate();
const maxDate = dayjs().add(6, 'months').toDate();
const form = useForm({
initialValues: {
expirationDate: dayjs().add(7, 'days').toDate(),
},
validate: i18nZodResolver(createInviteSchema),
});
return (