import { Accordion, Button, Col, Grid, Group, MultiSelect, NumberInput, PasswordInput, Select, Text, TextInput, } from "@mantine/core"; import { useForm, yupResolver } from "@mantine/form"; import { useModals } from "@mantine/modals"; import * as yup from "yup"; import shareService from "../../services/share.service"; import toast from "../../utils/toast.util"; const CreateUploadModalBody = ({ mode, uploadCallback, }: { mode: "standard" | "email"; uploadCallback: ( id: string, expiration: number, security: { password?: string; maxVisitors?: number }, emails?: string[] ) => void; }) => { const modals = useModals(); const validationSchema = yup.object().shape({ link: yup.string().required().min(2).max(50), emails: mode == "email" ? yup.array().of(yup.string().email()).min(1) : yup.array(), password: yup.string().min(3).max(100), maxVisitors: yup.number().min(1), }); const form = useForm({ initialValues: { link: "", emails: [] as string[], password: undefined, maxVisitors: undefined, expiration: "1440", }, schema: yupResolver(validationSchema), }); return (
); }; export default CreateUploadModalBody;