diff --git a/src/components/AddJob/AddJob.jsx b/src/components/AddJob/AddJob.jsx index dc2e2e0..ce4ab72 100644 --- a/src/components/AddJob/AddJob.jsx +++ b/src/components/AddJob/AddJob.jsx @@ -1,19 +1,18 @@ import React, { useState, useEffect } from "react"; -import { Link } from "react-router-dom"; import InputCom from "../Helpers/Inputs/InputCom"; import LoadingSpinner from "../Spinners/LoadingSpinner"; import usersService from "../../services/UsersService"; -import { useSelector, useDispatch } from "react-redux"; +import { useDispatch } from "react-redux"; import { tableReload } from "../../store/TableReloads"; import { Field, Form, Formik } from "formik"; import * as Yup from "yup"; const validationSchema = Yup.object().shape({ - country: Yup.string() + currency: Yup.string() .min(1, "Minimum 3 characters") .max(25, "Maximum 25 characters") .required("Country is required"), - price: Yup.number() + price: Yup.string() .typeError("Invalid number") .min(1, "Price must be greater than 0") .test("no-e", "Invalid number", (value) => { @@ -44,11 +43,9 @@ const validationSchema = Yup.object().shape({ function AddJob({ popUpHandler, categories }) { const ApiCall = new usersService(); + let dispatch = useDispatch(); - let { userDetails } = useSelector((state) => state.userDetails); - - const [numberValue, setNumberValue] = useState(""); let [currency, setCurrency] = useState({ loading: true, status: false, @@ -412,3 +409,10 @@ const publicArray = [ { duration: 21, name: "3 weeks" }, { duration: 28, name: "4 weeks" }, ]; + +// .test("no-e", "Invalid number", (value) => { +// if (value && /\d+e/.test(value)) { +// return false; +// } +// return true; +// }) diff --git a/src/components/jobPopout/EditJobPopout.jsx b/src/components/jobPopout/EditJobPopout.jsx index ebaff96..67e66ce 100644 --- a/src/components/jobPopout/EditJobPopout.jsx +++ b/src/components/jobPopout/EditJobPopout.jsx @@ -9,6 +9,40 @@ import { useNavigate } from "react-router-dom"; import { tableReload } from "../../store/TableReloads"; import { useDispatch } from "react-redux"; +const validationSchema = Yup.object().shape({ + currency: Yup.string() + .min(1, "Minimum 3 characters") + .max(25, "Maximum 25 characters") + .required("Country is required"), + price: Yup.string() + .typeError("Invalid number") + .min(1, "Price must be greater than 0") + .test("no-e", "Invalid number", (value) => { + if (value && /\d+e/.test(value)) { + return false; + } + return true; + }) + .required("Price is required"), + title: Yup.string() + .min(3, "Minimum 3 characters") + .max(100, "Maximum 25 characters") + .required("Title is required"), + description: Yup.string() + .min(3, "Minimum 3 characters") + .max(250, "Maximum 250 characters") + .required("Description is required"), + job_detail: Yup.string() + .min(3, "Minimum 3 characters") + .max(250, "Maximum 250 characters") + .required("Details is required"), + timeline_days: Yup.number() + .typeError("you must specify a number") + .min(1, "Price must be greater than 0") + .required("Timeline is required"), + category: Yup.array().min(1, "Select at least one checkbox"), +}); + const EditJobPopOut = ({ details, onClose, @@ -24,33 +58,6 @@ const EditJobPopOut = ({ message: "", }); // Holds state when submit button is pressed - const validationSchema = Yup.object().shape({ - country: Yup.string() - .min(1, "Minimum 3 characters") - .max(25, "Maximum 25 characters") - .required("Country is required"), - price: Yup.number() - .typeError("you must specify a number") - .min(1, "Price must be greater than 0") - .required("Price is required"), - title: Yup.string() - .min(3, "Minimum 3 characters") - .max(100, "Maximum 25 characters") - .required("Title is required"), - description: Yup.string() - .min(3, "Minimum 3 characters") - .max(250, "Maximum 250 characters") - .required("Description is required"), - job_detail: Yup.string() - .min(3, "Minimum 3 characters") - .max(250, "Maximum 250 characters") - .required("Details is required"), - timeline_days: Yup.number() - .typeError("you must specify a number") - .min(1, "Price must be greater than 0") - .required("Price is required"), - }); - let initialValues = { // initial values for formik currency: details.currency, @@ -74,7 +81,7 @@ const EditJobPopOut = ({ job_uid: details.job_uid, ...values, }; - delete reqData?.currency; + try { let res = await jobApi.jobManagerUpdateJob(reqData); let { data } = await res; @@ -93,7 +100,6 @@ const EditJobPopOut = ({ [jobApi, navigate, onClose, details] ); - console.log(details) return (