import * as Yup from "yup"; export const validationSchema = Yup.object().shape({ name: Yup.string().required("Email name is required"), password: Yup.string().required("Password is required"), }); export const addCommunitySchema = Yup.object().shape({ member_name: Yup.string().required("Name is required"), designation: Yup.string().required("Designation is required"), description: Yup.string().required("Description is required"), linkedin: Yup.string() .url("Invalid LinkedIn URL") .required("Linked In link is required"), profile_image: Yup.mixed() .test("required", "You need to provide a file", (files) => { // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; if (files) return true; return false; }) .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { //if u want to allow only certain file sizes try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) .optional(), }); export const schemaEdit = Yup.object().shape({ member_name: Yup.string().required("Name is required"), designation: Yup.string().required("Designation is required"), description: Yup.string().required("Description is required"), linkedin: Yup.string() .url("Invalid LinkedIn URL") .required("LinkedIn is required"), }); export const addCommunityBannerSchema = Yup.object().shape({ heading: Yup.string().required("Name is required"), sub_heading: Yup.string().required("Designation is required"), CTO_button_title: Yup.string().required("Description is required"), CTO_button_link: Yup.string() .url("Invalid LinkedIn URL") .required("LinkedIn is required"), banner_image: Yup.mixed() .test("required", "You need to provide a file", (files) => { // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; if (files) return true; return false; }) .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { //if u want to allow only certain file sizes try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) .optional(), }); export const editCommunityBannerSchema = Yup.object().shape({ heading: Yup.string().required("Name is required"), sub_heading: Yup.string().required("Designation is required"), CTO_button_title: Yup.string().required("Description is required"), CTO_button_link: Yup.string() .url("Invalid LinkedIn URL") .required("LinkedIn is required"), }); export const addBlogSchema = Yup.object().shape({ author_name: Yup.string().required("Author is required"), author_designation: Yup.string().required("Author designation is required"), title: Yup.string().required("Title is required"), meta_description: Yup.string().required("Description is required"), content: Yup.string(), summary: Yup.string().required("Summary is required"), profile_image: Yup.mixed() .test("required", "You need to provide a file", (files) => { // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; if (files) return true; return false; }) .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { //if u want to allow only certain file sizes try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) .test("file_formate", "Image file has unsupported format.", (files) => { // // // console.log(files[0].type) const SUPPORTED_FORMATS = [ "image/jpeg", "image/jpg", "image/png", // "image/gif", "image/tiff", "image/svg+xml", ]; try { if (files.length !== 0) { return files && SUPPORTED_FORMATS.includes(files[0].type); } return true; } catch (error) { return false; } }) .optional(), content_image_large: Yup.mixed() .test("required", "You need to provide a file", (files) => { // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; if (files) return true; return false; }) .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { //if u want to allow only certain file sizes try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) .optional(), }); export const editBlogSchema = Yup.object().shape({ author_name: Yup.string().required("Author is required"), author_designation: Yup.string().required("Author designation is required"), title: Yup.string().required("Title is required"), meta_description: Yup.string().required("Description is required"), content: Yup.string(), summary: Yup.string().required("Summary is required"), profile_image: Yup.mixed() .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { //if u want to allow only certain file sizes try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) .test("file_formate", "Image file has unsupported format.", (files) => { // // // console.log(files[0].type) const SUPPORTED_FORMATS = [ "image/jpeg", "image/jpg", "image/png", // "image/gif", "image/tiff", "image/svg+xml", ]; try { if (files.length !== 0) { return files && SUPPORTED_FORMATS.includes(files[0].type); } return true; } catch (error) { return false; } }) .optional(), content_image_large: Yup.mixed() .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { //if u want to allow only certain file sizes try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) .optional(), }); export const addNews = Yup.object().shape({ title: Yup.string().required("Author is required"), release_date: Yup.date().required("Release date is required"), meta_description: Yup.string().required("Description is required"), content: Yup.string().required("Content is required"), banner_image: Yup.mixed() .test("required", "You need to provide a file", (files) => { // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; if (files) return true; return false; }) .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { //if u want to allow only certain file sizes try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) // .test("file_formate", "Image file has unsupported format.", (files) => { // // // // console.log(files[0].type) // const SUPPORTED_FORMATS = [ // "image/jpeg", // "image/png", // "image/gif", // "image/tiff", // "image/svg+xml", // ]; // try { // if (files.length !== 0) { // // return files && SUPPORTED_FORMATS.includes(files[0].type); // } // return true; // } catch (error) { // return false; // } // }) .optional(), }); export const editNews = Yup.object().shape({ title: Yup.string(), release_date: Yup.date(), meta_description: Yup.string(), content: Yup.string(), banner_image: Yup.mixed() .test("required", "You need to provide a file", (files) => { // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; if (files) return true; return false; }) // .test( // "fileSize", // " The maximum size of profile picture is 10MB.", // (files) => { // //if u want to allow only certain file sizes // try { // if (files.length !== 0) { // return files[0].size <= 10000000; // } // return true; // } catch (error) { // return false; // } // } // ) // .test("file_formate", "Image file has unsupported format.", (files) => { // // // // console.log(files[0].type) // const SUPPORTED_FORMATS = [ // "image/jpeg", // "image/png", // "image/gif", // "image/tiff", // "image/svg+xml", // ]; // try { // if (files.length !== 0) { // // return files && SUPPORTED_FORMATS.includes(files[0].type); // } // return true; // } catch (error) { // return false; // } // }) .optional(), }); export const addEvents = Yup.object().shape({ title: Yup.string().required("title is required"), content: Yup.string().required("content is required"), location: Yup.string().required("location is required"), organizer_name: Yup.string().required("Org name date is required"), eventDates: Yup.string(), organizer_mobile_number: Yup.string() .required("Org contact is required") .matches(/^[0-9]{10}$/, "Mobile number must be 10 digits"), organizer_email: Yup.string() .required("Org email is required") .email("Please enter valid email"), banner_image: Yup.mixed() .test("required", "You need to provide a file", (files) => { // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; if (files) return true; return false; }) // .test( // "fileSize", // " The maximum size of profile picture is 10MB.", // (files) => { // //if u want to allow only certain file sizes // try { // if (files.length !== 0) { // return files[0].size <= 10000000; // } // return true; // } catch (error) { // return false; // } // } // ) // .test("file_formate", "Image file has unsupported format.", (files) => { // // // // console.log(files[0].type) // const SUPPORTED_FORMATS = [ // "image/jpeg", // "image/png", // "image/gif", // "image/tiff", // "image/svg+xml", // ]; // try { // if (files.length !== 0) { // // return files && SUPPORTED_FORMATS.includes(files[0].type); // } // return true; // } catch (error) { // return false; // } // }) .optional(), }); export const addWhitePapers = Yup.object().shape({ title: Yup.string().required("title is required"), image: Yup.mixed() .test("required", "You need to provide a file", (files) => { // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; if (files) return true; return false; }) .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { //if u want to allow only certain file sizes try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) // .test("file_formate", "Image file has unsupported format.", (files) => { // // // // console.log(files[0].type) // const SUPPORTED_FORMATS = [ // "image/jpeg", // "image/jpg", // "image/png", // "image/gif", // "image/tiff", // "image/svg+xml", // ]; // try { // if (files.length !== 0) { // // return files && SUPPORTED_FORMATS.includes(files[0].type); // } // return true; // } catch (error) { // return false; // } // }) .optional(), document: Yup.mixed() // .test("required", "You need to provide a file", (files) => { // // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; // if (files) return true; // return false; // }) .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { //if u want to allow only certain file sizes try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) .optional(), // .test("file_formate", "Image file has unsupported format.", (files) => { // // // // console.log(files[0].type) // const SUPPORTED_FORMATS = [ // "image/jpeg", // "image/png", // "image/jpg", // "image/gif", // "image/tiff", // "image/svg+xml", // ]; // try { // if (files.length !== 0) { // // return files && SUPPORTED_FORMATS.includes(files[0].type); // } // return true; // } catch (error) { // return false; // } // }) }); // test("fileSize", "Image must be at least 10MB", (value) => { // if (!value) return true; // const fileSizeInBytes = value.size; // const fileSizeInMB = fileSizeInBytes / (1024 * 1024); // return fileSizeInMB >= 10; // }) export const addVideos = Yup.object().shape({ title: Yup.string().required("Name is required"), thumbnail: Yup.mixed() .required("Thumbnail is required") .test("required", "You need to provide a file", (files) => { // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; if (files) return true; return false; }) .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { //if u want to allow only certain file sizes try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ), description: Yup.string().required("Description is required"), duration: Yup.string().required("LinkedIn is required"), embeddedCode: Yup.string().required("LinkedIn is required"), }); export const addUsecase = Yup.object().shape({ title: Yup.string().required("Name is required"), meta_description: Yup.string().required("Description is required"), attachment: Yup.mixed(), content: Yup.string(), banner_image: Yup.mixed() // .required("Thumbnail is required") .test("required", "You need to provide a file", (files) => { // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; if (files) return true; return false; }) .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { //if u want to allow only certain file sizes try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) .optional(), icon: Yup.mixed() // .required("Icon is required") .test("required", "You need to provide a file", (files) => { if (files) return true; return false; }) .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) .optional(), }); export const editUsecase = Yup.object().shape({ title: Yup.string().required("Name is required"), meta_description: Yup.string().required("Description is required"), attachment: Yup.mixed(), content: Yup.string(), banner_image: Yup.mixed() // .required("Thumbnail is required") .test("required", "You need to provide a file", (files) => { // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; if (files) return true; return false; }) .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { //if u want to allow only certain file sizes try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) .optional(), icon: Yup.mixed() // .required("Icon is required") .test("required", "You need to provide a file", (files) => { if (files) return true; return false; }) .test( "fileSize", " The maximum size of profile picture is 10MB.", (files) => { try { if (files.length !== 0) { return files[0].size <= 10000000; } return true; } catch (error) { return false; } } ) .optional(), }); export const addTerms = Yup.object().shape({ title: Yup.string().required("title is required"), content: Yup.string(), banner_image: Yup.mixed() // .test("required", "You need to provide a file", (files) => { // // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; // if (files) return true; // return false; // }) // .test( // "fileSize", // " The maximum size of profile picture is 10MB.", // (files) => { // //if u want to allow only certain file sizes // try { // if (files.length !== 0) { // return files[0].size <= 10000000; // } // return true; // } catch (error) { // return false; // } // } // ) .optional(), // .test("file_formate", "Image file has unsupported format.", (files) => { // // // // console.log(files[0].type) // const SUPPORTED_FORMATS = [ // "image/jpeg", // "image/png", // "image/jpg", // "image/gif", // "image/tiff", // "image/svg+xml", // ]; // try { // if (files.length !== 0) { // // return files && SUPPORTED_FORMATS.includes(files[0].type); // } // return true; // } catch (error) { // return false; // } // }) }); export const addPolicy = Yup.object().shape({ title: Yup.string().required("title is required"), content: Yup.string(), banner_image: Yup.mixed() // .test("required", "You need to provide a file", (files) => { // // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; // if (files) return true; // return false; // }) // .test( // "fileSize", // " The maximum size of profile picture is 10MB.", // (files) => { // //if u want to allow only certain file sizes // try { // if (files.length !== 0) { // return files[0].size <= 10000000; // } // return true; // } catch (error) { // return false; // } // } // ) .optional(), // .test("file_formate", "Image file has unsupported format.", (files) => { // // // // console.log(files[0].type) // const SUPPORTED_FORMATS = [ // "image/jpeg", // "image/png", // "image/jpg", // "image/gif", // "image/tiff", // "image/svg+xml", // ]; // try { // if (files.length !== 0) { // // return files && SUPPORTED_FORMATS.includes(files[0].type); // } // return true; // } catch (error) { // return false; // } // }) }); export const addPartnerCard = Yup.object().shape({ website_link: Yup.string().required("link is required"), description: Yup.string().required("description is required"), banner_image: Yup.mixed() .required("logo is required") // .test("required", "You need to provide a file", (files) => { // // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; // if (files) return true; // return false; // }) // .test( // "fileSize", // " The maximum size of profile picture is 10MB.", // (files) => { // //if u want to allow only certain file sizes // try { // if (files.length !== 0) { // return files[0].size <= 10000000; // } // return true; // } catch (error) { // return false; // } // } // ) .optional(), // .test("file_formate", "Image file has unsupported format.", (files) => { // // // // console.log(files[0].type) // const SUPPORTED_FORMATS = [ // "image/jpeg", // "image/png", // "image/jpg", // "image/gif", // "image/tiff", // "image/svg+xml", // ]; // try { // if (files.length !== 0) { // // return files && SUPPORTED_FORMATS.includes(files[0].type); // } // return true; // } catch (error) { // return false; // } // }) }); export const addFaq = Yup.object().shape({ question: Yup.string().required("Qustion is required"), answer: Yup.string() // banner_image: Yup.mixed() // .test("required", "You need to provide a file", (files) => { // // return file && file.size <-- u can use this if you don't want to allow empty files to be uploaded; // if (files) return true; // return false; // }) // .test( // "fileSize", // " The maximum size of profile picture is 10MB.", // (files) => { // //if u want to allow only certain file sizes // try { // if (files.length !== 0) { // return files[0].size <= 10000000; // } // return true; // } catch (error) { // return false; // } // } // ) .optional(), // .test("file_formate", "Image file has unsupported format.", (files) => { // // // // console.log(files[0].type) // const SUPPORTED_FORMATS = [ // "image/jpeg", // "image/png", // "image/jpg", // "image/gif", // "image/tiff", // "image/svg+xml", // ]; // try { // if (files.length !== 0) { // // return files && SUPPORTED_FORMATS.includes(files[0].type); // } // return true; // } catch (error) { // return false; // } // }) }); // Tanami Schema export const investmentSchema = Yup.object().shape({ name: Yup.string().required("Name is required"), address: Yup.string().required("Type is required"), mobile: Yup.string().required("Total Fund is required"), bankDetails: Yup.string().required("Total Investor is required"), bankAccount: Yup.string().required("Predicted Income is required"), status: Yup.string() .oneOf(["available", "upcoming", "closed"], "Invalid status") .required("Status is required"), });