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..38c2849 100644 --- a/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx +++ b/src/components/MyWallet/Popup/ConfirmNairaWithdraw.jsx @@ -1,6 +1,5 @@ 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"; @@ -23,9 +22,16 @@ function ConfirmNairaWithdraw({ status: false, }); + 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), @@ -51,57 +57,40 @@ function ConfirmNairaWithdraw({ .sendMoney(reqData) .then((res) => { if (res.data.internal_return < 0) { - if (res.data?.status_message?.toLowerCase().includes("limit")) { + // if (res.data?.status_message?.toLowerCase().includes("limit")) { + // setRequestStatus({ + // message: , + // loading: false, + // status: false, + // }); + // } + return setTimeout(() => { setRequestStatus({ - message: "You have exceeded the transfer limit", + message: "", loading: false, status: false, }); - } else if ( - res.data?.status_message?.toLowerCase().includes("not_found") - ) { - setRequestStatus({ - message: "Sorry, wallet not found", - loading: false, - status: false, + setShowCompleteNairaWithdraw({ + show: true, + load: false, + state: res.data, }); - } 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, - }); - } - return setTimeout( - () => - setRequestStatus({ - message: "", - loading: false, - status: false, - }), - 5000 - ); + }, 5000); } - setRequestStatus({ - message: "Transfer Successful!", - loading: false, - status: true, - }); - toast.success("Transfer sucessful"); + setTimeout(() => { - navigate("/my-wallet", { replace: true }); - window.location.reload(true); - }, 1000); + setRequestStatus({ + message: "", + loading: false, + status: false, + }); + setShowCompleteNairaWithdraw({ + show: true, + load: false, + state: res.data, + }); + }, 5000); + return; }) .catch((error) => { setRequestStatus({ @@ -120,15 +109,31 @@ function ConfirmNairaWithdraw({ }); }; + const completeWithdrawal = () => { + action(); + window.location.reload(true); + }; + return (

- {`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)}`} + + )}

- -
+ + {state?.choice === "new" && ( + <> + {/* RECIPIENT ACC: */} +
+ +
+ + )} + + {/* PROCESSING FEE: */} +
+ +
+ + {/* TOTAL */} +
+ +
+ + {/* COMMENT/NOTE */} +
+ +
+
+ )} + + {!completeNairaWithdraw.load && ( + <> + {" "} +
+

+ {requestStatus.message && requestStatus.message} +

+
+ {!completeNairaWithdraw.show && ( + + )} + + +
+ + )}
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({
{