Passed values to confirm add fund
This commit is contained in:
@@ -2,7 +2,6 @@ import React, { useEffect, useState } from "react";
|
|||||||
import { useNavigate } from "react-router-dom";
|
import { useNavigate } from "react-router-dom";
|
||||||
import usersService from "../../services/UsersService";
|
import usersService from "../../services/UsersService";
|
||||||
import InputCom from "../Helpers/Inputs/InputCom";
|
import InputCom from "../Helpers/Inputs/InputCom";
|
||||||
import { handlePagingFunc } from "../Pagination/HandlePagination";
|
|
||||||
import LoadingSpinner from "../Spinners/LoadingSpinner";
|
import LoadingSpinner from "../Spinners/LoadingSpinner";
|
||||||
|
|
||||||
import { Form, Formik } from "formik";
|
import { Form, Formik } from "formik";
|
||||||
@@ -61,23 +60,27 @@ function AddFundDollars(props) {
|
|||||||
let [tab, setTab] = useState("previous"); //STATE FOR SWITCHING BETWEEN TABS
|
let [tab, setTab] = useState("previous"); //STATE FOR SWITCHING BETWEEN TABS
|
||||||
const [loader, setLoader] = useState(false);
|
const [loader, setLoader] = useState(false);
|
||||||
|
|
||||||
let [prevCardDetails, setPrevCardDetails] = useState(null); // STATE TO HOLD PREVIOUS CARD SELECTED
|
let [prevCardDetails, setPrevCardDetails] = useState({}); // STATE TO HOLD PREVIOUS CARD SELECTED
|
||||||
|
|
||||||
let [payListCard, setPayListCard] = useState({ loading: true, data: [] }); //USER PREVIOUS CARDS
|
let [payListCards, setPayListCards] = useState({ loading: true, data: [] }); //USER PREVIOUS CARDS
|
||||||
|
// const [payListCard, setPayListCard] = useState({ data: "" }); //USER PAYLIST
|
||||||
|
|
||||||
const [currentPage, setCurrentPage] = useState(0);
|
const handleInputChange = (event) => {
|
||||||
const indexOfFirstItem = Number(currentPage);
|
const { name, value } = event.target;
|
||||||
|
setPrevCardDetails((prevState) => ({
|
||||||
|
...prevState,
|
||||||
|
[name]: value,
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
|
||||||
|
const indexOfFirstItem = 0;
|
||||||
const indexOfLastItem =
|
const indexOfLastItem =
|
||||||
Number(indexOfFirstItem) + Number(process.env.REACT_APP_ITEM_PER_PAGE);
|
indexOfFirstItem + Number(process.env.REACT_APP_ITEM_PER_PAGE);
|
||||||
const currentPreviousCards = payListCard?.data?.slice(
|
const currentPreviousCards = payListCards?.data?.slice(
|
||||||
indexOfFirstItem,
|
indexOfFirstItem,
|
||||||
indexOfLastItem
|
indexOfLastItem
|
||||||
);
|
);
|
||||||
|
|
||||||
const handlePagination = (e) => {
|
|
||||||
handlePagingFunc(e, setCurrentPage);
|
|
||||||
};
|
|
||||||
|
|
||||||
// FUNCTION TO SUBMIT
|
// FUNCTION TO SUBMIT
|
||||||
const handleSubmit = (values, helpers) => {
|
const handleSubmit = (values, helpers) => {
|
||||||
props.setInputError("");
|
props.setInputError("");
|
||||||
@@ -95,10 +98,17 @@ function AddFundDollars(props) {
|
|||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
if (tab == "previous") {
|
if (tab == "previous") {
|
||||||
|
if (!prevCardDetails) {
|
||||||
|
// return setTimeout(() => {
|
||||||
|
// props.setInputError("");
|
||||||
|
// }, 5000);
|
||||||
|
return;
|
||||||
|
}
|
||||||
setLoader(true);
|
setLoader(true);
|
||||||
const stateData = {
|
const stateData = {
|
||||||
amount: Number(props.input),
|
amount: Number(props.input),
|
||||||
currency: props.currency,
|
currency: props.currency,
|
||||||
|
card: prevCardDetails["payment-card"],
|
||||||
};
|
};
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@@ -111,7 +121,7 @@ function AddFundDollars(props) {
|
|||||||
const stateData = {
|
const stateData = {
|
||||||
amount: Number(props.input),
|
amount: Number(props.input),
|
||||||
currency: props.currency,
|
currency: props.currency,
|
||||||
...values,
|
values,
|
||||||
};
|
};
|
||||||
// navigate("confirm-add-fund", { state: stateData }); // State will change later dummy for now
|
// navigate("confirm-add-fund", { state: stateData }); // State will change later dummy for now
|
||||||
}
|
}
|
||||||
@@ -121,14 +131,16 @@ function AddFundDollars(props) {
|
|||||||
apiCall
|
apiCall
|
||||||
.payListCard()
|
.payListCard()
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
setPayListCard({ loading: false, data: res.data.result_list });
|
setPayListCards({ loading: false, data: res.data.result_list });
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("PAYCARDLIST ERROR", err);
|
console.log("PAYCARDLIST ERROR", err);
|
||||||
setPayListCard({ loading: false, data: [] });
|
setPayListCards({ loading: false, data: [] });
|
||||||
});
|
});
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
console.log("Annoying card>>", prevCardDetails["payment-card"]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="w-full">
|
<div className="w-full">
|
||||||
@@ -172,24 +184,30 @@ function AddFundDollars(props) {
|
|||||||
{/* previous tab */}
|
{/* previous tab */}
|
||||||
{tab == "previous" ? (
|
{tab == "previous" ? (
|
||||||
<div className="p-4 previous-details w-full min-h-[177px] flex flex-col justify-between items-center">
|
<div className="p-4 previous-details w-full min-h-[177px] flex flex-col justify-between items-center">
|
||||||
{payListCard.loading ? (
|
{payListCards.loading ? (
|
||||||
<LoadingSpinner size="10" color="sky-blue" />
|
<LoadingSpinner size="10" color="sky-blue" />
|
||||||
) : payListCard?.data?.length ? (
|
) : payListCards?.data?.length ? (
|
||||||
<select className="my-3 w-full rounded-full p-4 outline-none border-none">
|
<select
|
||||||
|
className="my-3 w-full rounded-full p-4 outline-none border-none"
|
||||||
|
value={prevCardDetails["payment-card"]?.card_uid}
|
||||||
|
id="payment-card"
|
||||||
|
name="payment-card"
|
||||||
|
onChange={handleInputChange}
|
||||||
|
>
|
||||||
<option value="">Select a card</option>
|
<option value="">Select a card</option>
|
||||||
{currentPreviousCards.map((item, index) => (
|
{currentPreviousCards.map((item, index) => (
|
||||||
<option
|
<option
|
||||||
key={index}
|
key={index}
|
||||||
className={index != 0 && "border-t-2"}
|
className={index != 0 && "border-t-2"}
|
||||||
value={item}
|
value={JSON.stringify(item)}
|
||||||
>
|
>
|
||||||
<div className="my-2 flex items-center gap-5">
|
<div className="my-2 flex items-center gap-5">
|
||||||
{/* <input
|
{/* <input
|
||||||
type="radio"
|
type="radio"
|
||||||
className="w-8 h-8"
|
className="w-8 h-8"
|
||||||
name="card"
|
name="card"
|
||||||
value="value"
|
value="value"
|
||||||
/> */}
|
/> */}
|
||||||
<div className="card-details">
|
<div className="card-details">
|
||||||
<h1 className="text-lg font-bold text-dark-gray dark:text-white tracking-wide">
|
<h1 className="text-lg font-bold text-dark-gray dark:text-white tracking-wide">
|
||||||
{item.description} Card
|
{item.description} Card
|
||||||
@@ -198,24 +216,24 @@ function AddFundDollars(props) {
|
|||||||
Bank **************{item.digits}
|
Bank **************{item.digits}
|
||||||
</p>
|
</p>
|
||||||
{/* <div className="w-full sm:flex items-center gap-5">
|
{/* <div className="w-full sm:flex items-center gap-5">
|
||||||
<p className="text-base font-bold text-dark-gray dark:text-white tracking-wide">
|
<p className="text-base font-bold text-dark-gray dark:text-white tracking-wide">
|
||||||
{item.added}
|
{item.added}
|
||||||
</p>
|
</p>
|
||||||
<p className="text-sm font-bold text-green-700 dark:text-white tracking-wide">
|
<p className="text-sm font-bold text-green-700 dark:text-white tracking-wide">
|
||||||
Verified
|
Verified
|
||||||
</p>
|
</p>
|
||||||
</div> */}
|
</div> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/* <td>
|
{/* <td>
|
||||||
<button
|
<button
|
||||||
// onClick={handleSubmit}
|
// onClick={handleSubmit}
|
||||||
type="button"
|
type="button"
|
||||||
className="px-2 py-1 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white"
|
className="px-2 py-1 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white"
|
||||||
>
|
>
|
||||||
<span className="text-white">Manage</span>
|
<span className="text-white">Manage</span>
|
||||||
</button>
|
</button>
|
||||||
</td> */}
|
</td> */}
|
||||||
</option>
|
</option>
|
||||||
))}
|
))}
|
||||||
</select>
|
</select>
|
||||||
@@ -233,23 +251,6 @@ function AddFundDollars(props) {
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{/* PAGINATION BUTTON */}
|
|
||||||
{/* <div className="w-full">
|
|
||||||
<PaginatedList
|
|
||||||
onClick={handlePagination}
|
|
||||||
prev={currentPage == 0 ? true : false}
|
|
||||||
next={
|
|
||||||
currentPage + Number(process.env.REACT_APP_ITEM_PER_PAGE) >=
|
|
||||||
payListCard?.data?.length
|
|
||||||
? true
|
|
||||||
: false
|
|
||||||
}
|
|
||||||
data={payListCard?.data}
|
|
||||||
start={indexOfFirstItem}
|
|
||||||
stop={indexOfLastItem}
|
|
||||||
/>
|
|
||||||
</div> */}
|
|
||||||
{/* END OF PAGINATION BUTTON */}
|
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="new-details w-full max-h-[19.063rem] overflow-y-scroll">
|
<div className="new-details w-full max-h-[19.063rem] overflow-y-scroll">
|
||||||
|
|||||||
@@ -96,18 +96,31 @@ function ConfirmAddFund({ confirmCredit, onClose, walletItem }) {
|
|||||||
// }
|
// }
|
||||||
// }, []);
|
// }, []);
|
||||||
|
|
||||||
console.log("data on confirm", confirmCredit);
|
const ThePaymentText = ({value}) => (
|
||||||
|
<div className="my-2 flex items-center gap-5">
|
||||||
|
<div className="card-details">
|
||||||
|
<h1 className="text-lg font-bold text-dark-gray dark:text-white tracking-wide">
|
||||||
|
{value.description} Card
|
||||||
|
</h1>
|
||||||
|
<p className="text-base font-bold text-dark-gray dark:text-white tracking-wide">
|
||||||
|
Bank **************{value.digits}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log("data on confirm", confirmCredit?.data?.card.card_uid);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="content-wrapper w-full h-[36rem]">
|
<div className="content-wrapper w-full h-[36rem]">
|
||||||
<div className="w-full mb-10">
|
<div className="w-full mb-10">
|
||||||
<div className="add-fund w-full bg-white dark:bg-dark-white rounded-2xl shadow">
|
<div className="add-fund w-full bg-white dark:bg-dark-white rounded-2xl">
|
||||||
{/* <h2 className="md:p-8 p-4 text-slate-900 dark:text-white text-xl lg:text-2xl font-medium">
|
{/* <h2 className="md:p-8 p-4 text-slate-900 dark:text-white text-xl lg:text-2xl font-medium">
|
||||||
Confirm Add Fund To Account
|
Confirm Add Fund To Account
|
||||||
</h2>
|
</h2>
|
||||||
<hr /> */}
|
<hr /> */}
|
||||||
<div className="px-4 md:px-8 py-4 add-fund-info">
|
<div className="px-4 md:p-8 py-4 add-fund-info">
|
||||||
<div className="field w-full mb-3 min-h-[45px] flex items-center">
|
<div className="field w-full mb-3 min-h-[45px]">
|
||||||
{confirmCredit?.show ? (
|
{confirmCredit?.show ? (
|
||||||
<div className="flex flex-col items-center gap-4">
|
<div className="flex flex-col items-center gap-4">
|
||||||
<div className="flex items-center gap-4">
|
<div className="flex items-center gap-4">
|
||||||
@@ -131,10 +144,10 @@ function ConfirmAddFund({ confirmCredit, onClose, walletItem }) {
|
|||||||
htmlFor="payment"
|
htmlFor="payment"
|
||||||
className="input-label text-[#181c32] dark:text-white text-xl leading-[20.9625px] font-semibold flex items-center gap-1"
|
className="input-label text-[#181c32] dark:text-white text-xl leading-[20.9625px] font-semibold flex items-center gap-1"
|
||||||
>
|
>
|
||||||
{confirmCredit?.data?.currency && "Payment Method"}
|
{confirmCredit?.data?.currency && "Payment Method:"}
|
||||||
</label>
|
</label>
|
||||||
<span className="text-[#181c32] dark:text-white text-xl leading-[20.9625px] font-semibold">
|
<span className="text-[#181c32] dark:text-white text-xl leading-[20.9625px] font-semibold">
|
||||||
Coming Soon...
|
{/* {confirmCredit?.data?.card && <ThePaymentText value={confirmCredit?.data?.card} />} */}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -161,7 +174,7 @@ function ConfirmAddFund({ confirmCredit, onClose, walletItem }) {
|
|||||||
<div className="min-h-[350px]"></div>
|
<div className="min-h-[350px]"></div>
|
||||||
<div className="md:p-8 p-4 add-fund-btn flex justify-end items-center py-4 gap-4">
|
<div className="md:p-8 p-4 add-fund-btn flex justify-end items-center py-4 gap-4">
|
||||||
<button
|
<button
|
||||||
className="px-2 h-11 flex justify-center items-center border-gradient text-base rounded-full"
|
className="px-4 h-11 flex justify-center items-center border-gradient text-base rounded-full"
|
||||||
onClick={onClose}
|
onClick={onClose}
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
|
|||||||
Reference in New Issue
Block a user