|
|
@@ -1,7 +1,8 @@
|
|
|
import styles from "@components/GameTabs/styles.module.scss";
|
|
|
-import React, {Fragment, useEffect, useState} from "react";
|
|
|
+import React, {Fragment, Suspense, useEffect, useState} from "react";
|
|
|
import symbol from '@assets/symbol-defs.svg';
|
|
|
import AllWidgets from "@widgets/index";
|
|
|
+import SmallLoading from "@components/SmallLoading";
|
|
|
const GameTabs=({data})=>{
|
|
|
const [tabIndex, setTabIndex] = useState(1);
|
|
|
// data={
|
|
|
@@ -47,6 +48,7 @@ const GameTabs=({data})=>{
|
|
|
const renderTabs=()=>{
|
|
|
let tabs=data.tabs;
|
|
|
if (tabs==null)tabs=[];
|
|
|
+ if (tabs.length===0)return (<></>);
|
|
|
return (
|
|
|
<div className={styles.game_tabs}>
|
|
|
{
|
|
|
@@ -54,7 +56,7 @@ const GameTabs=({data})=>{
|
|
|
return (
|
|
|
<button key={index} onClick={()=>{
|
|
|
changeTab(item.tabtype);
|
|
|
- }} className={`${styles.tab_item} ${item.tabtype==tabIndex?styles.active:''}`}>
|
|
|
+ }} className={`${styles.tab_item} ${item.tabtype===tabIndex?styles.active:''}`}>
|
|
|
<svg className={styles.icon}>
|
|
|
<use xlinkHref={`${symbol}#${item.icon}`} />
|
|
|
</svg>
|
|
|
@@ -81,6 +83,7 @@ const GameTabs=({data})=>{
|
|
|
}
|
|
|
const renderModule=()=>{
|
|
|
let list=getModules();
|
|
|
+ if (list==null||list.length===0)return (<></>);
|
|
|
return (
|
|
|
<>
|
|
|
{
|
|
|
@@ -89,7 +92,9 @@ const GameTabs=({data})=>{
|
|
|
if (Comp==null)return (<></>);
|
|
|
return (
|
|
|
<Fragment key={index}>
|
|
|
- <Comp data={item}></Comp>
|
|
|
+ <Suspense fallback={<SmallLoading/>}>
|
|
|
+ <Comp data={item}></Comp>
|
|
|
+ </Suspense>
|
|
|
</Fragment>
|
|
|
)
|
|
|
})
|