/**
* 支付组件
* @邠心vbe on 2021/04/23
*/
import React, { useState } from 'react';
import { useEffect } from 'react';
import { View, Text, StyleSheet, Image } from 'react-native';
import Button from '../../components/Button';
import TextRadius from '../../components/TextRadius';
import utils from '../../utils/utils';
import { LowCreditDialog } from '../charge/InfoDialog';
import { PageList } from '../Router';
const Payment = ({
topup, balance,
payType="Pay Per Use (SGQR)", isWallet = false, isPayPerUse=true,
//payType="Credit Wallet", isWallet = true,
onMethodChange, refreshId = 0
}) => {
const [visible, showDialog] = useState(false)
/*useEffect(() => {
if (balance == undefined) {
if (userInfo.credit <= 5 && refreshId > 0) {
showDialog(true)
}
}
}, [refreshId])*/
return (
{ isWallet || isPayPerUse
?
{payType}
:
Visa/Mastercard
Credit/Debit Card
}
{isWallet ? currency + (balance ?? userInfo.credit) : ''}
{ topup
?
);
}
export default Payment;
export const Balance = ({balance}) => {
return (
Credit Wallet
{currency}{getBalance(utils.isNotEmpty(balance) ? balance : userInfo.credit)}
);
}
export const PAYTYPE = {
CREDIT_WALLET: "CreditWallet", // 钱包余额支付
PAY_PER_USE: "PayPerUse" // 按次支付
}
const getBalance = (balance) => {
console.log('getBalance', balance, userInfo);
return balance ? balance.toFixed(2) : '0.0'
}
const styles = StyleSheet.create({
paymentView: {
borderRadius: 8,
paddingTop: 12,
paddingLeft: 16,
paddingRight: 16,
paddingBottom: 12,
alignItems: 'center',
flexDirection: 'row',
backgroundColor: '#F5F5F5',
justifyContent: 'space-between'
},
walletIcon: {
width: 36,
height: 36
},
creditText: {
color: '#333',
fontSize: 14,
},
rateText: {
color: '#333',
fontSize: 14,
},
balance: {
flex: 1,
color: '#333',
fontSize: 16,
textAlign: 'right',
fontWeight: 'bold',
paddingRight: 24,
},
balanceIcon: {
width: 30,
height: 30
},
balanceTitle: {
flex: 1,
color: '#000',
fontSize: 16,
paddingLeft: 12
},
balanceValue: {
color: '#000',
fontSize: 18,
paddingRight: 6
},
infoStatus: {
paddingTop: 4,
paddingLeft: 10,
paddingRight: 10,
paddingBottom: 4,
borderRadius: 4
},
selected: {
color: colorAccent,
backgroundColor: '#333'
},
topupView: {
borderRadius: 4,
backgroundColor: '#333'
},
topupText: {
color: colorAccent,
fontSize: 12,
fontWeight: 'normal'
},
balanceView: {
padding: 16,
alignItems: 'center',
flexDirection: 'row'
}
});