|
@@ -1,18 +1,20 @@
|
|
|
-import {useEffect, useState} from "react";
|
|
|
|
|
|
|
+import React, {useEffect, useState} from "react";
|
|
|
import styles from "./styles.module.scss";
|
|
import styles from "./styles.module.scss";
|
|
|
import Modal from "@mui/material/Modal";
|
|
import Modal from "@mui/material/Modal";
|
|
|
import Fade from "@mui/material/Fade";
|
|
import Fade from "@mui/material/Fade";
|
|
|
import Grow from "@mui/material/Grow";
|
|
import Grow from "@mui/material/Grow";
|
|
|
import {useDispatch, useSelector} from "react-redux";
|
|
import {useDispatch, useSelector} from "react-redux";
|
|
|
-import {getOFirstPay, getPaymentOrderStatus} from "@features/paySlice";
|
|
|
|
|
|
|
+import {getCPFFirst, getOFirstPay, getPaymentOrderStatus} from "@features/paySlice";
|
|
|
import {ROUTE_PATH} from "@constants/routes";
|
|
import {ROUTE_PATH} from "@constants/routes";
|
|
|
import {REQ_STATUS} from "@api/config";
|
|
import {REQ_STATUS} from "@api/config";
|
|
|
import {reqPaymentOrder} from "@features/api";
|
|
import {reqPaymentOrder} from "@features/api";
|
|
|
import {useNavigate} from "react-router-dom";
|
|
import {useNavigate} from "react-router-dom";
|
|
|
-import {getUserInfo} from "@features/mainSlice";
|
|
|
|
|
|
|
+import {getUserInfo, isLogined} from "@features/mainSlice";
|
|
|
import SmallLoading from "@components/SmallLoading";
|
|
import SmallLoading from "@components/SmallLoading";
|
|
|
import {useThemeProvider} from "@contexts/themeContext";
|
|
import {useThemeProvider} from "@contexts/themeContext";
|
|
|
-import {APP_WELFARE} from "@constants/app";
|
|
|
|
|
|
|
+import {APP_COUNTRY_CODE, APP_WELFARE} from "@constants/app";
|
|
|
|
|
+import BRCPFSave from "@widgets/WDeposit/BR/BRCPFSave/BRCPFSave";
|
|
|
|
|
+import RUPaytypeSelect from "@widgets/WDeposit/RU/RUPaytypeSelect";
|
|
|
const i18n=global.i18n;
|
|
const i18n=global.i18n;
|
|
|
|
|
|
|
|
const WFirstPay=()=>{
|
|
const WFirstPay=()=>{
|
|
@@ -23,6 +25,9 @@ const WFirstPay=()=>{
|
|
|
const user=useSelector(getUserInfo);
|
|
const user=useSelector(getUserInfo);
|
|
|
const orderStatus=useSelector(getPaymentOrderStatus);
|
|
const orderStatus=useSelector(getPaymentOrderStatus);
|
|
|
const {setWelfTabState}=useThemeProvider();
|
|
const {setWelfTabState}=useThemeProvider();
|
|
|
|
|
+ const isLogin=useSelector(isLogined);
|
|
|
|
|
+ const cpfFirst=useSelector(getCPFFirst);
|
|
|
|
|
+ const areaItem=global.getLocalAreaItem();
|
|
|
const show=()=>{
|
|
const show=()=>{
|
|
|
setIsShow(true);
|
|
setIsShow(true);
|
|
|
setWelfTabState(APP_WELFARE.FIRST_PAY);
|
|
setWelfTabState(APP_WELFARE.FIRST_PAY);
|
|
@@ -45,10 +50,42 @@ const WFirstPay=()=>{
|
|
|
navigate(ROUTE_PATH.PAY_ORDER);
|
|
navigate(ROUTE_PATH.PAY_ORDER);
|
|
|
}
|
|
}
|
|
|
const onGetPaymentOder=(data)=>{
|
|
const onGetPaymentOder=(data)=>{
|
|
|
|
|
+ if (!isLogin){
|
|
|
|
|
+ hide();
|
|
|
|
|
+ navigate(ROUTE_PATH.SIGN_IN);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
if (orderStatus===REQ_STATUS.LOADING)return;
|
|
if (orderStatus===REQ_STATUS.LOADING)return;
|
|
|
- data.user=user;
|
|
|
|
|
- data.callback=onGetPaymentCallback;
|
|
|
|
|
- dispatch(reqPaymentOrder(data));
|
|
|
|
|
|
|
+ let reqOrder=()=>{
|
|
|
|
|
+ data.user=user;
|
|
|
|
|
+ data.callback=onGetPaymentCallback;
|
|
|
|
|
+ dispatch(reqPaymentOrder(data));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (areaItem.code===APP_COUNTRY_CODE.RU){
|
|
|
|
|
+ if (global.ruPaytypeSelect!=null){
|
|
|
|
|
+ global.ruPaytypeSelect.show((eventType)=>{
|
|
|
|
|
+ data.eventType=eventType;
|
|
|
|
|
+ reqOrder();
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (areaItem.code===APP_COUNTRY_CODE.BR){
|
|
|
|
|
+ if (cpfFirst){
|
|
|
|
|
+ if (global.brCPFSave!=null){
|
|
|
|
|
+ global.brCPFSave.show(()=>{
|
|
|
|
|
+ data.cpf_first=1;
|
|
|
|
|
+ reqOrder();
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ reqOrder();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else{
|
|
|
|
|
+ reqOrder();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
const renderMain=()=>{
|
|
const renderMain=()=>{
|
|
|
if (firstPayConf==null)return (<></>);
|
|
if (firstPayConf==null)return (<></>);
|
|
@@ -113,20 +150,42 @@ const WFirstPay=()=>{
|
|
|
</button>
|
|
</button>
|
|
|
)
|
|
)
|
|
|
}
|
|
}
|
|
|
|
|
+ const renderPaytypeSelect=()=>{
|
|
|
|
|
+ if (areaItem.code===APP_COUNTRY_CODE.RU){
|
|
|
|
|
+ return (<RUPaytypeSelect/>)
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ return (<></>);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ const renderCPFSave=()=>{
|
|
|
|
|
+ if (areaItem.code===APP_COUNTRY_CODE.BR){
|
|
|
|
|
+ return (<BRCPFSave/>)
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ return (<></>)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
return (
|
|
return (
|
|
|
- <Modal open={isShow} onClose={hide} closeAfterTransition>
|
|
|
|
|
- <Fade in={isShow} timeout={500}>
|
|
|
|
|
- <div className={styles.container}>
|
|
|
|
|
- <Grow in={isShow} timeout={500}>
|
|
|
|
|
- <div className={styles.f_con}>
|
|
|
|
|
- <img className={styles.title} src={require(`@assets/firstPay/${i18n.language}.png`)}/>
|
|
|
|
|
- {renderMain()}
|
|
|
|
|
- {renderPayBtn()}
|
|
|
|
|
- </div>
|
|
|
|
|
- </Grow>
|
|
|
|
|
- </div>
|
|
|
|
|
- </Fade>
|
|
|
|
|
- </Modal>
|
|
|
|
|
|
|
+ <>
|
|
|
|
|
+ <Modal open={isShow} onClose={hide} closeAfterTransition>
|
|
|
|
|
+ <Fade in={isShow} timeout={500}>
|
|
|
|
|
+ <div className={styles.container}>
|
|
|
|
|
+ <Grow in={isShow} timeout={500}>
|
|
|
|
|
+ <div className={styles.f_con}>
|
|
|
|
|
+ <img className={styles.title} src={require(`@assets/firstPay/${i18n.language}.png`)}/>
|
|
|
|
|
+ {renderMain()}
|
|
|
|
|
+ {renderPayBtn()}
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </Grow>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </Fade>
|
|
|
|
|
+ </Modal>
|
|
|
|
|
+ {renderPaytypeSelect()}
|
|
|
|
|
+ {renderCPFSave()}
|
|
|
|
|
+ </>
|
|
|
)
|
|
)
|
|
|
}
|
|
}
|
|
|
export default WFirstPay;
|
|
export default WFirstPay;
|