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() {
+ +
+ {setNewFee(false)}} onMouseLeave={()=>{setNewFee(true)}} - /> + />
-
- - + +
+
-
-
- - +
+
+
-
-
-
-
- - -
+
+ {/* */} + +