Compare commits

...

11 Commits

Author SHA1 Message Date
victorAnumudu dc592f60db layout fix 2023-07-13 14:02:27 +01:00
victorAnumudu 675ba2989e layout fix 2023-07-13 14:00:02 +01:00
ameye b201224fd6 Merge branch 'wallet-size' of WrenchBoard/Users-Wrench into master 2023-07-13 12:45:17 +00:00
ameye c24013eefd Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-13 12:45:12 +00:00
victorAnumudu 234f04ca8f wallet size changed 2023-07-13 13:41:39 +01:00
Ebube 5f222a2d88 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-13 12:37:32 +01:00
Ebube 258434a109 Applied corrections and changes to the wallet 2023-07-13 12:34:39 +01:00
CHIEFSOFT\ameye ed148612a7 more banners 2023-07-13 07:21:37 -04:00
ameye 2287fb5ebb Merge branch 'wallet-cleanup' of WrenchBoard/Users-Wrench into master 2023-07-13 10:16:18 +00:00
ameye ead7589c92 Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-13 08:21:23 +00:00
Ebube 51bb8fc421 Corrections on AddFundPop 2023-07-13 03:21:52 +01:00
11 changed files with 123 additions and 210 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

@@ -63,7 +63,7 @@ export default function InputCom({
</span> </span>
)} )}
{/* displays error is any */} {/* displays error is any */}
{error && <span className="text-[12px] text-red-500">{error}</span>} {error && <span className="text-[12px] text-red-500 italic">{error}</span>}
</label> </label>
)} )}
{forgotPassword && ( {forgotPassword && (
+92 -167
View File
@@ -11,37 +11,37 @@ import Icons from "../Helpers/Icons";
const validationSchema = Yup.object().shape({ const validationSchema = Yup.object().shape({
name: Yup.string() name: Yup.string()
.min(3, "Minimum 3 characters") .min(3, "3 chars min.")
.max(50, "Maximum 50 characters") .max(50, "50 chars max.")
.required("Name is required"), .required("required"),
cardNum: Yup.string() cardNum: Yup.string()
.min(3, "Minimum 3 characters") .min(3, "3 chars min.")
.max(25, "Maximum 25 characters") .max(25, "25 chars max.")
.required("Card Number is required"), .required("required"),
code: Yup.string() code: Yup.string()
.min(3, "Minimum 3 characters") .min(3, "3 chars min.")
.max(25, "Maximum 25 characters") .max(25, "25 chars max.")
.required("Postal Code is required"), .required("required"),
state: Yup.string() state: Yup.string()
.min(3, "Minimum 3 characters") .min(3, "3 chars min.")
.max(25, "Maximum 25 characters") .max(25, "25 chars max.")
.required("State is required"), .required("required"),
address: Yup.string() address: Yup.string()
.min(3, "Minimum 3 characters") .min(3, "3 chars min.")
.max(50, "Maximum 50 characters") .max(50, "50 chars max.")
.required("Address is required"), .required("required"),
expirationYear: Yup.string() expirationYear: Yup.string()
.min(4, "Minimum 4 characters") .min(4, "4 chars min.")
.max(4, "Maximum 4 characters") .max(4, "4 chars max.")
.required("Expiration Year is required"), .required("required"),
expirationMonth: Yup.string() expirationMonth: Yup.string()
.min(1, "Minimum 1 characters") .min(1, "1 chars min.")
.max(2, "Maximum 2 characters") .max(2, "2 chars max.")
.required("Expiration Month is required"), .required("required"),
cvv: Yup.string() cvv: Yup.string()
.min(3, "Minimum 3 characters") .min(3, "3 chars min.")
.max(4, "Maximum 4 characters") .max(4, "4 chars max.")
.required("CVV Year is required"), .required("required"),
}); });
const initialValues = { const initialValues = {
@@ -57,15 +57,14 @@ const initialValues = {
function AddFundDollars(props) { function AddFundDollars(props) {
const navigate = useNavigate(); const navigate = useNavigate();
let apiCall = new usersService(); const apiCall = new usersService();
let [tab, setTab] = useState("previous"); //STATE FOR SWITCHING BETWEEN TABS const [tab, setTab] = useState("previous");
const [loader, setLoader] = useState(false); const [loader, setLoader] = useState(false);
const { userDetails } = useSelector((state) => state?.userDetails); const { userDetails } = useSelector((state) => state?.userDetails);
let { firstname, lastname } = userDetails; const { firstname, lastname } = userDetails;
let [prevCardDetails, setPrevCardDetails] = useState({}); // STATE TO HOLD PREVIOUS CARD SELECTED const [prevCardDetails, setPrevCardDetails] = useState({});
let [payListCards, setPayListCards] = useState({ loading: true, data: [] }); //USER PREVIOUS CARDS const [payListCards, setPayListCards] = useState({ loading: true, data: [] });
// const [payListCard, setPayListCard] = useState({ data: "" }); //USER PAYLIST
const handleInputChange = (event) => { const handleInputChange = (event) => {
const { name, value } = event.target; const { name, value } = event.target;
@@ -83,27 +82,20 @@ function AddFundDollars(props) {
indexOfLastItem indexOfLastItem
); );
// FUNCTION TO SUBMIT
const handleSubmit = (values, helpers) => { const handleSubmit = (values, helpers) => {
props.setInputError(""); props.setInputError("");
if (!props.input || props.input == "0") { if (!props.input || props.input === "0") {
props.setInputError("Please Enter Amount"); props.setInputError("Please Enter Amount");
return setTimeout(() => { return;
props.setInputError("");
}, 5000);
} }
if (isNaN(props.input)) { if (isNaN(props.input)) {
props.setInputError("Amount must be a Number"); props.setInputError("Amount must be a Number");
return setTimeout(() => { return;
props.setInputError("");
}, 5000);
} }
if (tab == "previous") {
if (tab === "previous") {
if (!prevCardDetails) { if (!prevCardDetails) {
// return setTimeout(() => {
// props.setInputError("");
// }, 5000);
return; return;
} }
setLoader(true); setLoader(true);
@@ -113,19 +105,18 @@ function AddFundDollars(props) {
card: prevCardDetails["payment-card"], card: prevCardDetails["payment-card"],
}; };
setTimeout(() => { return setTimeout(() => {
props.setConfirmCredit({ show: true, data: stateData }); props.setConfirmCredit({ show: true, data: stateData });
setLoader(false); setLoader(false);
}, 1500); }, 1500);
// navigate("confirm-add-fund", { state: stateData }); // State will change later dummy for now
} }
if (tab == "new") {
if (tab === "new") {
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
} }
}; };
@@ -141,6 +132,10 @@ function AddFundDollars(props) {
}); });
}, []); }, []);
console.log(props)
const handleClose = props.onClose
return ( return (
<> <>
<div className="w-full"> <div className="w-full">
@@ -190,13 +185,13 @@ function AddFundDollars(props) {
{/* END OF switch button */} {/* END OF switch button */}
{/* previous tab */} {/* previous tab */}
{tab == "previous" ? ( {tab === "previous" ? (
<div className="p-4 previous-details w-full min-h-[16rem] flex flex-col justify-between items-center"> <div className="p-4 previous-details w-full min-h-[16rem] flex flex-col justify-between items-center">
{payListCards.loading ? ( {payListCards.loading ? (
<LoadingSpinner size="10" color="sky-blue" /> <LoadingSpinner size="10" color="sky-blue" />
) : payListCards?.data?.length ? ( ) : payListCards?.data?.length ? (
<select <select
className="my-3 w-full rounded-full p-4 outline-none border-none text-base text-black dark:text-gray-100 bg-[#dce2e6] dark:bg-[#5e6278] border" className="my-3 w-full rounded-full p-2 outline-none text-base text-black dark:text-gray-100 bg-[#FAFAFA] dark:bg-[#11131F] border"
value={prevCardDetails["payment-card"]?.card_uid} value={prevCardDetails["payment-card"]?.card_uid}
id="payment-card" id="payment-card"
name="payment-card" name="payment-card"
@@ -206,16 +201,10 @@ function AddFundDollars(props) {
{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={JSON.stringify(item)} value={JSON.stringify(item)}
> >
<div className="my-2 flex items-center gap-5"> <div className="my-2 flex items-center gap-5">
{/* <input
type="radio"
className="w-8 h-8"
name="card"
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
@@ -244,7 +233,7 @@ function AddFundDollars(props) {
)} )}
</div> </div>
) : ( ) : (
<div className="new-details w-full max-h-[23rem] overflow-y-scroll"> <div className="new-details w-full max-h-[23rem]">
<div className="w-full flex flex-col justify-between"> <div className="w-full flex flex-col justify-between">
<Formik <Formik
initialValues={initialValues} initialValues={initialValues}
@@ -253,11 +242,11 @@ function AddFundDollars(props) {
> >
{(props) => { {(props) => {
return ( return (
<Form> <Form className="md:pl-8">
<div className="flex flex-col-reverse sm:flex-row"> <div className="flex flex-col-reverse sm:flex-row">
<div className="flex-1 sm:mr-10"> <div className="flex-1 sm:mr-10">
<div className="fields w-full"> <div className="fields w-full">
{/* inputs starts here */} {/* Inputs */}
{/* Name */} {/* Name */}
<div className="flex items-center field w-full my-2 flex-[0.4] gap-3"> <div className="flex items-center field w-full my-2 flex-[0.4] gap-3">
<label className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold flex items-center gap-1"> <label className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold flex items-center gap-1">
@@ -266,27 +255,8 @@ function AddFundDollars(props) {
<p className="input-label text-[#181c32] dark:text-white text-[16px] leading-[20.9625px] font-semibold flex items-center gap-1">{`${firstname} ${lastname}`}</p> <p className="input-label text-[#181c32] dark:text-white text-[16px] leading-[20.9625px] font-semibold flex items-center gap-1">{`${firstname} ${lastname}`}</p>
</div> </div>
{/* <div className="field w-full my-2 flex-[0.4]"> <div className="flex items-center flex-1 gap-3 my-2">
<InputCom {/* Card Number */}
fieldClass="px-6"
spanTag="*"
label="Name on Card"
type="text"
name="name"
placeholder="DUMMY NAME"
value={props.values.name}
inputHandler={props.handleChange}
blurHandler={props.handleBlur}
/>
{props.errors.name && props.touched.name && (
<p className="text-sm text-red-500">
{props.errors.name}
</p>
)}
</div> */}
<div className="flex items-center flex-1 gap-3 my-3">
{/* CARD NUMBER */}
<div className="field w-full flex-[0.6]"> <div className="field w-full flex-[0.6]">
<InputCom <InputCom
fieldClass="px-6" fieldClass="px-6"
@@ -299,15 +269,10 @@ function AddFundDollars(props) {
value={props.values.cardNum} value={props.values.cardNum}
inputHandler={props.handleChange} inputHandler={props.handleChange}
blurHandler={props.handleBlur} blurHandler={props.handleBlur}
error={props.errors.cardNum}
/> />
{props.errors.cardNum &&
props.touched.cardNum && (
<p className="text-sm text-red-500">
{props.errors.cardNum}
</p>
)}
</div> </div>
{/* EXPIRE YEAR, YEAR */} {/* Expire Year, Year */}
<div className="sm:grid gap-5 grid-cols-2 flex-[0.4]"> <div className="sm:grid gap-5 grid-cols-2 flex-[0.4]">
<div className="field w-full mb-6 xl:mb-0 col-span-1"> <div className="field w-full mb-6 xl:mb-0 col-span-1">
<div className="select-option"> <div className="select-option">
@@ -315,13 +280,16 @@ function AddFundDollars(props) {
className={`flex items-center justify-between mb-2.5`} className={`flex items-center justify-between mb-2.5`}
> >
<label <label
className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold block" className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold line-clamp-3 flex items-center"
htmlFor="expiration" htmlFor="expiration"
> >
Exp Month{" "} Exp Month{" "}
<span className="text-red-700 text-sm tracking-wide"> <span className="text-red-700 text-sm italic">
* *
</span> </span>
<span className="text-[12px] text-red-500 ml-1">
{props.errors.expirationMonth && "**"}
</span>
</label> </label>
</div> </div>
<div <div
@@ -352,12 +320,6 @@ function AddFundDollars(props) {
</select> </select>
</div> </div>
</div> </div>
{props.errors.expirationMonth &&
props.touched.expirationMonth && (
<p className="text-sm text-red-500">
{props.errors.expirationMonth}
</p>
)}
</div> </div>
<div className="field w-full mb-6 xl:mb-0 col-span-1"> <div className="field w-full mb-6 xl:mb-0 col-span-1">
<div className="select-option"> <div className="select-option">
@@ -365,13 +327,16 @@ function AddFundDollars(props) {
className={`flex items-center justify-between mb-2.5`} className={`flex items-center justify-between mb-2.5`}
> >
<label <label
className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold block" className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold flex items-center line-clamp-3"
htmlFor="expiration" htmlFor="expiration"
> >
Exp Year{" "} Exp Year{" "}
<span className="text-red-700 text-sm tracking-wide"> <span className="text-red-700 text-sm tracking-wide">
* *
</span> </span>
<span className="text-[12px] text-red-500 italic">
{props.errors.expirationYear && "**"}
</span>
</label> </label>
</div> </div>
<div <div
@@ -384,7 +349,12 @@ function AddFundDollars(props) {
onBlur={props.handleBlur} onBlur={props.handleBlur}
name="expirationYear" name="expirationYear"
> >
<option value="" className="text-dark-gray">Year</option> <option
value=""
className="text-dark-gray"
>
Year
</option>
{expireYear?.length && {expireYear?.length &&
expireYear.map((item, index) => ( expireYear.map((item, index) => (
<option key={index} value={item}> <option key={index} value={item}>
@@ -394,18 +364,12 @@ function AddFundDollars(props) {
</select> </select>
</div> </div>
</div> </div>
{props.errors.expirationYear &&
props.touched.expirationYear && (
<p className="text-sm text-red-500">
{props.errors.expirationYear}
</p>
)}
</div> </div>
</div> </div>
</div> </div>
<div className="flex items-center flex-1 gap-3 my-3"> <div className="flex items-center flex-1 gap-3 my-2">
{/* Address AND CVV */} {/* Address and CVV */}
<div className="field w-full col-span-1 flex-[0.4]"> <div className="field w-full col-span-1 flex-[0.4]">
<InputCom <InputCom
fieldClass="px-6" fieldClass="px-6"
@@ -418,12 +382,8 @@ function AddFundDollars(props) {
value={props.values.cvv} value={props.values.cvv}
inputHandler={props.handleChange} inputHandler={props.handleChange}
blurHandler={props.handleBlur} blurHandler={props.handleBlur}
error={props.errors.cvv}
/> />
{props.errors.cvv && props.touched.cvv && (
<p className="text-sm text-red-500">
{props.errors.cvv}
</p>
)}
</div> </div>
<div className="field w-full flex-[0.6]"> <div className="field w-full flex-[0.6]">
<InputCom <InputCom
@@ -436,17 +396,13 @@ function AddFundDollars(props) {
value={props.values.Address} value={props.values.Address}
inputHandler={props.handleChange} inputHandler={props.handleChange}
blurHandler={props.handleBlur} blurHandler={props.handleBlur}
error={props.errors.address}
/> />
{props.errors.address &&
props.touched.address && (
<p className="text-sm text-red-500">
{props.errors.address}
</p>
)}
</div> </div>
</div> </div>
{/* postal code and state */}
<div className="sm:grid gap-5 grid-cols-3 my-3"> {/* Postal Code and State */}
<div className="sm:grid gap-5 grid-cols-3 my-2">
<div className="field w-full mb-6 xl:mb-0 col-span-1"> <div className="field w-full mb-6 xl:mb-0 col-span-1">
<InputCom <InputCom
fieldClass="px-6" fieldClass="px-6"
@@ -458,12 +414,8 @@ function AddFundDollars(props) {
value={props.values.code} value={props.values.code}
inputHandler={props.handleChange} inputHandler={props.handleChange}
blurHandler={props.handleBlur} blurHandler={props.handleBlur}
error={props.errors.code}
/> />
{props.errors.code && props.touched.code && (
<p className="text-sm text-red-500">
{props.errors.code}
</p>
)}
</div> </div>
<div className="field w-full col-span-1"> <div className="field w-full col-span-1">
<InputCom <InputCom
@@ -476,60 +428,33 @@ function AddFundDollars(props) {
value={props.values.state} value={props.values.state}
inputHandler={props.handleChange} inputHandler={props.handleChange}
blurHandler={props.handleBlur} blurHandler={props.handleBlur}
error={props.errors.state}
/> />
{props.errors.state && props.touched.state && (
<p className="text-sm text-red-500">
{props.errors.state}
</p>
)}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
{/* <div className="w-full"> <div className="md:px-8 md:pt-4 px-4 pt-2 add-fund-btn flex justify-end items-center gap-3">
{requestStatus.message != "" && ( <button
<p className="px-4 py-1 h-11 max-w-[100px] w-full flex justify-center items-center border-gradient text-base rounded-full"
className={`text-center text-base ${ onClick={handleClose}
requestStatus.status ? "text-green-800" : "text-red-600" >
}`} Cancel
> </button>
{requestStatus.message}
</p>
)}
<div className="w-full h-[120px] border-t border-light-purple dark:border-[#5356fb29] flex justify-end items-center">
<div className="flex items-center space-x-4 mr-9">
<Link
to="/"
className="text-18 text-light-red tracking-wide "
>
<span className="border-b dark:border-[#5356fb29] border-light-red">
{" "}
Cancel
</span>
</Link>
{requestStatus.loading ? (
<LoadingSpinner size="8" color="sky-blue" />
) : (
<button
type="submit"
className="w-[152px] h-[46px] flex justify-center items-center btn-gradient text-base rounded-full text-white"
>
Update Profile
</button>
)}
</div>
</div>
</div> */}
<div className="md:px-8 md:pt-4 px-4 pt-2 add-fund-btn flex justify-end items-center">
<button <button
type="submit" type="submit"
className="py-1 px-4 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white gap-1" className="px-4 py-1 h-11 max-w-[100px] w-full flex justify-center items-center btn-gradient text-base rounded-full text-white"
> >
<span className="text-white">Continue</span>{" "} {loader ? (
<Icons name="chevron-right" /> <LoadingSpinner size="6" color="sky-blue" />
) : (
<>
<span className="text-white">Continue</span>{" "}
<Icons name="chevron-right" />
</>
)}
</button> </button>
</div> </div>
</Form> </Form>
+14 -15
View File
@@ -36,20 +36,19 @@ function AddFundPop({ _payment, input, setInput, onClose, setConfirmCredit }) {
}, 5000); }, 5000);
} }
if (input) return; const stateData = {
// setTimeout( amount: Number(input),
// () => currency: currency,
// setConfirmCredit({ };
// show: true,
// data: { amount: Number(input), currency: "naira" },
// }),
// 1500
// );
// const stateData = { amount: Number(input), currency: "naira" }; return setTimeout(
// navigate("confirm-add-fund", { state: stateData }); () =>
setConfirmCredit({
// setInput(""); show: true,
data: stateData,
}),
1500
);
}; };
return ( return (
@@ -61,7 +60,7 @@ function AddFundPop({ _payment, input, setInput, onClose, setConfirmCredit }) {
{/*<hr />*/} {/*<hr />*/}
<form className="md:px-8 md:pt-4 px-4 pt-2 add-fund-info flex items-center gap-[2.1rem]"> <form className="md:px-8 md:pt-4 px-4 pt-2 add-fund-info flex items-center gap-[2.1rem]">
<h1 className="text-xl font-bold text-dark-gray dark:text-white tracking-tighter my-1"> <h1 className="text-xl font-bold text-dark-gray dark:text-white tracking-tighter my-1">
{currency == "US Dollars" ? "Amount (USD)" : "Amount (Naira)"} Amount({currency})
</h1> </h1>
<div className="field w-full max-w-[250px]"> <div className="field w-full max-w-[250px]">
<InputCom <InputCom
@@ -92,6 +91,7 @@ function AddFundPop({ _payment, input, setInput, onClose, setConfirmCredit }) {
</div> </div>
)} )}
{currency != "US Dollars" && <div className="h-[18rem]"></div>}
{/* HIDES THIS BUTTON IF CURENCY IS NAIRA */} {/* HIDES THIS BUTTON IF CURENCY IS NAIRA */}
{currency != "US Dollars" && ( {currency != "US Dollars" && (
<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">
@@ -113,7 +113,6 @@ function AddFundPop({ _payment, input, setInput, onClose, setConfirmCredit }) {
</div> </div>
</div> </div>
</div> </div>
{/* HIDES THIS SECTION IF CURENCY IS NAIRA */} {/* HIDES THIS SECTION IF CURENCY IS NAIRA */}
{currency != "US Dollars" && {currency != "US Dollars" &&
// <div className="content-wrapper w-full lg:flex xl:space-x-8 lg:space-x-4 bottomMargin"> // <div className="content-wrapper w-full lg:flex xl:space-x-8 lg:space-x-4 bottomMargin">
+10 -19
View File
@@ -96,7 +96,10 @@ function ConfirmAddFund({ confirmCredit, onClose, walletItem }) {
// } // }
// }, []); // }, []);
let __confirmCard = JSON.parse(confirmCredit?.data.card); const __confirmCard = confirmCredit?.data.card
? JSON.parse(confirmCredit?.data.card)
: "";
const ThePaymentText = ({ value }) => ( const ThePaymentText = ({ value }) => (
<div className="my-2 flex items-center gap-5"> <div className="my-2 flex items-center gap-5">
<div className="card-details flex items-center gap-3"> <div className="card-details flex items-center gap-3">
@@ -124,9 +127,7 @@ function ConfirmAddFund({ confirmCredit, onClose, walletItem }) {
<div className="flex flex-col gap-4"> <div className="flex flex-col gap-4">
<div className="flex items-center gap-4"> <div className="flex items-center gap-4">
<h1 className="text-xl font-bold text-dark-gray dark:text-white tracking-tighter my-1"> <h1 className="text-xl font-bold text-dark-gray dark:text-white tracking-tighter my-1">
{confirmCredit?.data?.currency == "naira" Amount({confirmCredit?.data?.currency})
? "Amount (Naira):"
: "Amount (Dollars):"}
</h1> </h1>
<span className="text-xl font-bold text-dark-gray dark:text-white tracking-tighter my-1"> <span className="text-xl font-bold text-dark-gray dark:text-white tracking-tighter my-1">
{`${walletItem?.symbol} ${ {`${walletItem?.symbol} ${
@@ -144,20 +145,16 @@ function ConfirmAddFund({ confirmCredit, onClose, walletItem }) {
{confirmCredit?.data?.currency && "Payment Method:"} {confirmCredit?.data?.currency && "Payment Method:"}
</label> </label>
<span className="text-[#181c32] dark:text-white "> <span className="text-[#181c32] dark:text-white ">
{__confirmCard && ( {__confirmCard ? (
<ThePaymentText value={__confirmCard} /> <ThePaymentText value={__confirmCard} />
)} ) : null}
</span> </span>
</div> </div>
</div> </div>
) : ( ) : (
<InputCom <InputCom
fieldClass="px-6" fieldClass="px-6"
label={ label={` Amount${confirmCredit?.data?.currency}`}
confirmCredit?.data?.currency == "naira"
? "Amount (Naira):"
: "Amount (Dollars):"
}
type="text" type="text"
name="amount" name="amount"
value={confirmCredit?.data?.amount || ""} value={confirmCredit?.data?.amount || ""}
@@ -178,18 +175,12 @@ function ConfirmAddFund({ confirmCredit, onClose, walletItem }) {
> >
Cancel Cancel
</button> </button>
{confirmCredit?.data?.currency == "naira" ? (
{confirmCredit?.data?.currency == "Naira" && (
<FlutterWaveButton <FlutterWaveButton
{...fwConfig} {...fwConfig}
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"
/> />
) : (
<button
className="px-4 py-1 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white"
onClick={() => console.log("WORKING")}
>
Continue
</button>
)} )}
</div> </div>
</div> </div>
@@ -47,8 +47,6 @@ const CreditPopup = ({ details, onClose, situation, walletItem }) => {
onClose(); onClose();
}; };
console.log("prop drills >> ", state);
return ( return (
<ModalCom <ModalCom
action={onClose} action={onClose}
+2 -2
View File
@@ -10,14 +10,14 @@ export default function WalletBox({ wallet, coupon, payment }) {
<> <>
<div className="my-wallet-wrapper w-full mb-10"> <div className="my-wallet-wrapper w-full mb-10">
<div className="main-wrapper w-full"> <div className="main-wrapper w-full">
<div className="balance-inquery w-full lg:flex lg:space-x-11 mb-11"> <div className="balance-inquery w-full flex flex-wrap justify-center gap-2">
{wallet.loading ? ( {wallet.loading ? (
<div className="w-full h-full flex items-center justify-center"> <div className="w-full h-full flex items-center justify-center">
<LoadingSpinner size="16" color="sky-blue" /> <LoadingSpinner size="16" color="sky-blue" />
</div> </div>
) : wallet.data.length ? ( ) : wallet.data.length ? (
wallet.data.map((item, index) => ( wallet.data.map((item, index) => (
<div className="lg:w-1/2 h-full mb-10 lg:mb-0"> <div className="w-[350px] h-full flex justify-center">
<WalletItemCard walletItem={item} payment={payment} /> <WalletItemCard walletItem={item} payment={payment} />
</div> </div>
)) ))
+4 -4
View File
@@ -36,16 +36,16 @@ export default function WalletItemCard({ walletItem, payment }) {
return ( return (
<> <>
<div <div
className={`current-balance-widget w-full h-full rounded-2xl overflow-hidden flex flex-col gap-2 px-8 py-9`} className={`current-balance-widget w-[350px] h-full rounded-2xl overflow-hidden flex flex-col gap-2 px-8 pt-9 pb-20`}
style={{ style={{
background: `url(${background}) 0% 0% / cover no-repeat`, background: `url(${background}) 0% 0% / cover no-repeat`,
}} }}
> >
<div className="wallet xxs:flex justify-around items-start gap-3"> <div className="wallet xxs:flex justify-between items-start gap-3">
<div className="min-w-[100px] min-h-[100px] max-w-[100px] max-h-[100px] rounded-full bg-[#e3e3e3] flex justify-center items-center"> <div className="min-w-[100px] min-h-[100px] max-w-[100px] max-h-[100px] rounded-full bg-[#e3e3e3] flex justify-center items-center">
<img src={localImgLoad(`images/currency/${image}`)} className="w-full h-full" alt="curreny-icon" /> <img src={localImgLoad(`images/currency/${image}`)} className="w-full h-full" alt="curreny-icon" />
</div> </div>
<div className="balance w-full"> <div className="balance mt-2">
<p className="text-lg text-white opacity-[70%] tracking-wide mb-6"> <p className="text-lg text-white opacity-[70%] tracking-wide mb-6">
Current Balance Current Balance
</p> </p>
@@ -57,7 +57,7 @@ export default function WalletItemCard({ walletItem, payment }) {
"text-[2rem]" "text-[2rem]"
)} )}
</p> </p>
<p className="xxs:-ml-5 mt-10 text-lg text-white tracking-wide flex justify-start items-center gap-2"> <p className="xxs:-ml-5 mt-10 mb-5 text-lg text-white tracking-wide flex justify-start items-center gap-2">
HOLDINGS :{" "} HOLDINGS :{" "}
<span className="mt-1"> <span className="mt-1">
{PriceFormatter( {PriceFormatter(