|
|
@@ -1,11 +1,12 @@
|
|
|
import styles from './styles.module.scss'
|
|
|
import {useEffect, useRef} from "react";
|
|
|
import {useThemeProvider} from "@contexts/themeContext";
|
|
|
-import {useSelector} from "react-redux";
|
|
|
+import {useDispatch, useSelector} from "react-redux";
|
|
|
import {getBBConf, getUserID, getUserInfo} from "@features/mainSlice";
|
|
|
import {APP_THEME} from "@constants/app";
|
|
|
import {useNavigate} from "react-router-dom";
|
|
|
import {ROUTE_PATH} from "@constants/routes";
|
|
|
+import {reqGameInfo} from "@features/api";
|
|
|
const i18n=global.i18n;
|
|
|
const objInfo={
|
|
|
bt:null
|
|
|
@@ -18,6 +19,22 @@ const WSport=({})=>{
|
|
|
const userID=useSelector(getUserID);
|
|
|
const language=i18n.language;
|
|
|
const navigate=useNavigate();
|
|
|
+ const dispatch=useDispatch();
|
|
|
+ const refreshToken=async ()=>{
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ dispatch(reqGameInfo()).then(({payload})=>{
|
|
|
+ let data=payload.data;
|
|
|
+ if (data!=null){
|
|
|
+ let bb=data.bb;
|
|
|
+ if (bb!=null){
|
|
|
+ resolve(bb.token);
|
|
|
+ }
|
|
|
+ else reject('');
|
|
|
+ }
|
|
|
+ else reject('');
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
const initBetby=()=>{
|
|
|
if (bbConf==null)return null;
|
|
|
let brand_id=bbConf.id;
|
|
|
@@ -29,15 +46,16 @@ const WSport=({})=>{
|
|
|
// if (bbConf.token!=null)token=bbConf.token;
|
|
|
if (user!=null&&user.bb!=null&&user.bb.token!=null)token=user.bb.token;
|
|
|
// token=null;
|
|
|
+ let betSlipOffsetBottom=isMobile()?70:0;
|
|
|
var bt = new window.BTRenderer().initialize({
|
|
|
brand_id: brand_id,
|
|
|
token: token,
|
|
|
- onTokenExpired: function() {},
|
|
|
+ onTokenExpired: ()=>refreshToken(),
|
|
|
themeName: themeName,
|
|
|
// themeName: "bc-game-dark-tile",
|
|
|
lang: language,
|
|
|
target: document.getElementById('betby'),
|
|
|
- betSlipOffsetBottom: 70,
|
|
|
+ betSlipOffsetBottom: betSlipOffsetBottom,
|
|
|
betSlipOffsetRight: 0,
|
|
|
betSlipOffsetTop: 130,
|
|
|
betslipZIndex: 100,
|