Browse Source

fix: 增加说明弹窗

Before 8 tháng trước cách đây
mục cha
commit
18f93800c5

+ 6 - 1
messages/en.json

@@ -224,7 +224,12 @@
     "title4":"Unlimited development of subordinates",
     "content4-1":"Você receberá uma porcentagem de comissão diferente toda vez que um jogador indicado por você fizer uma aposta, ",
     "red":"ganhar ou perder",
-    "content4-2":"O sistema calcula a comissão a cada 3 minutos."
+    "content4-2":"O sistema calcula a comissão a cada 3 minutos.",
+    "todayTitle": "Definição",
+    "todayDesc1": "Inscrições - Número de usuários registrados",
+    "todayDesc2": "Novos Jogadores - Novos jogadores pagantes entre os usuários registrados de hoje",
+    "todayDesc3": "Aposta válidas em equiper[num] - Total de valor de apostas válidas provenientes de indicações e contribuições de suas equipes. num - Número total de indicações e membros de suas equipes que contribuíram com apostas válidas.",
+    "todayTips": "Aviso: Os dados de hoje são atualizados a cada 3 minutos"
   },
   "ReferralsPage":{
     "Conta":"Conta",

+ 9 - 1
messages/es.json

@@ -225,7 +225,15 @@
     "title4":"Unlimited development of subordinates",
     "content4-1":"Você receberá uma porcentagem de comissão diferente toda vez que um jogador indicado por você fizer uma aposta, ",
     "red":"ganhar ou perder",
-    "content4-2":"O sistema calcula a comissão a cada 3 minutos."
+    "content4-2":"O sistema calcula a comissão a cada 3 minutos.",
+    "modalTitle": "Definição",
+    "modalTips": "Aviso: Os dados de hoje são atualizados a cada 3 minutos",
+    "todayDesc1": "Inscrições - Número de usuários registrados",
+    "todayDesc2": "Novos Jogadores - Novos jogadores pagantes entre os usuários registrados de hoje",
+    "todayDesc3": "Aposta válidas em equiper[num] - Total de valor de apostas válidas provenientes de indicações e contribuições de suas equipes. num - Número total de indicações e membros de suas equipes que contribuíram com apostas válidas.",
+    "totalDesc1" : "Inscrições - Número de usuários registrados totais",
+    "totalDesc2" : "Jogadores totais - Número total de indicações e membros de suas equipes que contribuíram com apostas válidas",
+    "totalDesc3" : "Aposta válidas total - Total do valor de apostas válidas provenientes de indicações e contribuições de suas equipes"
   },
   "ReferralsPage":{
     "Conta":"Conta",

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

@@ -29,9 +29,7 @@ const getNotices = async () => {
 };
 const Page = async () => {
     const promotions = await getPromotions();
-
     const notices = await getNotices();
-
     return (
         <>
             {/*站内信*/}
@@ -41,7 +39,6 @@ const Page = async () => {
                 data={promotions?.data || []}
                 type={promotions?.summery?.showType || 1}
             />
-
             {/*安装弹窗*/}
             <Desktop />
         </>

+ 30 - 2
src/app/[locale]/affiliate/summary/page.tsx

@@ -10,6 +10,7 @@ import { useRequest } from "ahooks";
 import { Toast } from "antd-mobile";
 import { useLocale, useTranslations } from "next-intl";
 
+import TipsModal, { ModalProps } from "@/components/TipsModal";
 import { getToken } from "@/utils/Cookies";
 import { copyText } from "@/utils/methods";
 import Image from "next/image";
@@ -33,6 +34,9 @@ const App: FC<Props> = (props) => {
     const sliderRef = useRef<HTMLDivElement>(null);
     const [num, setNum] = useState(100);
     const [money, setMoney] = useState("5000");
+
+    const todayModalRef = useRef<ModalProps>(null);
+    const totalModalRef = useRef<ModalProps>(null);
     const { userInfo } = useUserInfoStore();
     const token = getToken();
 
@@ -165,7 +169,10 @@ const App: FC<Props> = (props) => {
                     <div className="title">
                         <div>
                             {t("Hoje")}
-                            <span className="iconfont icon-bangzhu" />
+                            <span
+                                className="iconfont icon-bangzhu"
+                                onClick={() => todayModalRef.current?.onOpen()}
+                            />
                         </div>
                     </div>
                     <div className="cardMian">
@@ -199,7 +206,10 @@ const App: FC<Props> = (props) => {
                     <div className="title">
                         <div>
                             {t("Total")}
-                            <span className="iconfont icon-bangzhu" />
+                            <span
+                                className="iconfont icon-bangzhu"
+                                onClick={() => totalModalRef.current?.onOpen()}
+                            />
                         </div>
                     </div>
                     <div className="cardMian">
@@ -396,6 +406,24 @@ const App: FC<Props> = (props) => {
                 </div>
                 <div className="content"></div>
             </div>
+
+            <TipsModal title={t("modalTitle")} ref={todayModalRef}>
+                <ul className={"list-decimal break-all p-[0.1389rem] pt-0 font-bold"}>
+                    <li>{t("todayDesc1")}</li>
+                    <li>{t("todayDesc2")}</li>
+                    <li>{t("todayDesc3")}</li>
+                </ul>
+                <p className={"text-[gray]"}>{t("modalTips")}</p>
+            </TipsModal>
+
+            <TipsModal title={t("modalTitle")} ref={totalModalRef}>
+                <ul className={"list-decimal break-all p-[0.1389rem] pt-0 font-bold"}>
+                    <li>{t("totalDesc1")}</li>
+                    <li>{t("totalDesc2")}</li>
+                    <li>{t("totalDesc3")}</li>
+                </ul>
+                <p className={"text-[gray]"}>{t("modalTips")}</p>
+            </TipsModal>
         </div>
     );
 };

+ 41 - 0
src/components/TipsModal/index.tsx

@@ -0,0 +1,41 @@
+"use client";
+import { Mask } from "antd-mobile";
+import { forwardRef, PropsWithChildren, useImperativeHandle, useState } from "react";
+
+type Props = {
+    title?: string;
+};
+export type ModalProps = {
+    onClose: () => void;
+    onOpen: () => void;
+};
+const TipsModal = forwardRef<ModalProps, PropsWithChildren<Props>>(function TipsModal(props, ref) {
+    const { children, title } = props;
+    const [visible, setVisible] = useState(false);
+    useImperativeHandle(ref, () => {
+        return {
+            onClose: () => setVisible(false),
+            onOpen: () => setVisible(true),
+        };
+    });
+    return (
+        <Mask visible={visible} onMaskClick={() => setVisible(false)}>
+            <div className="flex h-[100dvh] h-[100vh] items-center justify-center">
+                <div className="mask-box w-[3.4rem] rounded-[10px] bg-[#fff] p-[0.1389rem] text-[#000]">
+                    <div className={"mb-[10px] flex"}>
+                        <div className="flex-1 text-center text-[0.18rem] font-bold text-[#009d81]">
+                            {title}
+                        </div>
+                        <span
+                            className="iconfont icon-guanbi"
+                            onClick={() => setVisible(false)}
+                        ></span>
+                    </div>
+                    <div className="popUpMain">{children}</div>
+                </div>
+            </div>
+        </Mask>
+    );
+});
+
+export default TipsModal;