From 20ce9bf74916957bc7610442c1f44ce891198351 Mon Sep 17 00:00:00 2001 From: Ebube Date: Thu, 13 Jul 2023 22:34:09 +0100 Subject: [PATCH 1/2] Consumed Start credit Api --- src/components/MyWallet/AddFundPop.jsx | 105 +++++++++--------- src/components/MyWallet/ConfirmAddFund.jsx | 48 ++++---- src/components/MyWallet/Popup/CreditPopup.jsx | 13 --- src/components/MyWallet/WalletBox.jsx | 8 +- src/services/UsersService.js | 11 ++ 5 files changed, 93 insertions(+), 92 deletions(-) diff --git a/src/components/MyWallet/AddFundPop.jsx b/src/components/MyWallet/AddFundPop.jsx index a69202e..fda5714 100644 --- a/src/components/MyWallet/AddFundPop.jsx +++ b/src/components/MyWallet/AddFundPop.jsx @@ -1,54 +1,71 @@ import React, { useState } from "react"; import { useNavigate } from "react-router-dom"; +import usersService from "../../services/UsersService"; +import Icons from "../Helpers/Icons"; import InputCom from "../Helpers/Inputs/InputCom"; - +import LoadingSpinner from "../Spinners/LoadingSpinner"; import AddFundDollars from "./AddFundDollars"; function AddFundPop({ _payment, input, setInput, onClose, setConfirmCredit }) { const navigate = useNavigate(); - // const { currency } = useLocation()?.state; //GETS THE USER CURRENCY FOR ADD FUND + const apiCall = new usersService(); - let { payment, currency } = _payment; + const { payment, currency } = _payment; - //STATE FOR CONTROLLED INPUT - let [inputError, setInputError] = useState(""); + const [inputError, setInputError] = useState(""); + const [loader, setLoader] = useState(false); - // FUNCTION TO HANDLE INPUT CHANGE const handleChange = ({ target: { name, value } }) => { setInput(value); }; - //FUNCTION TO HANDLE SUBMIT - const handleSubmit = (e) => { - e.preventDefault(); + const handleSubmit = async () => { setInputError(""); - if (!input || input == "0") { + setLoader(true); + + if (!input || input === "0") { + setLoader(false); setInputError("Please Enter Amount"); - return setTimeout(() => { - setInputError(""); - }, 5000); + setTimeout(() => setInputError(""), 5000); + return; } if (isNaN(input)) { + setLoader(false); setInputError("Amount must be a Number"); - return setTimeout(() => { - setInputError(""); - }, 5000); + setTimeout(() => setInputError(""), 5000); + return; } - const stateData = { + let stateData = { amount: Number(input), - currency: currency, + currency: currency.toUpperCase(), }; - return setTimeout( - () => + try { + const res = await apiCall.getStartCredit(stateData); + if (res.data.internal_return < 0) { + setLoader(false); + setInputError("An Error Occurred"); + setTimeout(() => setInputError(""), 5000); + return; + } + + const _response = res.data; + stateData.amount = Number(input); + stateData.currency = currency; + stateData = { ...stateData, ..._response }; + + setTimeout(() => { + setLoader(false); setConfirmCredit({ show: true, data: stateData, - }), - 1500 - ); + }); + }, 1500); + } catch (error) { + console.log(error); + } }; return ( @@ -56,8 +73,6 @@ function AddFundPop({ _payment, input, setInput, onClose, setConfirmCredit }) {
- {/*

Add Credit with Account Deposit

*/} - {/*
*/}

Amount({currency}) @@ -77,8 +92,7 @@ function AddFundPop({ _payment, input, setInput, onClose, setConfirmCredit }) {

- {/* SHOWS THIS IF USER CURRENCY IS DOLLARS */} - {currency == "US Dollars" && ( + {currency === "US Dollars" && (
)} - {currency != "US Dollars" &&
} - {/* HIDES THIS BUTTON IF CURENCY IS NAIRA */} - {currency != "US Dollars" && ( + {currency !== "US Dollars" &&
} + + {currency !== "US Dollars" && (
)}
- {/* HIDES THIS SECTION IF CURENCY IS NAIRA */} - {currency != "US Dollars" && - //
- //
- //
- //

- // Recent Activity - //

- // {/*

Activity Report

*/} - // {payment?.loading ? ( - // - // ) : ( - // - // )} - //
- //
- //
- null} ); } diff --git a/src/components/MyWallet/ConfirmAddFund.jsx b/src/components/MyWallet/ConfirmAddFund.jsx index ba686b0..f764136 100644 --- a/src/components/MyWallet/ConfirmAddFund.jsx +++ b/src/components/MyWallet/ConfirmAddFund.jsx @@ -95,8 +95,9 @@ function ConfirmAddFund({ confirmCredit, onClose, walletItem }) { // } // }, []); - const __confirmCard = confirmCredit?.data.card - ? JSON.parse(confirmCredit?.data.card) + const __confirmData = confirmCredit?.data; + const __confirmCardDetails = __confirmData.card + ? JSON.parse(__confirmData.card) : ""; const ThePaymentText = ({ value }) => ( @@ -112,7 +113,7 @@ function ConfirmAddFund({ confirmCredit, onClose, walletItem }) { ); - console.log(confirmCredit); + // console.log(confirmCredit); return (
@@ -124,34 +125,37 @@ function ConfirmAddFund({ confirmCredit, onClose, walletItem }) {

- Amount({confirmCredit?.data?.currency}) + Amount({__confirmData?.currency})

{`${walletItem?.symbol} ${ - Number(confirmCredit?.data?.amount).toLocaleString() || - "" + Number(__confirmData?.amount).toLocaleString() || "" }`}
-
- - - {__confirmCard ? ( - - ) : null} - -
+ {__confirmData?.currency == "US Dollars" && ( +
+ + + {__confirmCardDetails ? ( + + ) : null} + +
+ )} +

Reference No

- {__confirmCard?.card_uid} + {__confirmCardDetails?.card_uid || + __confirmData?.credit_reference}
@@ -167,7 +171,7 @@ function ConfirmAddFund({ confirmCredit, onClose, walletItem }) { > Cancel - {confirmCredit?.data?.currency == "US Dollars" && ( + {__confirmData?.currency == "US Dollars" && ( )} - {confirmCredit?.data?.currency == "Naira" && ( + {__confirmData?.currency == "Naira" && ( { data: {}, }); - // const openConfirmCredit = (value) => { - // setConfirmCredit({ show: true, data: { ...value } }); - // }; - - // const closeConfirmCredit = () => { - // setConfirmCredit({ show: false, data: {} }); - // }; - // const handleConfirmCredit = useMemo((input) => { - // if (input) { - // setConfirmCredit(true); - // } else setConfirmCredit(false); - // }, []); - const switchNextStep = ({ target: value }) => { setSuggestedNextStep(value); }; diff --git a/src/components/MyWallet/WalletBox.jsx b/src/components/MyWallet/WalletBox.jsx index ab4bb25..6651d67 100644 --- a/src/components/MyWallet/WalletBox.jsx +++ b/src/components/MyWallet/WalletBox.jsx @@ -1,7 +1,3 @@ -import CurrencyStaticsSection from "./CurrencyStaticsSection"; -import CurrentBalanceWidget from "./CurrentBalanceWidget"; -import InvestmentSection from "./InvestmentSection"; -import RecentTransactionWidget from "./RecentTransactionWidget"; import LoadingSpinner from "../Spinners/LoadingSpinner"; import WalletItemCard from "./WalletItemCard"; @@ -10,14 +6,14 @@ export default function WalletBox({ wallet, coupon, payment }) { <>
-
+
{wallet.loading ? (
) : wallet.data.length ? ( wallet.data.map((item, index) => ( -
+
)) diff --git a/src/services/UsersService.js b/src/services/UsersService.js index d27aca5..6cf6c54 100644 --- a/src/services/UsersService.js +++ b/src/services/UsersService.js @@ -216,6 +216,17 @@ class usersService { return this.postAuxEnd("/sendmoneyfee", postData); } + getStartCredit(value) { + var postData = { + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + action: 11053, + ...value + }; + return this.postAuxEnd("/startcredit", postData); + } + getFamilySampleTasks() { var postData = { uid: localStorage.getItem("uid"), From 4e2f120ab5936da958876dda7d7192661cdb5a93 Mon Sep 17 00:00:00 2001 From: Ebube Date: Thu, 13 Jul 2023 23:12:29 +0100 Subject: [PATCH 2/2] Few changes --- src/components/MyWallet/AddFundDollars.jsx | 3 +- src/components/MyWallet/AddFundPop.jsx | 2 +- src/components/MyWallet/ConfirmAddFund.jsx | 36 +++++++++++++--------- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/src/components/MyWallet/AddFundDollars.jsx b/src/components/MyWallet/AddFundDollars.jsx index 6705d25..65343c6 100644 --- a/src/components/MyWallet/AddFundDollars.jsx +++ b/src/components/MyWallet/AddFundDollars.jsx @@ -103,6 +103,7 @@ function AddFundDollars(props) { amount: Number(props.input), currency: props.currency, card: prevCardDetails["payment-card"], + cardType: "prev", }; return setTimeout(() => { @@ -132,7 +133,7 @@ function AddFundDollars(props) { }); }, []); - const handleClose = props.onClose + const handleClose = props.onClose; return ( <> diff --git a/src/components/MyWallet/AddFundPop.jsx b/src/components/MyWallet/AddFundPop.jsx index fda5714..e8566f5 100644 --- a/src/components/MyWallet/AddFundPop.jsx +++ b/src/components/MyWallet/AddFundPop.jsx @@ -118,7 +118,7 @@ function AddFundPop({ _payment, input, setInput, onClose, setConfirmCredit }) {