import styles from './styles.module.scss'; import React, { useEffect } from 'react'; import usePaymentActions from '@hooks/usePaymentActions'; import { useSelector } from 'react-redux'; import { getPaymentOrderStatus } from '@features/paySlice'; import { REQ_STATUS } from '@api/config'; import usePaymentMethods from '@hooks/usePaymentMethods'; import { PaymentGears } from '@db/payment'; import MainButton from '@components/Buttons/MainButton'; import lockImg from '@assets/pay/img_lock.png'; import { ReactComponent as CheckIcon } from '@assets/withdraw/icon_check.svg'; const i18n = global.i18n; const PaymentOption = ({ active, img, name, onClick }) => { return (
{name} { active &&
}
) } const WPaymentMethods = () => { const goods = global.curGoods || {}; // const goods = { // "price": "29.99", // "goodsName": "", // "GiftsID": "304", // "gear": `[{"name":"cashapp","group_id":1,"value":1,"status":1},{"name":"cashbtcpay","group_id":1,"value":16,"status":1},{"name":"eth","group_id":2,"value":32,"status":1},{"name":"usdc","group_id":2,"value":2048,"status":1},{"name":"cashapp","group_id":1,"value":1,"status":1},{"name":"paypal","group_id":0,"value":2,"status":1},{"name":"applepay","group_id":0,"value":4,"status":1},{"name":"cashbtcpay","group_id":1,"value":16,"status":1}]` // } const { getPaymentOrder } = usePaymentActions(); const orderStatus = useSelector(getPaymentOrderStatus); const { mainGears, gearSelection, getSubGears, onChooseMethod, getChoiseGear, } = usePaymentMethods(goods) useEffect(() => { // adjust 进入支付控制台 global.tracker.trackEvent("enter_recharge_control"); global.tracker.trackEvent("enter_recharge_control_count"); }, []); const onBtnPayClick = () => { if (orderStatus === REQ_STATUS.LOADING) return; const gear = getChoiseGear(); if (!gear) return; getPaymentOrder({ ...goods, pay_method: gear.value, pay_name: gear.name }); } const renderSubMethods = (main) => { const subs = getSubGears(); const subIdx = gearSelection.subIdx; if (subs.length === 0) return <>; return (
{i18n.t("deposit.gears.sub_method", { method: main })}
{ subs.map((gear, idx) => { const config = PaymentGears[gear] || {}; const active = subIdx === idx; return (
{ onChooseMethod(-1, idx) }}> {config?.name || gear}
) }) }
) } return (
{global.DOLLAR}{goods.price} { (global.curGoods && global.curGoods.GiftsID) && {i18n.t("deposit.gift_pack")} }
{ mainGears.map((item, index) => { const config = PaymentGears[item] || {}; const active = index === gearSelection.gearIdx; return ( { onChooseMethod(index) }} /> { active && renderSubMethods(item) } ) }) } {/* {getDepositBtnDesc(goods.price)} */} {i18n.t("deposit.btn_payment")}
{i18n.t("deposit.pay_hint")}
) } export default WPaymentMethods