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