import { Button, Col, Grid, Group, NumberInput, Select, Stack, Switch, Text, } from "@mantine/core"; import { useForm } from "@mantine/form"; import { useModals } from "@mantine/modals"; import { ModalsContextProps } from "@mantine/modals/lib/context"; import { FormattedMessage } from "react-intl"; import useTranslate, { translateOutsideContext, } from "../../../hooks/useTranslate.hook"; import shareService from "../../../services/share.service"; import { getExpirationPreview } from "../../../utils/date.util"; import toast from "../../../utils/toast.util"; import FileSizeInput from "../FileSizeInput"; import showCompletedReverseShareModal from "./showCompletedReverseShareModal"; const showCreateReverseShareModal = ( modals: ModalsContextProps, showSendEmailNotificationOption: boolean, getReverseShares: () => void, ) => { const t = translateOutsideContext(); return modals.openModal({ title: t("account.reverseShares.modal.title"), children: ( ), }); }; const Body = ({ getReverseShares, showSendEmailNotificationOption, }: { getReverseShares: () => void; showSendEmailNotificationOption: boolean; }) => { const modals = useModals(); const t = useTranslate(); const form = useForm({ initialValues: { maxShareSize: 104857600, maxUseCount: 1, sendEmailNotification: false, expiration_num: 1, expiration_unit: "-days", }, }); return (
{ shareService .createReverseShare( values.expiration_num + values.expiration_unit, values.maxShareSize, values.maxUseCount, values.sendEmailNotification, ) .then(({ link }) => { modals.closeAll(); showCompletedReverseShareModal(modals, link, getReverseShares); }) .catch(toast.axiosError); })} >