From 706cf141e74e3a3263353938aa322afb50a6beb3 Mon Sep 17 00:00:00 2001 From: Ebube Date: Tue, 25 Jul 2023 20:26:33 +0100 Subject: [PATCH 1/3] Add Result Page --- src/components/FamilyAcc/FamilyManageTabs.jsx | 2 - .../MyWallet/Popup/ConfirmNairaWithdraw.jsx | 390 +++++++++++------- .../MyWallet/Popup/NairaWithdraw.jsx | 8 +- 3 files changed, 256 insertions(+), 144 deletions(-) diff --git a/src/components/FamilyAcc/FamilyManageTabs.jsx b/src/components/FamilyAcc/FamilyManageTabs.jsx index 9855204..a43f059 100644 --- a/src/components/FamilyAcc/FamilyManageTabs.jsx +++ b/src/components/FamilyAcc/FamilyManageTabs.jsx @@ -181,8 +181,6 @@ export default function FamilyManageTabs({ const selectedTabComponent = tabComponents[tab] || defaultTabComponent; - console.log(details) - useEffect(() => { let __manageFamily = true; if (__manageFamily) { diff --git a/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx b/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx index 16d3ffe..920619a 100644 --- a/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx +++ b/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx @@ -1,10 +1,8 @@ import { useState } from "react"; import { useNavigate } from "react-router-dom"; -import { toast } from "react-toastify"; import usersService from "../../../services/UsersService"; import InputCom from "../../Helpers/Inputs/InputCom"; import ModalCom from "../../Helpers/ModalCom"; -import LoadingSpinner from "../../Spinners/LoadingSpinner"; function ConfirmNairaWithdraw({ payment, @@ -23,6 +21,11 @@ function ConfirmNairaWithdraw({ status: false, }); + const [completeNairaWithdraw, setShowCompleteNairaWithdraw] = useState({ + show: false, + state: {}, + }); // DETERMINES WHEN CONFIRM NAIRA WITHDRAWAL POPS UP + //FUNCTION TO HANDLE SUBMIT const handleSubmit = () => { setRequestStatus({ message: "", loading: true, status: false }); @@ -51,37 +54,13 @@ function ConfirmNairaWithdraw({ .sendMoney(reqData) .then((res) => { if (res.data.internal_return < 0) { - if (res.data?.status_message?.toLowerCase().includes("limit")) { - setRequestStatus({ - message: "You have exceeded the transfer limit", - loading: false, - status: false, - }); - } else if ( - res.data?.status_message?.toLowerCase().includes("not_found") - ) { - setRequestStatus({ - message: "Sorry, wallet not found", - loading: false, - status: false, - }); - } else if ( - res.data?.status_message - ?.toLowerCase() - .includes("recipient_add_error") - ) { - setRequestStatus({ - message: res.data?.error, - loading: false, - status: false, - }); - } else { - setRequestStatus({ - message: "Could not perform transaction", - loading: false, - status: false, - }); - } + // if (res.data?.status_message?.toLowerCase().includes("limit")) { + // setRequestStatus({ + // message: , + // loading: false, + // status: false, + // }); + // } return setTimeout( () => setRequestStatus({ @@ -89,19 +68,16 @@ function ConfirmNairaWithdraw({ loading: false, status: false, }), + setShowCompleteNairaWithdraw({ show: true, state: res.data }), 5000 ); } - setRequestStatus({ - message: "Transfer Successful!", - loading: false, - status: true, - }); - toast.success("Transfer sucessful"); + setTimeout(() => { - navigate("/my-wallet", { replace: true }); - window.location.reload(true); + setShowCompleteNairaWithdraw({ show: true, state: res.data }); }, 1000); + console.log(res.data); + return; }) .catch((error) => { setRequestStatus({ @@ -120,15 +96,24 @@ function ConfirmNairaWithdraw({ }); }; + const completeWithdrawal = () => { + action(); + window.location.reload(true); + }; + return (

- {`Withdraw from ${wallet.description} Wallet : ${wallet.symbol}${( - wallet.amount * 0.01 - ).toFixed(2)}`} + {completeNairaWithdraw.show + ? completeNairaWithdraw?.state?.internal_return > 0 + ? "Transfer Success" + : "Transfer Error" + : `Withdraw from ${wallet.description} Wallet : ${ + wallet.symbol + }${(wallet.amount * 0.01).toFixed(2)}`}

+ )} -
diff --git a/src/components/MyWallet/Popup/NairaWithdraw.jsx b/src/components/MyWallet/Popup/NairaWithdraw.jsx index 6e52033..2d156f3 100644 --- a/src/components/MyWallet/Popup/NairaWithdraw.jsx +++ b/src/components/MyWallet/Popup/NairaWithdraw.jsx @@ -171,7 +171,12 @@ function NairaWithdraw({ setErrorMsgs({ amount: "amount required" }); setTimeout(() => setErrorMsgs({ amount: "" }), 3000); return; + } else if (Number(values.amount) > Number(wallet?.transfer_limit)) { + setErrorMsgs({ amount: "transfer limit exceeded" }); + setTimeout(() => setErrorMsgs({ amount: "" }), 3000); + return; } + if (values?.comment?.length >= 50) { setErrorMsgs({ comment: "50 chars max" }); setTimeout(() => setErrorMsgs({ comment: "" }), 1000); @@ -319,7 +324,7 @@ function NairaWithdraw({
{ From cb1259d2c83f228cb369499087b38cb5df3a85d6 Mon Sep 17 00:00:00 2001 From: Ebube Date: Tue, 25 Jul 2023 20:46:46 +0100 Subject: [PATCH 2/3] Added loading height --- .../MyWallet/Popup/ConfirmNairaWithdraw.jsx | 119 +++++++++++------- 1 file changed, 76 insertions(+), 43 deletions(-) diff --git a/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx b/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx index 920619a..0a7509c 100644 --- a/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx +++ b/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx @@ -3,6 +3,7 @@ import { useNavigate } from "react-router-dom"; import usersService from "../../../services/UsersService"; import InputCom from "../../Helpers/Inputs/InputCom"; import ModalCom from "../../Helpers/ModalCom"; +import LoadingSpinner from "../../Spinners/LoadingSpinner"; function ConfirmNairaWithdraw({ payment, @@ -23,12 +24,14 @@ function ConfirmNairaWithdraw({ const [completeNairaWithdraw, setShowCompleteNairaWithdraw] = useState({ show: false, + load: false, state: {}, }); // DETERMINES WHEN CONFIRM NAIRA WITHDRAWAL POPS UP //FUNCTION TO HANDLE SUBMIT const handleSubmit = () => { setRequestStatus({ message: "", loading: true, status: false }); + setShowCompleteNairaWithdraw({ load: true }); let reqData = { amount: Number(state.amount * 100), Fee: Number(state.fee), @@ -61,22 +64,32 @@ function ConfirmNairaWithdraw({ // status: false, // }); // } - return setTimeout( - () => - setRequestStatus({ - message: "", - loading: false, - status: false, - }), - setShowCompleteNairaWithdraw({ show: true, state: res.data }), - 5000 - ); + return setTimeout(() => { + setRequestStatus({ + message: "", + loading: false, + status: false, + }); + setShowCompleteNairaWithdraw({ + show: true, + load: false, + state: res.data, + }); + }, 5000); } setTimeout(() => { - setShowCompleteNairaWithdraw({ show: true, state: res.data }); - }, 1000); - console.log(res.data); + setRequestStatus({ + message: "", + loading: false, + status: false, + }); + setShowCompleteNairaWithdraw({ + show: true, + load: false, + state: res.data, + }); + }, 5000); return; }) .catch((error) => { @@ -108,7 +121,7 @@ function ConfirmNairaWithdraw({

{completeNairaWithdraw.show - ? completeNairaWithdraw?.state?.internal_return > 0 + ? completeNairaWithdraw?.state?.internal_return >= 0 ? "Transfer Success" : "Transfer Error" : `Withdraw from ${wallet.description} Wallet : ${ @@ -143,7 +156,11 @@ function ConfirmNairaWithdraw({


- {completeNairaWithdraw.show ? ( + {completeNairaWithdraw.load ? ( +
+ +
+ ) : completeNairaWithdraw.show ? (
@@ -356,35 +373,51 @@ function ConfirmNairaWithdraw({
)} -
-

- {requestStatus.message && requestStatus.message} -

-
- {!completeNairaWithdraw.show && ( - - )} - -
+ {requestStatus.message && requestStatus.message} +

+
+ {!completeNairaWithdraw.show && ( + + )} + + +
+ + )}
From ec204d0389cd7c0a15c6f4157f9f25d59311694e Mon Sep 17 00:00:00 2001 From: Ebube Date: Tue, 25 Jul 2023 20:50:56 +0100 Subject: [PATCH 3/3] . --- .../MyWallet/Popup/ConfirmNairaWithdraw.jsx | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx b/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx index 0a7509c..38c2849 100644 --- a/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx +++ b/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx @@ -120,13 +120,20 @@ function ConfirmNairaWithdraw({

- {completeNairaWithdraw.show - ? completeNairaWithdraw?.state?.internal_return >= 0 - ? "Transfer Success" - : "Transfer Error" - : `Withdraw from ${wallet.description} Wallet : ${ - wallet.symbol - }${(wallet.amount * 0.01).toFixed(2)}`} + {completeNairaWithdraw.load ? ( + "Confirming..." + ) : ( + <> + {" "} + {completeNairaWithdraw.show + ? completeNairaWithdraw?.state?.internal_return >= 0 + ? "Transfer Success" + : "Transfer Error" + : `Withdraw from ${wallet.description} Wallet : ${ + wallet.symbol + }${(wallet.amount * 0.01).toFixed(2)}`} + + )}