Disabled input field of country on add Job page #78

Closed
victor.ebuka wants to merge 1 commits from country_input-disable into master
+48 -43
View File
@@ -4,14 +4,16 @@ import InputCom from "../Helpers/Inputs/InputCom";
import LoadingSpinner from "../Spinners/LoadingSpinner";
import usersService from "../../services/UsersService";
import { useSelector } from "react-redux";
import { Form, Formik } from "formik";
import * as Yup from "yup";
const validationSchema = Yup.object().shape({
country: Yup.string()
.min(1, "Minimum 3 characters")
.max(25, "Maximum 25 characters")
.required("Country is required"),
// 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")
@@ -36,7 +38,7 @@ const validationSchema = Yup.object().shape({
let initialValues = {
// initial values for formik
country: "",
// country: "",
price: 0,
title: "",
description: "",
@@ -48,13 +50,16 @@ function AddJob() {
const ApiCall = new usersService();
const navigate = useNavigate();
let {userDetails} = useSelector((state)=> state.userDetails)
console.log(userDetails, userDetails.country)
let [pageLoading, setPageLoading] = useState(true); // State used for knowing when the page is mounting
let [country, setCountry] = useState({
loading: false,
status: false,
data: [],
}); // To Hold the array of country getUserCountry returns
// let [country, setCountry] = useState({
// loading: false,
// status: false,
// data: [],
// }); // To Hold the array of country getUserCountry returns
let [requestStatus, setRequestStatus] = useState({
loading: false,
@@ -63,29 +68,29 @@ function AddJob() {
}); // Holds state when submit button is pressed
// FUNCTION TO GET COUNTRY
const getUserCountry = () => {
setCountry((prev) => ({ ...prev, loading: true }));
ApiCall.getSignupCountryData()
.then((res) => {
if (res.data.internal_return < 1) {
setCountry({ loading: false, status: true, data: [] });
return;
}
setCountry({
loading: false,
status: true,
data: res.data.signup_country,
});
})
.catch((err) => {
setCountry({ loading: false, status: false, data: [] });
});
};
// const getUserCountry = () => {
// setCountry((prev) => ({ ...prev, loading: true }));
// ApiCall.getSignupCountryData()
// .then((res) => {
// if (res.data.internal_return < 1) {
// setCountry({ loading: false, status: true, data: [] });
// return;
// }
// setCountry({
// loading: false,
// status: true,
// data: res.data.signup_country,
// });
// })
// .catch((err) => {
// setCountry({ loading: false, status: false, data: [] });
// });
// };
// FUNCTION TO HANDLE ADD JOB FORM
const handleAddJob = (values, helpers) => {
setRequestStatus({ loading: true, status: false, message: "" });
ApiCall.jobManagerCreateJob(values)
ApiCall.jobManagerCreateJob({...values, country:userDetails.country})
.then((res) => {
if (res.data.internal_return < 1) {
setRequestStatus({
@@ -120,7 +125,7 @@ function AddJob() {
useEffect(() => {
setPageLoading(false);
getUserCountry();
// getUserCountry();
}, []);
return pageLoading.loading ? (
@@ -148,18 +153,18 @@ function AddJob() {
{/* country */}
<div className="xl:flex xl:space-x-7 mb-6">
<div className="field w-full mb-6 xl:mb-0">
{/* <InputCom
fieldClass="px-6"
label="Country"
labelClass='tracking-wide'
inputBg = 'bg-slate-100'
type="text"
name="country"
// placeholder="Select Country"
value={props.values.country}
inputHandler={props.handleChange}
/> */}
<label
<InputCom
fieldClass="px-6 cursor-not-allowed"
label="Country"
labelClass='tracking-wide'
inputBg = 'bg-slate-100'
type="text"
name="country"
disable={true}
// placeholder="Select Country"
value={userDetails.country}
/>
{/* <label
htmlFor="country"
className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold block"
>
@@ -202,7 +207,7 @@ function AddJob() {
<p className="text-sm text-red-500">
{props.errors.country}
</p>
)}
)} */}
</div>
{/* Price */}