mirror of
https://github.com/WDI-Ideas/rubix-admin-panel.git
synced 2026-04-27 22:35:51 +00:00
93 lines
3.5 KiB
JavaScript
93 lines
3.5 KiB
JavaScript
import * as Yup from "yup";
|
|
|
|
export const validationSchema = Yup.object().shape({
|
|
name: Yup.string().required("Owner 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().required("Linked In link is required"),
|
|
profile_image: Yup.mixed().required("Display picture is required"),
|
|
});
|
|
|
|
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().required("Linked In link is required"),
|
|
banner_image: Yup.mixed().required("Display picture is required"),
|
|
});
|
|
|
|
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().required("Content is required"),
|
|
summary: Yup.string().required("Summary is required"),
|
|
});
|
|
|
|
|
|
|
|
|
|
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("fileSize", "Image must be at least 2MB", (value) => {
|
|
// If no file uploaded, return true (validation passed)
|
|
if (!value) return true;
|
|
|
|
// Calculate file size in bytes
|
|
const fileSizeInBytes = value.size;
|
|
// Convert bytes to megabytes
|
|
const fileSizeInMB = fileSizeInBytes / (1024 * 1024);
|
|
|
|
// Check if file size is at least 2MB
|
|
return fileSizeInMB >= 10;
|
|
}).required("Banner image is required")
|
|
});
|
|
|
|
|
|
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("fileSize", "Image must be at least 2MB", (value) => {
|
|
// // If no file uploaded, return true (validation passed)
|
|
// if (!value) return true;
|
|
|
|
// // Calculate file size in bytes
|
|
// const fileSizeInBytes = value.size;
|
|
// // Convert bytes to megabytes
|
|
// const fileSizeInMB = fileSizeInBytes / (1024 * 1024);
|
|
|
|
// // Check if file size is at least 2MB
|
|
// return fileSizeInMB >= 10;
|
|
// })
|
|
}); |