102 lines
3.2 KiB
React
102 lines
3.2 KiB
React
import React, { useState } from "react";
|
|
import { useSelector } from "react-redux";
|
|
import background from "../../assets/images/bg-sky-blue.jpg"; //shape/balance-bg.svg";
|
|
import localImgLoad from "../../lib/localImgLoad";
|
|
import { PriceFormatter } from "../Helpers/PriceFormatter";
|
|
import CreditPopup from "./Popup/CreditPopup";
|
|
import WalletAction from "./WalletAction";
|
|
|
|
export default function WalletItemCard({ walletItem, payment }) {
|
|
// const [eth] = useState(90);
|
|
// const [btc] = useState(85);
|
|
// const [ltc] = useState(20);
|
|
|
|
const { userDetails } = useSelector((state) => state?.userDetails);
|
|
let accountType = userDetails?.account_type == "FAMILY";
|
|
|
|
// Credit popup
|
|
const [creditPopup, setCreditPopup] = useState({ show: false, data: {} });
|
|
const openPopUp = (value) => {
|
|
setCreditPopup({
|
|
show: true,
|
|
data: { ...value },
|
|
});
|
|
};
|
|
|
|
const closePopUp = () => {
|
|
setCreditPopup({ show: false, data: {} });
|
|
};
|
|
|
|
let image = walletItem.code
|
|
? `${walletItem.code.toLocaleLowerCase()}.svg`
|
|
: "default.png"; // HOLDS THE VALUE NAME PROPERTY FOR IMAGE ICON
|
|
|
|
return (
|
|
<>
|
|
<div
|
|
className={`current-balance-widget w-full h-full rounded-2xl overflow-hidden flex flex-col items-center gap-2 px-8 pt-9 pb-20`}
|
|
style={{
|
|
background: `url(${background}) 0% 0% / cover no-repeat`,
|
|
}}
|
|
>
|
|
{/* <div className="w-[350px]"> */}
|
|
<div className="wallet w-full 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">
|
|
<img
|
|
src={localImgLoad(`images/currency/${image}`)}
|
|
className="w-full h-full"
|
|
alt="curreny-icon"
|
|
/>
|
|
</div>
|
|
<div className="balance w-full mt-2 flex justify-center">
|
|
<div className="">
|
|
<p className="text-lg text-white opacity-[70%] tracking-wide mb-6">
|
|
Current Balance
|
|
</p>
|
|
<p className="text-[44px] font-bold text-white tracking-wide leading-10 mb-2">
|
|
{PriceFormatter(
|
|
walletItem.amount * 0.01,
|
|
walletItem.code,
|
|
undefined,
|
|
"text-[2rem]"
|
|
)}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<p className="my-5 text-lg text-white tracking-wide flex justify-center items-center gap-2">
|
|
HOLDINGS :{" "}
|
|
<span className="mt-1">
|
|
{PriceFormatter(
|
|
walletItem.escrow * 0.01,
|
|
walletItem.code,
|
|
undefined,
|
|
"text-[2rem]"
|
|
)}
|
|
</span>
|
|
</p>
|
|
{/* for white underline */}
|
|
<div className="my-2 w-full h-[1px] bg-white"></div>
|
|
|
|
{!accountType ? (
|
|
<WalletAction
|
|
walletItem={walletItem}
|
|
payment={payment}
|
|
openPopUp={openPopUp}
|
|
/>
|
|
) : null}
|
|
{/* </div> */}
|
|
</div>
|
|
{creditPopup.show && (
|
|
<CreditPopup
|
|
details={creditPopup.data}
|
|
walletItem={walletItem}
|
|
onClose={closePopUp}
|
|
situation={openPopUp}
|
|
/>
|
|
)}
|
|
</>
|
|
);
|
|
}
|