|
@@ -1,10 +1,10 @@
|
|
|
import styles from './styles.module.scss';
|
|
import styles from './styles.module.scss';
|
|
|
import React, {useEffect, useRef, useState} from "react";
|
|
import React, {useEffect, useRef, useState} from "react";
|
|
|
-import {reqFirstPayConfig, reqFirstPayMulti, reqProtectCheck, reqRechargeConfig} from "@features/api";
|
|
|
|
|
|
|
+import {reqFirstPayConfig, reqFirstPayMulti, reqGameInfo, reqProtectCheck, reqRechargeConfig} from "@features/api";
|
|
|
import {useDispatch, useSelector} from "react-redux";
|
|
import {useDispatch, useSelector} from "react-redux";
|
|
|
import {getFirstBonus, getOpenRelief, getPopBindPhone, getUpgradeBonus, getUserInfo} from "@features/mainSlice";
|
|
import {getFirstBonus, getOpenRelief, getPopBindPhone, getUpgradeBonus, getUserInfo} from "@features/mainSlice";
|
|
|
import {APP_WELFARE} from "@constants/app";
|
|
import {APP_WELFARE} from "@constants/app";
|
|
|
-import {getCurrPayOrder, getFirstPayMulti, getOFirstPay} from "@features/paySlice";
|
|
|
|
|
|
|
+import {getBonusPack, getCurrPayOrder, getFirstPayMulti, getOFirstPay} from "@features/paySlice";
|
|
|
import {getProtectInfo} from "@features/protectSlice";
|
|
import {getProtectInfo} from "@features/protectSlice";
|
|
|
import {formatCash, formatTime} from "@utils/helpers";
|
|
import {formatCash, formatTime} from "@utils/helpers";
|
|
|
import {useThemeProvider} from "@contexts/themeContext";
|
|
import {useThemeProvider} from "@contexts/themeContext";
|
|
@@ -66,6 +66,9 @@ const WWelfarebar = () => {
|
|
|
const upgradBonus=useSelector(getUpgradeBonus);
|
|
const upgradBonus=useSelector(getUpgradeBonus);
|
|
|
const regCoins=formatCash(upgradBonus,0);
|
|
const regCoins=formatCash(upgradBonus,0);
|
|
|
const firstPayMulti=useSelector(getFirstPayMulti);
|
|
const firstPayMulti=useSelector(getFirstPayMulti);
|
|
|
|
|
+ //bonus pack
|
|
|
|
|
+ const [openBonusPack, setOpenBonusPack] = useState(0);
|
|
|
|
|
+ const bonusPack=useSelector(getBonusPack);
|
|
|
const getWelfTabState=(key)=>{
|
|
const getWelfTabState=(key)=>{
|
|
|
if (welfTabState===key)return true;
|
|
if (welfTabState===key)return true;
|
|
|
return false;
|
|
return false;
|
|
@@ -85,6 +88,9 @@ const WWelfarebar = () => {
|
|
|
case APP_WELFARE.BIND:
|
|
case APP_WELFARE.BIND:
|
|
|
setOpenBind(state);
|
|
setOpenBind(state);
|
|
|
break;
|
|
break;
|
|
|
|
|
+ case APP_WELFARE.BONUS_PACK:
|
|
|
|
|
+ setOpenBonusPack(state);
|
|
|
|
|
+ break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
const checkProtect=()=>{
|
|
const checkProtect=()=>{
|
|
@@ -161,10 +167,31 @@ const WWelfarebar = () => {
|
|
|
cdStr=cdStr.substring(0,cdStr.length-3);
|
|
cdStr=cdStr.substring(0,cdStr.length-3);
|
|
|
return cdStr;
|
|
return cdStr;
|
|
|
}
|
|
}
|
|
|
|
|
+ //bonus pack
|
|
|
|
|
+ const checkBonusPack=()=>{
|
|
|
|
|
+ let state=0;
|
|
|
|
|
+ if (bonusPack&&bonusPack.timeleft>0){
|
|
|
|
|
+ state=1;
|
|
|
|
|
+ }
|
|
|
|
|
+ changeNewState(APP_WELFARE.BONUS_PACK,state);
|
|
|
|
|
+ }
|
|
|
|
|
+ const getBonusPackCD=()=>{
|
|
|
|
|
+ let timeleft=-1;
|
|
|
|
|
+ if (bonusPack!=null){
|
|
|
|
|
+ timeleft=Number(bonusPack.timeleft);
|
|
|
|
|
+ }
|
|
|
|
|
+ return timeleft;
|
|
|
|
|
+ }
|
|
|
|
|
+ const formatBonusPackCD=(bonusCD)=>{
|
|
|
|
|
+ let cdStr=formatTime(bonusCD);
|
|
|
|
|
+ cdStr=cdStr.substring(0,cdStr.length-3);
|
|
|
|
|
+ return cdStr;
|
|
|
|
|
+ }
|
|
|
useEffect(()=>{
|
|
useEffect(()=>{
|
|
|
let UserID=user.UserID;
|
|
let UserID=user.UserID;
|
|
|
if (UserID>0){
|
|
if (UserID>0){
|
|
|
dispatch(reqProtectCheck());
|
|
dispatch(reqProtectCheck());
|
|
|
|
|
+ dispatch(reqGameInfo());
|
|
|
}
|
|
}
|
|
|
dispatch(reqRechargeConfig());
|
|
dispatch(reqRechargeConfig());
|
|
|
// dispatch(reqFirstPayConfig());
|
|
// dispatch(reqFirstPayConfig());
|
|
@@ -188,6 +215,10 @@ const WWelfarebar = () => {
|
|
|
useEffect(()=>{
|
|
useEffect(()=>{
|
|
|
checkFirstPayStatus();
|
|
checkFirstPayStatus();
|
|
|
},[orderInfo])
|
|
},[orderInfo])
|
|
|
|
|
+ //bonus pack
|
|
|
|
|
+ useEffect(()=>{
|
|
|
|
|
+ checkBonusPack();
|
|
|
|
|
+ },[bonusPack])
|
|
|
const renderBar=()=>{
|
|
const renderBar=()=>{
|
|
|
let extra='';
|
|
let extra='';
|
|
|
if (!isMobile()){
|
|
if (!isMobile()){
|
|
@@ -204,6 +235,7 @@ const WWelfarebar = () => {
|
|
|
const stars=Array.from({ length: 5 }, (_, index) => index);
|
|
const stars=Array.from({ length: 5 }, (_, index) => index);
|
|
|
let symbol=getSymbol();
|
|
let symbol=getSymbol();
|
|
|
let firstCD=getFirstCD();
|
|
let firstCD=getFirstCD();
|
|
|
|
|
+ let bonusCD=getBonusPackCD();
|
|
|
return (
|
|
return (
|
|
|
<div className={`${styles.container} ${extra}`}>
|
|
<div className={`${styles.container} ${extra}`}>
|
|
|
<div className={`${styles.content} ${isClose?styles.content_close:''}`}>
|
|
<div className={`${styles.content} ${isClose?styles.content_close:''}`}>
|
|
@@ -264,6 +296,21 @@ const WWelfarebar = () => {
|
|
|
src={require("@assets/welfare/bind_txt_" + i18n.language + ".png")}/>
|
|
src={require("@assets/welfare/bind_txt_" + i18n.language + ".png")}/>
|
|
|
</div>
|
|
</div>
|
|
|
</WelfareBtn>
|
|
</WelfareBtn>
|
|
|
|
|
+ <WelfareBtn key={"bonus_pack"} open={openBonusPack}
|
|
|
|
|
+ pressDown={getWelfTabState(APP_WELFARE.BONUS_PACK)}
|
|
|
|
|
+ onClick={() => {
|
|
|
|
|
+ global.showBonusPack();
|
|
|
|
|
+ }}>
|
|
|
|
|
+ <div className={styles.wlf_bpack}>
|
|
|
|
|
+ <div className={styles.wlf_bpack_mask} style={{
|
|
|
|
|
+ webkitMask: `url(${require("@assets/welfare/bonuspack.png")}) 0 0/100%`
|
|
|
|
|
+ }}>
|
|
|
|
|
+ <img className={styles.f_img} src={require("@assets/welfare/bonuspack.png")}/>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <span data-title={formatBonusPackCD(bonusCD)}
|
|
|
|
|
+ className={styles.f_cdtxt}>{formatBonusPackCD(bonusCD)}</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </WelfareBtn>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
)
|
|
)
|