import React, { useEffect, useState, lazy, Suspense } from 'react' import LoadingSpinner from '../../Spinners/LoadingSpinner' 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({ currency: 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_days: Yup.number() .typeError("you must specify a number") .min(1, "Must be greater than 0") .required("required"), }); const VideoElement = lazy(() => import("../../VideoCom/VideoElement")); // LAZY IMPORTING VIDEO COMPONENT export default function AssignMediaTask({ commonMedia, requestStatus, setRequestStatus, assignMediaTask, activeMedia, handleActiveMedia, closeModal, family_uid }) { 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 // For form initial values const initialValues = { // initial values for formik currency: walletDetails.data.length == 1 ? walletDetails.data[0].country : '', amount: "", job_description: "", timeline_days: "", media_uid: activeMedia?.uid, family_uid: family_uid, media_type: "COMMON" }; // let imageSrc = (localStorage.getItem("session_token") // ? `${userDetails?.session_image_server}${localStorage.getItem("session_token")}/job/${activeMedia.uid}` : ""); // FOR GETTING JOB IMAGE return ( <> {commonMedia?.loading ? (