import Spring from "@components/Spring"; import styles from "./styles.module.scss"; import React, {useState} from "react"; import {useSelector} from "react-redux"; import {getUserInfo} from "@features/mainSlice"; import {numFormatter, stringFormat} from "@utils/helpers"; import {getWithdrawBaseInfo} from "@features/paySlice"; import symbol from "@assets/symbol-defs.svg"; import {ReactComponent as Edit} from '@assets/singlesvg/edit.svg'; import {useNavigate} from "react-router-dom"; import {ROUTE_PATH} from "@constants/routes"; const i18n=global.i18n; const BRWithdraw=()=>{ const user=useSelector(getUserInfo); const info=useSelector(getWithdrawBaseInfo); const navigate=useNavigate(); const addBtnParam = [200, 500, 1000, 2000, 5000, -1]; const [addIndex,setAddIndex]=useState(-1); const [wdValue,setWdValue]=useState(""); const getShowCash=(value)=>{ value=Number(value); return value/global.CASH_BASE; } const formatInput=(text)=>{ let Score=user.Score*global.CASH_BASE; let inputNum = Number(text)*global.CASH_BASE; inputNum = Math.min(inputNum, info.SumCanExchange); inputNum = Math.min(inputNum, Score); return (inputNum > 0) ? (getShowCash(inputNum)) : ""; } const getAddIndexFromValue=(value)=>{ value=Number(value); let index=addBtnParam.indexOf(value); if (index===-1){ if (value===info.CanWithDraw){ index=addBtnParam.length-1; } } return index; } const renderUser=()=>{ return (
{i18n.t("withdraw.main.total_balance")}
{global.DOLLAR+" "+numFormatter(user.Score)}
{i18n.t("withdraw.main.withdrawable")}
{global.DOLLAR+" "+numFormatter(getShowCash(info.SumCanExchange))}
) } const renderWithdrawValue=()=>{ return (
{i18n.t("withdraw.main.editBox")}
{ addBtnParam.map((item,index)=>{ let label=item===-1?i18n.t("withdraw.main.btn_all"):global.DOLLAR+" "+item; return ( ) }) }
{global.DOLLAR}
{ let value=formatInput(e.target.value); setWdValue(value); setAddIndex(getAddIndexFromValue(value)); }} /> { wdValue===""?(<>):( ) }
) } const renderAccount=()=>{ let BankUserName=info.BankUserName; let AccountsBank=info.AccountsBank; let cbPixType=Number(info.PixType); let via=""; let accout=""; if (BankUserName!==""||AccountsBank!==""){ via=cbPixType >= 10 ? "TED" : "PIX"; accout=cbPixType >= 10 ? AccountsBank : BankUserName } return (
{i18n.t("withdraw.account.title")}
{i18n.t("withdraw.main.via")}
{ via===""?(
{i18n.t("withdraw.main.bank_info_isNull")}
):(
{via}
) } {/*
*/}
{i18n.t("withdraw.main.account")}
{ accout===""?(
{i18n.t("withdraw.main.bank_No_isNull")}
):(
{accout}
) } {/*
*/}
) } const renderSubmit=()=>{ let num = info.OrderLimit - info.OrderCount; // data.WithDrawMin, data.WithDrawMax let min=getShowCash(info.MinExchange); let max=getShowCash(info.MaxExchange); return (
{stringFormat(i18n.t("withdraw.main.tip"),[min,max])}
) } return ( <> { info==null?(<>):( {renderUser()} {renderWithdrawValue()} {renderAccount()} {renderSubmit()} ) } ) } export default BRWithdraw;