Merge branch 'deleted-job-api-implementation' of WrenchBoard/Users-Wrench into master
This commit is contained in:
@@ -13,7 +13,7 @@ const validationSchema = Yup.object().shape({
|
|||||||
.max(25, "Maximum 25 characters")
|
.max(25, "Maximum 25 characters")
|
||||||
.required("Country is required"),
|
.required("Country is required"),
|
||||||
price: Yup.number()
|
price: Yup.number()
|
||||||
.typeError("you must specify a number")
|
.typeError("you must specify a number")
|
||||||
.min(1, "Price must be greater than 0")
|
.min(1, "Price must be greater than 0")
|
||||||
.required("Price is required"),
|
.required("Price is required"),
|
||||||
title: Yup.string()
|
title: Yup.string()
|
||||||
@@ -36,7 +36,7 @@ const validationSchema = Yup.object().shape({
|
|||||||
|
|
||||||
let initialValues = { // initial values for formik
|
let initialValues = { // initial values for formik
|
||||||
country: '',
|
country: '',
|
||||||
price: '',
|
price: 0,
|
||||||
title: '',
|
title: '',
|
||||||
description: '',
|
description: '',
|
||||||
job_detail: '',
|
job_detail: '',
|
||||||
@@ -137,8 +137,10 @@ function AddJob() {
|
|||||||
<select
|
<select
|
||||||
id='country'
|
id='country'
|
||||||
name='country'
|
name='country'
|
||||||
|
value={props.values.country}
|
||||||
className={`input-field p-2 mt-3 rounded-md placeholder:text-base text-dark-gray dark:text-white w-full h-10 bg-slate-100 dark:bg-[#11131F] focus:ring-0 focus:outline-none`}
|
className={`input-field p-2 mt-3 rounded-md placeholder:text-base text-dark-gray dark:text-white w-full h-10 bg-slate-100 dark:bg-[#11131F] focus:ring-0 focus:outline-none`}
|
||||||
onChange={props.handleChange}
|
onChange={props.handleChange}
|
||||||
|
onBlur={props.handleBlur}
|
||||||
>
|
>
|
||||||
{country.loading ? (
|
{country.loading ? (
|
||||||
<option className="text-slate-500 text-lg" value="">
|
<option className="text-slate-500 text-lg" value="">
|
||||||
@@ -179,11 +181,13 @@ function AddJob() {
|
|||||||
label="Price"
|
label="Price"
|
||||||
labelClass='tracking-wide'
|
labelClass='tracking-wide'
|
||||||
inputBg = 'bg-slate-100'
|
inputBg = 'bg-slate-100'
|
||||||
type="text"
|
type="number"
|
||||||
name="price"
|
name="price"
|
||||||
|
fieldClass='text-right'
|
||||||
// placeholder="Please Enter Amount"
|
// placeholder="Please Enter Amount"
|
||||||
value={props.values.price}
|
value={props.values.price}
|
||||||
inputHandler={props.handleChange}
|
inputHandler={props.handleChange}
|
||||||
|
blurHandler={props.handleBlur}
|
||||||
/>
|
/>
|
||||||
{props.errors.price && props.touched.price && (
|
{props.errors.price && props.touched.price && (
|
||||||
<p className="text-sm text-red-500">
|
<p className="text-sm text-red-500">
|
||||||
@@ -206,6 +210,7 @@ function AddJob() {
|
|||||||
// placeholder="Enter Job Title"
|
// placeholder="Enter Job Title"
|
||||||
value={props.values.title}
|
value={props.values.title}
|
||||||
inputHandler={props.handleChange}
|
inputHandler={props.handleChange}
|
||||||
|
blurHandler={props.handleBlur}
|
||||||
/>
|
/>
|
||||||
{props.errors.title && props.touched.title && (
|
{props.errors.title && props.touched.title && (
|
||||||
<p className="text-sm text-red-500">
|
<p className="text-sm text-red-500">
|
||||||
@@ -226,6 +231,7 @@ function AddJob() {
|
|||||||
// placeholder="Enter a description"
|
// placeholder="Enter a description"
|
||||||
value={props.values.description}
|
value={props.values.description}
|
||||||
inputHandler={props.handleChange}
|
inputHandler={props.handleChange}
|
||||||
|
blurHandler={props.handleBlur}
|
||||||
/>
|
/>
|
||||||
{props.errors.description && props.touched.description && (
|
{props.errors.description && props.touched.description && (
|
||||||
<p className="text-sm text-red-500">
|
<p className="text-sm text-red-500">
|
||||||
@@ -258,6 +264,7 @@ function AddJob() {
|
|||||||
name='job_detail'
|
name='job_detail'
|
||||||
value={props.values.job_detail}
|
value={props.values.job_detail}
|
||||||
onChange={props.handleChange}
|
onChange={props.handleChange}
|
||||||
|
onBlur={props.handleBlur}
|
||||||
/>
|
/>
|
||||||
{props.errors.job_detail && props.touched.job_detail && (
|
{props.errors.job_detail && props.touched.job_detail && (
|
||||||
<p className="text-sm text-red-500">
|
<p className="text-sm text-red-500">
|
||||||
@@ -278,6 +285,7 @@ function AddJob() {
|
|||||||
// placeholder="Please Enter Detail Description of Job"
|
// placeholder="Please Enter Detail Description of Job"
|
||||||
value={props.values.timeline_days}
|
value={props.values.timeline_days}
|
||||||
inputHandler={props.handleChange}
|
inputHandler={props.handleChange}
|
||||||
|
blurHandler={props.handleBlur}
|
||||||
/>
|
/>
|
||||||
{props.errors.timeline_days && props.touched.timeline_days && (
|
{props.errors.timeline_days && props.touched.timeline_days && (
|
||||||
<p className="text-sm text-red-500">
|
<p className="text-sm text-red-500">
|
||||||
|
|||||||
@@ -10,14 +10,15 @@ function DeleteJobPopout({details, onClose, situation}) {
|
|||||||
|
|
||||||
let [requestStatus, setRequestStatus] = useState({laoding: false, status:false, message: ''}) // STATE FOR KNOWING WHEN A REQUEST IS MADE TO THE SERVER
|
let [requestStatus, setRequestStatus] = useState({laoding: false, status:false, message: ''}) // STATE FOR KNOWING WHEN A REQUEST IS MADE TO THE SERVER
|
||||||
|
|
||||||
|
// FUNCTION CALLED ONCE USER CONFIRM DELETE JOB
|
||||||
const deleteJob = (details) => {
|
const deleteJob = (details) => {
|
||||||
setRequestStatus({laoding: true, status:false, message: ''})
|
setRequestStatus({laoding: true, status:false, message: ''})
|
||||||
const {job_id} = details
|
|
||||||
let reqData = {
|
let reqData = {
|
||||||
job_id: details.job_id
|
job_id: details.job_id,
|
||||||
|
job_uid: details.job_uid
|
||||||
} // DATA NEEDED BY THE API
|
} // DATA NEEDED BY THE API
|
||||||
console.log(reqData)
|
|
||||||
|
// API CALL TO DELETE A JOB
|
||||||
ApiCall.deleteJob(reqData).then(res => {
|
ApiCall.deleteJob(reqData).then(res => {
|
||||||
if(res.data.internal_return < 0){
|
if(res.data.internal_return < 0){
|
||||||
setRequestStatus({laoding: false, status:false, message: 'Could not perform the request, try again!'})
|
setRequestStatus({laoding: false, status:false, message: 'Could not perform the request, try again!'})
|
||||||
@@ -26,6 +27,8 @@ function DeleteJobPopout({details, onClose, situation}) {
|
|||||||
setRequestStatus({laoding: false, status:true, message: 'Job deleted successfully'})
|
setRequestStatus({laoding: false, status:true, message: 'Job deleted successfully'})
|
||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
navigate('/myjobs', {replace: true})
|
navigate('/myjobs', {replace: true})
|
||||||
|
onClose()
|
||||||
|
window.location.reload()
|
||||||
}, 1000)
|
}, 1000)
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
setRequestStatus({laoding: false, status:false, message: 'Opps! something went wrong, try again'})
|
setRequestStatus({laoding: false, status:false, message: 'Opps! something went wrong, try again'})
|
||||||
|
|||||||
Reference in New Issue
Block a user