- Redeem Code
This commit is contained in:
Marselino Widis 2023-01-18 13:36:31 +07:00
parent 9b915d22c6
commit ffaae28e64
2 changed files with 67 additions and 19 deletions

View File

@ -199,7 +199,7 @@ class DashboardComponent extends React.Component {
Voucher Voucher
</Typography> </Typography>
<Typography component="p"> <Typography component="p">
<NumberFormat value={(0).toFixed(2)} displayType={'text'} thousandSeparator={true} prefix={'Rp '} /> <NumberFormat value={(this.props.appstate.wallet.data.wallet).toFixed(2)} displayType={'text'} thousandSeparator={true} prefix={'Rp '} />
</Typography> </Typography>
</MuiCardContent> </MuiCardContent>
<MuiCardActions> <MuiCardActions>
@ -330,7 +330,8 @@ class DashboardComponent extends React.Component {
style={{ marginTop: 15 }}> style={{ marginTop: 15 }}>
{(this.vouchersStore.list.length > 0) ? {(this.vouchersStore.list.length > 0) ?
this.vouchersStore.list.map((item, index) => { this.vouchersStore.list.map((item, index) => {
let image = get(item, 'images.logo', ''); console.log("itemm", item)
let image = get(item, 'images.main', '');
if (!image.includes('http')) { if (!image.includes('http')) {
image = this.http.appendImagePath(image); image = this.http.appendImagePath(image);

View File

@ -19,13 +19,56 @@ export default class ModalTopupComponent extends React.Component {
inputCode2: '', inputCode2: '',
inputCode3: '', inputCode3: '',
inputCode4: '', inputCode4: '',
confirmLoading: false confirmLoading: false,
onOk: {}
}; };
this.defaultState = Object.assign({}, this.state); this.defaultState = Object.assign({}, this.state);
} }
componentDidMount() {} componentDidMount() {}
redeemCode (code) {
const codeList = [
{
code: 'MLXNAPNU18nd0871',
amount: 10000
},
{
code: 'ABAKO1239KLKHASD',
amount: 20000
},
{
code: 'W54VCZJN23FGSDAG',
amount: 50000
},
{
code: '123456789ABCEFGH',
amount: 100000
}
]
var rightCode = {}
codeList.map((cl) => {
if (cl.code === code){
rightCode = cl
this.props.appstate.wallet.data.wallet = this.props.appstate.wallet.data.wallet + cl.amount
message.success("Voucher redeem success");
this.setState({
confirmLoading: false
});
this.state.onOk()
}else{
this.setState({
confirmLoading: false
});
message.warning("Voucher redeem failed")
}
})
}
render() { render() {
const {data, isVisible = false, onOk = () => {}, onCancel = () => {}, title='Redeem your code'} = this.props; const {data, isVisible = false, onOk = () => {}, onCancel = () => {}, title='Redeem your code'} = this.props;
@ -35,25 +78,29 @@ export default class ModalTopupComponent extends React.Component {
visible={isVisible} visible={isVisible}
onOk={async () => { onOk={async () => {
this.setState({ this.setState({
confirmLoading: true confirmLoading: true,
onOk: onOk()
}); });
let voucherCode = this.state.inputCode1 + this.state.inputCode2 + this.state.inputCode3 + this.state.inputCode4; let voucherCode = this.state.inputCode1 + this.state.inputCode2 + this.state.inputCode3 + this.state.inputCode4;
console.log("voucherCode", voucherCode)
try { this.redeemCode(voucherCode)
await this.props.appstate.wallet.redeemVoucherCode(voucherCode);
this.props.onOk(); // try {
message.info("Voucher redeem success"); // await this.props.appstate.wallet.redeemVoucherCode(voucherCode);
} catch (e) { // this.props.onOk();
message.error(e.message); // message.info("Voucher redeem success");
} finally { // } catch (e) {
this.setState({ // message.error(e.message);
inputCode1: '', // } finally {
inputCode2: '', // this.setState({
inputCode3: '', // inputCode1: '',
inputCode4: '', // inputCode2: '',
confirmLoading: false // inputCode3: '',
}); // inputCode4: '',
} // confirmLoading: false
// });
// }
}} }}
onCancel={() => { onCancel={() => {