diff --git a/src/components/Helpers/Inputs/InputCom/index.jsx b/src/components/Helpers/Inputs/InputCom/index.jsx
index 707d0cc..e34668c 100644
--- a/src/components/Helpers/Inputs/InputCom/index.jsx
+++ b/src/components/Helpers/Inputs/InputCom/index.jsx
@@ -15,6 +15,8 @@ export default function InputCom({
onClick,
disable,
blurHandler,
+ onMouseEnter,
+ onMouseLeave
}) {
const inputRef = useRef(null)
// Entry Validation
@@ -90,6 +92,8 @@ export default function InputCom({
ref={inputRef}
readOnly={disable}
onBlur={blurHandler}
+ onMouseEnter={onMouseEnter}
+ onMouseLeave={onMouseLeave}
/>
{iconName && (
diff --git a/src/components/MyWallet/AddRecipient.jsx b/src/components/MyWallet/AddRecipient.jsx
index 9d3752d..fb47d8d 100644
--- a/src/components/MyWallet/AddRecipient.jsx
+++ b/src/components/MyWallet/AddRecipient.jsx
@@ -1,9 +1,12 @@
import React, {useEffect, useState} from 'react'
-import { Link } from 'react-router-dom'
+import { Link, useNavigate } from 'react-router-dom'
import Icons from '../Helpers/Icons'
import usersService from '../../services/UsersService'
import InputCom from '../Helpers/Inputs/InputCom'
+import LoadingSpinner from '../Spinners/LoadingSpinner'
+import {toast} from 'react-toastify'
+
import {Formik, Form} from 'formik'
import * as Yup from 'yup'
@@ -34,7 +37,7 @@ const validationSchema = Yup.object().shape({
.required('Repeat Account Number is required')
.oneOf([Yup.ref('accountNumber'), null], 'Must match Account Number'),
accountType: Yup.string()
- .min(3, 'Minimum 3 characters')
+ .min(1, 'Minimum 3 characters')
.max(25, 'Maximum 25 characters')
.required('Account Type is required'),
city: Yup.string()
@@ -63,6 +66,10 @@ function AddRecipient() {
const apiURL = new usersService()
+ const navigate = useNavigate()
+
+ let [requestStatus, setRequestStatus] = useState({message: '', loading: false, status: false})
+
let [allCountries, setAllCountries] = useState({ // STATE TO HOLD LIST OF COUNTRIES
loading: true,
data: []
@@ -78,14 +85,36 @@ function AddRecipient() {
data: []
})
- //FUNCTION TO HANDLE SUBMIT
+ //FUNCTION TO HANDLE ADD RECIPIENT SUBMIT
const handleSubmit = (values, helpers) => {
- // setRequestState({message: '', loading: true, status: false})
- console.log('working')
+ setRequestStatus({message: '', loading: true, status: false})
- //valid inputs before submitting. Just for texting remove later
+ let reqData = { //REQUEST DATA FOR API CALL
+ firstname: values.firstname,
+ lastname: values.lastname,
+ bank_code: values.bank,
+ account_no: values.accountNumber,
+ account_type: values.accountType,
+ country: values.country,
+ state: values.state,
+ city: values.city
+ }
+
+ //CALL TO ADD RECIPIENT API
+ apiURL.addRecipient(reqData).then((res)=>{
+ if(res.data.internal_return < 0){
+ setRequestStatus({message: 'could not add recipient, try again!', loading: false, status: true})
+ return
+ }
+ // setRequestStatus({message: 'Recipient Added Successfully!', loading: false, status: true})
+ toast.success("Recipient Added Successfully!");
+ setTimeout(()=>{navigate('../transfer-fund',{replace:true})},1000)
+ }).catch((error)=>{
+ setRequestStatus({message: 'Opps! an error occured! Try again later', loading: false, status: false})
+ })
}
+
// FUNCTION TO GET COUNTRIES
const getCountry = ()=> {
apiURL.getSignupCountryData().then((res)=>{
@@ -205,7 +234,7 @@ function AddRecipient() {
-
{/* end of inputs starts here */}
+ {/* REQUEST ERROR DISPLAY */}
+ {requestStatus.message &&
+ {requestStatus.loading ?
+
+ :
+ }
)}
diff --git a/src/components/MyWallet/TransferFund.jsx b/src/components/MyWallet/TransferFund.jsx
index 06c90dc..e38c05d 100644
--- a/src/components/MyWallet/TransferFund.jsx
+++ b/src/components/MyWallet/TransferFund.jsx
@@ -2,6 +2,7 @@ import React, {useEffect, useState} from 'react'
import { Link } from 'react-router-dom'
import RecentActivityTable from './WalletComponent/RecentActivityTable'
import LoadingSpinner from '../Spinners/LoadingSpinner'
+import InputCom from '../Helpers/Inputs/InputCom'
import usersService from '../../services/UsersService'
@@ -97,57 +98,53 @@ function TransferFund({payment, wallet}) {
: