year 1 ماه پیش
والد
کامیت
e5a55c607a

+ 7 - 5
src/app/[locale]/(TabBar)/[[...share]]/_home/HomeGames.tsx

@@ -64,6 +64,13 @@ const HomeGames = (props: Props) => {
             </div> */}
 
             {groupGames.map((group, index) => {
+                if (group.type === 2 && providers) {
+                    return (
+                        <React.Fragment>
+                            <Manufacturer data={providers}></Manufacturer>
+                        </React.Fragment>
+                    );
+                }
                 if (group.type !== 2) {
                     return (
                         <SwiperGroup
@@ -78,11 +85,6 @@ const HomeGames = (props: Props) => {
                     );
                 }
             })}
-            {providers && (
-                <React.Fragment>
-                    <Manufacturer data={providers}></Manufacturer>
-                </React.Fragment>
-            )}
         </>
     );
 };

+ 7 - 0
src/app/[locale]/(TabBar)/[[...share]]/_home/HomeTabs.tsx

@@ -3,6 +3,7 @@ import { GroupType, PrizeTypes } from "@/api/home";
 import Box from "@/components/Box";
 import { useRouter } from "@/i18n/routing";
 import { useSystemStore } from "@/stores/useSystemStore";
+import { getToken } from "@/utils/Cookies";
 import { Toast } from "antd-mobile";
 import clsx from "clsx";
 import { useTranslations } from "next-intl";
@@ -45,6 +46,7 @@ const buttonGroup: any = [
         locale: true,
         lock: false,
         image: "/home/history.png",
+        needLogin: true,
     },
     {
         image: "/home/favorite.png",
@@ -53,6 +55,7 @@ const buttonGroup: any = [
         url: "/gameList?pageType=2&name=Favorite",
         locale: true,
         lock: false,
+        needLogin: true,
     },
 ] as const;
 
@@ -78,6 +81,10 @@ const TabItem = ({
         if (item.lock) {
             Toast.show("It is under development.");
         } else {
+            if (item.needLogin && !getToken()) {
+                router.push("/login");
+                return;
+            }
             router.push(item.url);
         }
     };

+ 1 - 0
src/app/[locale]/(TabBar)/[[...share]]/page.tsx

@@ -29,6 +29,7 @@ const getPrizeApi = () => {
 
 export default async function Page(props: any) {
     const group = await getGames();
+    console.log(group);
 
     // const result = await getPrizeApi();
     return (

+ 8 - 8
src/app/[locale]/affiliate/component/TabsCom/index.tsx

@@ -305,15 +305,15 @@ export const CommissionModel: FC<{ visible: boolean; setVisible: (value: boolean
                             não tem desempenho subordinado 0; a taxa de retorno da comissão é
                             110/10.000; a tem 180.000 do Equipe direta e 3,13 milhões de outras
                             equipes, com um desempenho total de 3,31 milhões, e a taxa de retorno
-                            correspondente é 110/10.000.{" "}
+                            correspondente é 110/10.000.
                         </p>
                         <p>Por conseguinte, o bónus é calculado da seguinte forma:</p>
                         <p>
                             1. Equipa direta: refere-se aos membros do desenvolvimento vertical, que
-                            são coletivamente chamados de equipa direta.{" "}
+                            são coletivamente chamados de equipa direta.
                         </p>
                         <p>
-                            (1) B1, B2, B3 contribuem para A: (120000+40000+20000)x110/10000=1980.{" "}
+                            (1) B1, B2, B3 contribuem para A: (120000+40000+20000)x110/10000=1980.
                         </p>
                         <p> (2) C1 e C2 contribuem para B1:(100000+30000)x70/10000=910. </p>
                         <p>(3) C3 contribui para B3: 3 milhões x 110/10000=33000.</p>
@@ -322,7 +322,7 @@ export const CommissionModel: FC<{ visible: boolean; setVisible: (value: boolean
                             subordinados, subordinados, etc., que são coletivamente chamados de
                             outras equipas; porque este sistema pode desenvolver subordinados
                             indefinidamente, para melhor compreensão, este artigo apenas toma como
-                            exemplo uma estrutura de 2 níveis.{" "}
+                            exemplo uma estrutura de 2 níveis.
                         </p>
                         <p>
                             (1) De C1 e C2: Visto que o desempenho total de B1 é de 130000, tem
@@ -330,23 +330,23 @@ export const CommissionModel: FC<{ visible: boolean; setVisible: (value: boolean
                             de A é de 3,31 milhões, e tem uma taxa de desconto de 110/10000. Então a
                             diferença de desconto entre A e B1 é de: 110-70=40/100000, esta
                             diferença é a parte contribuída por C1 e C2 para A, portanto C1 e C2
-                            contribuem para A: (100000+30000)×40/10000=520.{" "}
+                            contribuem para A: (100000+30000)×40/10000=520.
                         </p>
                         <p>
                             2. Outras equipas: refere-se aos membros do desenvolvimento de
                             subordinados, subordinados, etc., que são coletivamente chamados de
                             outras equipas; porque este sistema pode desenvolver subordinados
                             indefinidamente, para melhor compreensão, este artigo apenas toma como
-                            exemplo uma estrutura de 2 níveis.{" "}
+                            exemplo uma estrutura de 2 níveis.
                         </p>
                         <p>3. Resumo:</p>
                         <p>
                             (1) C3 é poderoso, indiretamente permite que todo o desempenho de A
-                            desfrute de uma proporção maior de retornos da comissão.{" "}
+                            desfrute de uma proporção maior de retornos da comissão.
                         </p>
                         <p>
                             (2) B2 pode ser preguiçoso, e não tem vantagem se não houver
-                            desenvolvimento de subordinados.{" "}
+                            desenvolvimento de subordinados.
                         </p>
                         <p>
                             (3) Apesar de B3 se ter juntado relativamente tarde e pertencer aos

+ 2 - 1
src/components/Card/GroupCard.tsx

@@ -25,8 +25,9 @@ const GroupCard: FC<GroupProps> = (props) => {
                             onClick={() => {
                                 item.toDo && item.toDo();
                             }}
+                            className="h-[1.54rem] overflow-hidden rounded-[0.1rem]"
                         >
-                            <img src="/home/placehold.png" alt="" />
+                            <img src="/home/placehold.png" className="h-[100%]" alt="" />
                         </div>
                     );
                 }

+ 39 - 48
src/components/Card/SwiperGroup.tsx

@@ -30,6 +30,12 @@ interface SwiperGroupProps extends GroupProps, CardProps {
     slideRender?: (data: GameListRep[]) => ReactNode;
 }
 
+interface SwiperDataItem {
+    index: number;
+    key: string;
+    data: GameListRep[];
+}
+
 const HomeSwiper: FC<PropsWithChildren<SwiperGroupProps>> = (props) => {
     const {
         group,
@@ -51,58 +57,43 @@ const HomeSwiper: FC<PropsWithChildren<SwiperGroupProps>> = (props) => {
         "pt-[0.08rem]"
         // "pb-[0.11rem]",
     );
-    const swiperData = useMemo(() => {
-        const max = page * group.line_num;
-        let gameList = group.game_list;
-        if (group.game_list.length >= max) {
-            gameList = group.game_list.slice(0, max - 1);
-            gameList.push({
-                isCustom: true,
-                category_name: group.category_name,
-                id: 0,
-                game_icon: "",
-                game_id: "",
-                game_name: "",
-                game_name_cn: "",
-                game_type: "",
-                provider: "",
-                release_date: "",
-                toDo: () => {
-                    todoHandler && todoHandler(group);
-                },
+    const swiperData: SwiperDataItem[] = useMemo(() => {
+        const result: any = [];
+        const pageNum = page * group.line_num - 1;
+        const canshowList = group.game_list.splice(0, group.line_config_amount);
+
+        const len =
+            parseInt(`${canshowList.length / pageNum}`) +
+            (canshowList.length % pageNum === 0 ? 0 : 1);
+
+        for (let i = 0; i < len; i++) {
+            const data = canshowList.slice(i * pageNum, (i + 1) * pageNum);
+            result.push({
+                index: i,
+                key: `${group.category_name}_${i}`,
+                data: [
+                    ...data,
+                    {
+                        isCustom: true,
+                        category_name: group.category_name,
+                        id: 0,
+                        game_icon: "",
+                        game_id: "",
+                        game_name: "",
+                        game_name_cn: "",
+                        game_type: "",
+                        provider: "",
+                        release_date: "",
+                        toDo: () => {
+                            todoHandler && todoHandler(group);
+                        },
+                    },
+                ],
             });
         }
-
-        return [
-            {
-                index: 0,
-                key: group.category_name,
-                data: gameList,
-            },
-        ];
+        return result;
     }, [group, page]);
     if (!swiperData?.length) return;
-
-    // const lineNum = page * group.line_num;
-
-    // const gameList = group.game_list.slice(0, group.line_config_amount);
-    // const swiperData = Array(gameList.length ? Math.ceil(gameList.length / lineNum) : 0)
-    //     .fill(0)
-    //     .map((_, index) => {
-    //         const showData = gameList
-    //             .slice(index * lineNum, index * lineNum + lineNum)
-    //             .map((subItem) => ({ ...subItem, category_name: group.category_name }));
-    //         console.log(150, 2 + index * page);
-    //         if (index + 1 === group.line_num && group.game_list.length >= gameList.length) {
-    //             showData.splice(2 + index * page, 1, { isCustom: true });
-    //         }
-
-    //         return {
-    //             key: index,
-    //             data: showData,
-    //         };
-    //     });
-    // console.log(150, swiperData);
     const prev = () => {
         swiperRef.current!.slidePrev();
     };