diff --git a/src/components/FamilyAcc/FamilyPopout/AssignMediaTask.jsx b/src/components/FamilyAcc/FamilyPopout/AssignMediaTask.jsx index 1014f8b..c2aa59c 100644 --- a/src/components/FamilyAcc/FamilyPopout/AssignMediaTask.jsx +++ b/src/components/FamilyAcc/FamilyPopout/AssignMediaTask.jsx @@ -4,16 +4,61 @@ import { NewTasks } from './forms' import { PriceFormatter } from '../../Helpers/PriceFormatter' import { useSelector } from 'react-redux'; import { InputCom } from '../../AddJob/settings'; +import * as Yup from "yup"; +import { Form, Formik } from "formik"; + +// To get the validation schema +const validationSchema = Yup.object().shape({ + country: Yup.string() + .min(1, "Minimum 3 characters") + .max(25, "Maximum 25 characters") + .required("required"), + amount: Yup.number() + .typeError("Invalid number") + .min(1, "Must be greater than 0") + .test("no-e", "Invalid number", (value) => { + if (value && /\d+e/.test(value)) { + return false; + } + return true; + }) + .required("required"), + job_description: Yup.string() + .min(3, "Minimum 3 characters") + .max(499, "Maximum 499 characters") + .required("required"), + timeline: Yup.number() + .typeError("you must specify a number") + .min(1, "Must be greater than 0") + .required("required"), + }); + + + export default function AssignMediaTask({ commonMedia, requestStatus, - assignFamilyTask, + setRequestStatus, + assignMediaTask, activeMedia, handleActiveMedia, - closeModal + closeModal, + family_uid }) { + // For form initial values + const initialValues = { + // initial values for formik + country: "", + amount: "", + job_description: "", + timeline: "", + media_uid: activeMedia.uid, + family_uid: family_uid, + media_type: "COMMON" + }; + const {userDetails} = useSelector((state) => state?.userDetails); // CHECKS IF USER Details are avaliable, to determine if user is active const { walletDetails } = useSelector((state) => state?.walletDetails); // WALLET STORE @@ -21,14 +66,6 @@ export default function AssignMediaTask({ let imageSrc = (localStorage.getItem("session_token") ? `${userDetails?.session_image_server}${localStorage.getItem("session_token")}/job/${activeMedia.uid}` : ""); // FOR GETTING JOB IMAGE -// const handleInputChange = (event) => { -// const { name, value } = event.target; -// setFormState((prevState) => ({ -// ...prevState, -// [name]: value, -// })); -// }; - return ( <> {commonMedia?.loading ? ( @@ -36,235 +73,251 @@ export default function AssignMediaTask({ ) : ( - <> -
-
-
- {commonMedia?.data?.length ? ( - commonMedia?.data?.map((item, index) => ( -
handleActiveMedia(item)} - > - - handleActiveMedia(item) - } - className="w-[15px] h-[15px] cursor-pointer" - /> -

- {item?.title} -

-
- )) - ) : ( -

- No Media found! -

- )} -
-
- - {/*Right Hand Side for details && Task Type === select */} - <> - {commonMedia?.data?.length > 0 ? ( -
-
-
- -

- {activeMedia?.description} -

-
- -
-
- job image -
-
-
- {/* Price */} -
- - -
- - {/* Currency */} -
- - + + handleActiveMedia(item) + } + className="w-[15px] h-[15px] cursor-pointer" + /> +

+ {item?.title} +

+
+ )) + ) : ( +

+ No Media found! +

+ )} +
-
- {/* Duration */} -
- - + {walletDetails?.loading ? ( + + ) : walletDetails.data.length ? ( + <> + + {walletDetails.data?.map((item, index) => ( + + ))} + + ) : ( + + )} + +
+
+ + {/* Duration */} +
+ + +
+ + {/* Delivery Detail */} +
+ +