Compare commits

..

2 Commits

Author SHA1 Message Date
victorAnumudu fa7a0bd1da name added to form 2024-10-18 18:03:57 +01:00
ameye 52ff30581f Merge branch 'virtual-form-update' of WrenchBoard/Users-Wrench into master 2024-10-17 20:13:51 +00:00
3 changed files with 76 additions and 21 deletions
@@ -14,8 +14,8 @@ const validationSchema = Yup.object().shape({
country: Yup.string()
.required("Required"),
phone_number: Yup.string()
.min(9, "Minimum 9 characters")
.max(20, "Maximum 25 characters")
.min(9, "Min 9 characters")
.max(11, "Max 11 characters")
.required("Required"),
birthYear: Yup.string()
.required("Required"),
@@ -65,14 +65,14 @@ const VirtualAddCardPopout = ({ details, onClose, situation, walletItem }) => {
birthMonth: '',
birthDay: '',
address: '',
city: '',
city: userDetails?.city ? userDetails.city : '',
state: '',
zipCode: ''
};
const handleSubmit = (values) => {
const reqData = {
const reqData1 = {
name: values.firstname + ' ' + values.firstname,
email: values.email,
phone_number: values.phone_number,
@@ -93,7 +93,40 @@ const VirtualAddCardPopout = ({ details, onClose, situation, walletItem }) => {
}
}
}
console.log('Values', reqData)
const reqData = {
request_type: '100',
address: values.address,
city: values.city,
state: values.state,
country: values.country,
postal_code: values.zipCode,
phone_number: values.phone_number,
dob_day: values.birthDay,
dob_month: values.birthMonth,
dob_year: values.birthYear,
}
// console.log('Values', reqData)
setRequestStatus({loading: true, status:false, message: ''})
userApi.walletCardRequest(reqData).then(res => {
if(res?.data?.internal_return < 0){
setRequestStatus({loading: false, status:false, message: 'Failed, try again'})
setTimeout(()=>{
setRequestStatus({loading: false, status:true, message: ''})
},4000)
return
}
setRequestStatus({loading: false, status:true, message: 'Successful'})
setTimeout(()=>{
setRequestStatus({loading: false, status:true, message: ''})
onClose()
},4000)
}).catch(err => {
console.log('ERR', err)
setRequestStatus({loading: false, status:false, message: 'Unable to complete'})
setTimeout(()=>{
setRequestStatus({loading: false, status:false, message: ''})
},4000)
})
}
useEffect(()=>{
@@ -170,11 +203,11 @@ const VirtualAddCardPopout = ({ details, onClose, situation, walletItem }) => {
</button>
</div>
<div className="p-4 w-full grid lg:grid-cols-2 gap-4">
{/* left part */}
<div className='w-full flex flex-col gap-4'>
<div className="field w-full grid md:grid-cols-2 gap-4">
<div className="field w-full">
<h1 className='text-lg md:text-xl flex gap-1'><span className='font-bold'>Name:</span>{userDetails.lastname} {userDetails.firstname}</h1>
<div className="field w-full grid md:grid-cols-3 gap-4">
<div className="md:col-span-1 field w-full">
<label
htmlFor="country"
className="job-label job-label-flex"
@@ -216,18 +249,20 @@ const VirtualAddCardPopout = ({ details, onClose, situation, walletItem }) => {
}
</select>
</div>
<InputCom
fieldClass="px-6"
label="Phone Number"
labelClass="tracking-wide"
inputBg="bg-slate-100"
inputClass="w-full input-curve lg border border-light-purple"
type="text"
name="phone_number"
value={props.values.phone_number}
inputHandler={props.handleChange}
error={(props.errors.phone_number && props.touched.phone_number) && props.errors.phone_number}
/>
<div className='md:col-span-2'>
<InputCom
fieldClass="px-6"
label="Phone Number"
labelClass="tracking-wide"
inputBg="bg-slate-100"
inputClass="w-full input-curve lg border border-light-purple"
type="text"
name="phone_number"
value={props.values.phone_number}
inputHandler={props.handleChange}
error={(props.errors.phone_number && props.touched.phone_number) && props.errors.phone_number}
/>
</div>
</div>
<InputCom
disable={true}
@@ -242,7 +277,7 @@ const VirtualAddCardPopout = ({ details, onClose, situation, walletItem }) => {
inputHandler={props.handleChange}
error={(props.errors.email && props.touched.email) && props.errors.email}
/>
<div className="field w-full grid md:grid-cols-2 gap-4">
<div className="hidden field w-full md:grid-cols-2 gap-4">
<InputCom
disable={true}
fieldClass="px-6"
@@ -467,6 +502,11 @@ const VirtualAddCardPopout = ({ details, onClose, situation, walletItem }) => {
</div>
</div>
</div>
{requestStatus.message &&
<div className='px-4 my-1'>
<p className={`text-center text-base py-1 font-bold ${requestStatus.status ? 'bg-emerald-600 text-white' : 'bg-red-100 text-red-600'}`}>{requestStatus.message}</p>
</div>
}
<div className="modal-footer-wrapper grid grid-cols-1 xxs:grid-cols-3">
<div className="w-full col-span-1 xxs:col-span-2 xxs:col-start-2 flex justify-between items-center">
<button
@@ -484,6 +524,7 @@ const VirtualAddCardPopout = ({ details, onClose, situation, walletItem }) => {
<button
type="submit"
className="custom-btn btn-gradient text-base text-white"
disabled={requestStatus.loading || requestStatus.status}
>
Continue
</button>
+1
View File
@@ -79,6 +79,7 @@ export const apiConst = {
WRENCHBOARD_ACCOUNT_DASHDATA: 11029,
WRENCHBOARD_COUNTRY_STATE: 649,
WRENCHBOARD_WALLET_CARD_REQUEST: 11080,
WRENCHBOARD_SEND_CONTACTUS: 11030,
WRENCHBOARD_ACCOUNT_SENDREFER: 11032,
+13
View File
@@ -1548,6 +1548,19 @@ class usersService {
return this.postAuxEnd("/countrystate", postData);
}
//API TO GET STATES FROM COUNTRY
walletCardRequest(reqData){
var postData = {
uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"),
target_uid: localStorage.getItem("uid"),
action: apiConst.WRENCHBOARD_WALLET_CARD_REQUEST,
...reqData
};
return this.postAuxEnd("/wallets/card/request", postData);
}
/*
- 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(username)
- 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(password)