Переглянути джерело

Merge remote-tracking branch 'origin/dev' into dev

Before 1 рік тому
батько
коміт
9ae4feec60

+ 125 - 0
messages/br.json

@@ -110,5 +110,130 @@
   },
   "HeaderBack": {
     "Depósito": "Depósito"
+  },
+  "SummaryPage":{
+    "Afiliado":"Afiliado",
+    "title":"Ganhe R$ 10.000 por dia",
+    "PAINEL":"PAINEL",
+    "REFERÊNCIAS":"REFERÊNCIAS",
+    "RELATÓRIO":"RELATÓRIO",
+    "PAGAMENTOS":"PAGAMENTOS",
+    "FAQ":"FAQ",
+    "TUTORIAL":"TUTORIAL",
+    "Hoje":"Hoje",
+    "Inscrições":"Inscrições",
+    "Novos":"Novos jogadores",
+    "Aposta":"Aposta válidas em equipe",
+    "Comissão":"Comissão",
+    "Total":"Total",
+    "Jogadores":"Jogadores totais",
+    "ApostaTotal":"Aposta válidas total",
+    "Nível":"Nível de Agente",
+    "R$":"R$",
+    "TotalPago":"Total pago",
+    "Não":"Não pago",
+    "TRANSFERIR":"TRANSFERIR PARA A CARTEIRA",
+    "Valor":"Valor mínimo de transferência de  10 BRL",
+    "title1":"Compartilhe com sua comunidade social",
+    "Facebook":"Facebook",
+    "WhatsApp":"WhatsApp",
+    "Telegram":"Telegram",
+    "Twitter":"Twitter",
+    "Email":"Email",
+    "content1":"Compartilhe este link de indicação com seus amigos",
+    "https":"https://www.9f.com/br/m/r/xxxxxx",
+    "Cópia":"Cópia",
+    "title2":"Grupo CHAT entre agentes por telegram oficial do 9F.COM ",
+    "content2-1":"Clique o botão de ícone no lado esquerdo, junte-se ao nosso grupo afiliado do TG oficial Vamos oferecer- lo as palavras afiliadas profissionais e as ferramentas afiliadas profissionais. E ajudar-lo obter bem os benefícios reais.",
+    "content2-2":"Se você tem um grande público e seguidores. Temos condições especiais para você personalizar seu programa de indicações! para mais detalhes, por favorcontate- nos:",
+    "business":"business@9f.com",
+    "title3":"Regras de recompensas por comissão‰",
+    "content3":"Ganhe dinheiro indicando amigos para o 9F.COM, você ganha mais de 80% em recompensas de comissão!",
+    "number":"Número de indicações > ",
+    "money":"todo mês!",
+    "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."
+  },
+  "ReferralsPage":{
+    "Afiliado":"Afiliado",
+    "Ganhe":"Ganhe R$ 10.000 por dia",
+    "PAINEL":"PAINEL",
+    "REFERÊNCIAS":"REFERÊNCIAS",
+    "RELATÓRIO":"RELATÓRIO",
+    "PAGAMENTOS":"PAGAMENTOS",
+    "FAQ":"FAQ",
+    "TUTORIAL":"TUTORIAL",
+    "Conta":"Conta",
+    "Apostas":"Apostas",
+    "R$":"R$",
+    "ApostaEquipe":"Aposta equipe",
+    "Comissão":"Comissão",
+    "Opa":"Opa! Ainda não há dados!",
+    "Aposta":"Aposta válidas em equipe[0]"
+  },
+  "ReportPage":{
+    "Afiliado":"Afiliado",
+    "Ganhe":"Ganhe R$ 10.000 por dia",
+    "PAINEL":"PAINEL",
+    "REFERÊNCIAS":"REFERÊNCIAS",
+    "RELATÓRIO":"RELATÓRIO",
+    "PAGAMENTOS":"PAGAMENTOS",
+    "FAQ":"FAQ",
+    "TUTORIAL":"TUTORIAL",
+    "Conta":"Conta",
+    "Apostas":"Apostas",
+    "R$":"R$",
+    "ApostaEquipe":"Aposta equipe",
+    "Comissão":"Comissão",
+    "Opa":"Opa! Ainda não há dados!"
+  },
+  "PaymentsPage":{
+    "Afiliado":"Afiliado",
+    "Ganhe":"Ganhe R$ 10.000 por dia",
+    "PAINEL":"PAINEL",
+    "REFERÊNCIAS":"REFERÊNCIAS",
+    "RELATÓRIO":"RELATÓRIO",
+    "PAGAMENTOS":"PAGAMENTOS",
+    "FAQ":"FAQ",
+    "TUTORIAL":"TUTORIAL",
+    "Data":"Data",
+    "Detalhe":"Detalhe",
+    "Comissão":"Comissão",
+    "Status":"Status",
+    "Opa":"Opa! Ainda não há dados!"
+  },
+  "FaqPage":{
+    "Afiliado":"Afiliado",
+    "title":"Ganhe R$ 10.000 por dia",
+    "PAINEL":"PAINEL",
+    "REFERÊNCIAS":"REFERÊNCIAS",
+    "RELATÓRIO":"RELATÓRIO",
+    "PAGAMENTOS":"PAGAMENTOS",
+    "FAQ":"FAQ",
+    "TUTORIAL":"TUTORIAL",
+    "title1":"O que é o programa de afiliados 9F.COM?",
+    "content1":"9F.COM Afiliados é um programa onde oferecemos a você a oportunidade de ganhar dinheiro todos os dias, simplesmente nos dando a chance de receber mais jogadores.",
+    "title2":"QUANTO CUSTA PARA PARTICIPAR?",
+    "content2":"Absolutamente nada. É totalmente gratuito.",
+    "title3":"Posso obter benefícios mesmo se não tiver um site? ",
+    "content3":"Claro que pode. Podemos fornecer todas as ferramentas de marketing de que você precisa para promover a 9F.COM offline nas mídias sociais ou por e-mail.",
+    "title4":"QUANTO EU GANHO?",
+    "content4":"Como parte da nossa rede de afiliados, você será pago em um modelo de compartilhamento de receita. Você ganha mais de 80% de recompensa de comissão.",
+    "link1":"Regras de recompensa da comissão",
+    "link2":"Regras de cálculo de comissão",
+    "Comissão":"Comissão",
+    "R$":"R$",
+    "number":"Número de indicações",
+    "money":"todo mês!",
+    "title5":"Unlimited development of subordinates",
+    "content5-1":"Você receberá uma porcentagem de comissão diferente toda vez que um jogador indicado por você fizer uma aposta,",
+    "red1":"ganhar ou perder",
+    "content5-2":"O sistema calcula a comissão a cada 3 minutos.",
+    "title6":"Definição",
+    "content6-1":"Inscrições - Número de usuários registrados",
+    "content6-2":"Novos Jogadores - Novos jogadores pagantes entre os usuários registrados de hoje",
+    "content6-3":"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."
   }
 }

+ 37 - 1
package-lock.json

@@ -21,7 +21,8 @@
         "react-dom": "^18.3.1",
         "sass": "^1.77.8",
         "swiper": "^11.1.5",
-        "tailwind-merge": "^2.4.0"
+        "tailwind-merge": "^2.4.0",
+        "zustand": "^4.5.4"
       },
       "devDependencies": {
         "@types/node": "^20.14.10",
@@ -7872,6 +7873,14 @@
         }
       }
     },
+    "node_modules/use-sync-external-store": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmmirror.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
+      "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+      "peerDependencies": {
+        "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+      }
+    },
     "node_modules/util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -8094,6 +8103,33 @@
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
+    },
+    "node_modules/zustand": {
+      "version": "4.5.4",
+      "resolved": "https://registry.npmmirror.com/zustand/-/zustand-4.5.4.tgz",
+      "integrity": "sha512-/BPMyLKJPtFEvVL0E9E9BTUM63MNyhPGlvxk1XjrfWTUlV+BR8jufjsovHzrtR6YNcBEcL7cMHovL1n9xHawEg==",
+      "dependencies": {
+        "use-sync-external-store": "1.2.0"
+      },
+      "engines": {
+        "node": ">=12.7.0"
+      },
+      "peerDependencies": {
+        "@types/react": ">=16.8",
+        "immer": ">=9.0.6",
+        "react": ">=16.8"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "immer": {
+          "optional": true
+        },
+        "react": {
+          "optional": true
+        }
+      }
     }
   }
 }

+ 31 - 29
src/app/[locale]/affiliate/faq/page.tsx

@@ -1,10 +1,12 @@
 'use client'
 import { FC, PropsWithChildren ,useRef, useState } from "react";
 import { useRouter } from "@/i18n";
+import { useTranslations } from "next-intl";
 import './page.scss'
 
 interface Props { }
 const App: FC<PropsWithChildren<Props>> = (props) =>{
+    const t = useTranslations("FaqPage")
     const router:any = useRouter()
     const goPage = (path = '')=>{
         if(path){
@@ -34,7 +36,7 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
             let r = ''
             const arr = m.toString().split('')
             arr.forEach((item,i)=>{
-                if(i!==arr.length&&(arr.length-i-1)%3===0){
+                if(i!==(arr.length-1)&&(arr.length-i-1)%3===0){
                     r += item + ','
                 }else{
                     r += item
@@ -56,8 +58,8 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                             <span className="iconfont icon-xiangzuo1"></span>
                         </div>
                         <span className="title">
-                            Afiliado 
-                            <span style={{fontSize: "0.14rem"}}> - Ganhe R$ 10.000 por dia</span>
+                            {t("Afiliado")} 
+                            <span style={{fontSize: "0.14rem"}}> - {t("title")}</span>
                         </span>
                         <span className="right" onClick={()=>goPage('home')}>
                             <span className="iconfont icon-home_line router-link-active"></span>
@@ -67,22 +69,22 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                         <div className="van-tabs__wrap van-tabs__wrap--scrollable">
                             <div role="tablist" className="van-tabs__nav van-tabs__nav--line van-tabs__nav--complete">
                                 <div className="van-tab" onClick={()=>goPage('summary')}>
-                                    <span className="van-tab__text">PAINEL</span>
+                                    <span className="van-tab__text">{t("PAINEL")}</span>
                                 </div>
                                 <div className="van-tab" onClick={()=>goPage('referrals')}>
-                                    <span className="van-tab__text">REFERÊNCIAS</span>
+                                    <span className="van-tab__text">{t("REFERÊNCIAS")}</span>
                                 </div>
                                 <div className="van-tab" onClick={()=>goPage('report')}>
-                                    <span className="van-tab__text">RELATÓRIO</span>
+                                    <span className="van-tab__text">{t("RELATÓRIO")}</span>
                                 </div>
                                 <div className="van-tab" onClick={()=>goPage('payments')}>
-                                    <span className="van-tab__text">PAGAMENTOS</span>
+                                    <span className="van-tab__text">{t("PAGAMENTOS")}</span>
                                 </div>
                                 <div className="van-tab van-tab--active" aria-selected="true" onClick={()=>goPage('faq')}>
-                                    <span className="van-tab__text">FAQ</span>  
+                                    <span className="van-tab__text">{t("FAQ")}</span>  
                                 </div>
                                 <div className="van-tab">
-                                    <span className="van-tab__text">TUTORIAL</span>
+                                    <span className="van-tab__text">{t("TUTORIAL")}</span>
                                 </div>
                                 <div className="van-tabs__line"></div>
                             </div>
@@ -91,35 +93,35 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                     <div className="content">
                         <div className="referralFaq referralFaq referral-router-view">
                             <div className="content">
-                                <h2>O que é o programa de afiliados 9F.COM?</h2>
+                                <h2>{t("title1")}</h2>
                                 <div>
-                                    9F.COM Afiliados é um programa onde oferecemos a você a oportunidade de ganhar dinheiro todos os dias, simplesmente nos dando a chance de receber mais jogadores.
+                                    {t("content1")}
                                 </div>
                             </div>
                             <div className="content">
-                                <h2>QUANTO CUSTA PARA PARTICIPAR?</h2>
-                                <div>Absolutamente nada. É totalmente gratuito.</div>
+                                <h2>{t("title2")}</h2>
+                                <div>{t("content2")}</div>
                             </div>
                             <div className="content">
-                                <h2>Posso obter benefícios mesmo se não tiver um site? </h2>
+                                <h2>{t("title3")}</h2>
                                 <div>
-                                    Claro que pode. Podemos fornecer todas as ferramentas de marketing de que você precisa para promover a 9F.COM offline nas mídias sociais ou por e-mail.
+                                    {t("content3")}
                                 </div>
                             </div>
                             <div className="content">
-                                <h2>QUANTO EU GANHO? </h2>
-                                <div>Como parte da nossa rede de afiliados, você será pago em um modelo de compartilhamento de receita. Você ganha mais de 80% de recompensa de comissão.</div>
+                                <h2>{t("title4")} </h2>
+                                <div>{t("content4")}</div>
                                 <div className="link">
-                                    <a href="">Regras de recompensa da comissão</a>
-                                    <a href="">Regras de cálculo de comissão</a>
+                                    <a href="">{t("link1")}</a>
+                                    <a href="">{t("link2")}</a>
                                 </div>
                             </div>
                             <div className="imgContent rowReverse">
                                 <img src="/img/cash.png" alt="" />
                                 <div>
-                                    Número de indicações > {num}
+                                    {t("number")} > {num}
                                     <br />
-                                    Comissão > R$ {money} todo mês!
+                                    {t("Comissão")} > {t("R$")} {money} {t("money")}
                                 </div>
                                 <div className="slider van-slider" style={{height: "0.02rem"}} onClick={handleSlide}>
                                     <div className="van-slider__bar" style={{width: "0.900901%", background: "rgb(0, 157, 128)"}} ref={sliderRef}>
@@ -130,25 +132,25 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                                 </div>
                             </div>
                             <div className="relationSchema">
-                                <div className="groupTitle">Unlimited development of subordinates</div>
+                                <div className="groupTitle">{t("title5")}</div>
                                 <img src="/img/group_br.webp" alt="" className="groupImg"/>
                                 <ul className="rules">
                                     <li>
-                                        Você receberá uma porcentagem de comissão diferente toda vez que um jogador indicado por você fizer uma aposta, 
-                                        <span style={{color:"red"}}>ganhar ou perder</span>
+                                        {t("content5-1")} 
+                                        <span style={{color:"red"}}>{t("red1")}</span>
                                     </li>
                                     <li>
-                                        O sistema calcula a comissão a cada 3 minutos.
+                                        {t("content5-2")}
                                     </li>
                                 </ul>
                             </div>
                             <div className="content">
-                                <h2>Definição</h2>
+                                <h2>{t("title6")}</h2>
                                 <div>
-                                    <p>Inscrições - Número de usuários registrados</p>
-                                    <p>Novos Jogadores - Novos jogadores pagantes entre os usuários registrados de hoje</p>
+                                    <p>{t("content6-1")}</p>
+                                    <p>{t("content6-2")}</p>
                                     <p>
-                                        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.
+                                        {t("content6-3")}
                                     </p>
                                 </div>
                             </div>

+ 15 - 13
src/app/[locale]/affiliate/payments/page.tsx

@@ -1,10 +1,12 @@
 'use client'
 import { FC, PropsWithChildren } from "react";
 import { useRouter } from "@/i18n";
+import { useTranslations } from "next-intl";
 import './page.scss'
 
 interface Props { }
 const App: FC<PropsWithChildren<Props>> = (props) =>{
+    const t = useTranslations("PaymentsPage")
     const router:any = useRouter()
     const goPage = (path = '')=>{
         if(path){
@@ -29,8 +31,8 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                             <span className="iconfont icon-xiangzuo1"></span>
                         </div>
                         <span className="title">
-                            Afiliado 
-                            <span style={{fontSize: "0.14rem"}}> - Ganhe R$ 10.000 por dia</span>
+                            {t("Afiliado")} 
+                            <span style={{fontSize: "0.14rem"}}> - {t("Ganhe")}</span>
                         </span>
                         <span className="right" onClick={()=>goPage('home')}>
                             <span className="iconfont icon-home_line router-link-active"></span>
@@ -40,22 +42,22 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                         <div className="van-tabs__wrap van-tabs__wrap--scrollable">
                             <div role="tablist" className="van-tabs__nav van-tabs__nav--line van-tabs__nav--complete">
                                 <div className="van-tab" onClick={()=>goPage('summary')}>
-                                    <span className="van-tab__text">PAINEL</span>
+                                    <span className="van-tab__text">{t("PAINEL")}</span>
                                 </div>
                                 <div className="van-tab" onClick={()=>goPage('referrals')}>
-                                    <span className="van-tab__text">REFERÊNCIAS</span>
+                                    <span className="van-tab__text">{t("REFERÊNCIAS")}</span>
                                 </div>
                                 <div className="van-tab" onClick={()=>goPage('report')}>
-                                    <span className="van-tab__text">RELATÓRIO</span>
+                                    <span className="van-tab__text">{t("RELATÓRIO")}</span>
                                 </div>
                                 <div className="van-tab van-tab--active" aria-selected="true" onClick={()=>goPage('payments')}>
-                                    <span className="van-tab__text">PAGAMENTOS</span>
+                                    <span className="van-tab__text">{t("PAGAMENTOS")}</span>
                                 </div>
                                 <div className="van-tab" onClick={()=>goPage('faq')}>
-                                    <span className="van-tab__text">FAQ</span>  
+                                    <span className="van-tab__text">{t("FAQ")}</span>  
                                 </div>
                                 <div className="van-tab">
-                                    <span className="van-tab__text">TUTORIAL</span>
+                                    <span className="van-tab__text">{t("TUTORIAL")}</span>
                                 </div>
                                 <div className="van-tabs__line"></div>
                             </div>
@@ -66,14 +68,14 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                         <div className="referralPayment referral-router-view">
                             <ul className="header">
                                 <li>
-                                    <div>Data</div>
-                                    <div>Detalhe</div>
-                                    <div>Comissão</div>
-                                    <div>Status</div>
+                                    <div>{t("Data")}</div>
+                                    <div>{t("Detalhe")}</div>
+                                    <div>{t("Comissão")}</div>
+                                    <div>{t("Status")}</div>
                                 </li>
                             </ul>
                             <div role="feed" className="list van-list">
-                                <div className="van-list__finished-text">Opa! Ainda não há dados!</div>
+                                <div className="van-list__finished-text">{t("Opa")}</div>
                                 <div className="van-list__placeholder"></div>
                             </div>
                         </div>

+ 19 - 17
src/app/[locale]/affiliate/referrals/page.tsx

@@ -1,10 +1,12 @@
 'use client'
 import { FC, PropsWithChildren } from "react";
 import { useRouter } from "@/i18n";
+import { useTranslations } from "next-intl";
 import './page.scss'
 
 interface Props { }
 const App: FC<PropsWithChildren<Props>> = (props) =>{
+    const t = useTranslations("ReferralsPage")
     const router:any = useRouter()
     const goPage = (path = '')=>{
         if(path){
@@ -30,8 +32,8 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                             <span className="iconfont icon-xiangzuo1"></span>
                         </div>
                         <span className="title">
-                            Afiliado 
-                            <span style={{fontSize: "0.14rem"}}> - Ganhe R$ 10.000 por dia</span>
+                            {t("Afiliado")} 
+                            <span style={{fontSize: "0.14rem"}}> - {t("Ganhe")}</span>
                         </span>
                         <span className="right" onClick={()=>goPage('home')}>
                             <span className="iconfont icon-home_line router-link-active"></span>
@@ -41,22 +43,22 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                         <div className="van-tabs__wrap van-tabs__wrap--scrollable">
                             <div role="tablist" className="van-tabs__nav van-tabs__nav--line van-tabs__nav--complete">
                                 <div className="van-tab" onClick={()=>goPage('summary')}>
-                                    <span className="van-tab__text">PAINEL</span>
+                                    <span className="van-tab__text">{t("PAINEL")}</span>
                                 </div>
                                 <div className="van-tab van-tab--active" aria-selected="true" onClick={()=>goPage('referrals')}>
-                                    <span className="van-tab__text">REFERÊNCIAS</span>
+                                    <span className="van-tab__text">{t("REFERÊNCIAS")}</span>
                                 </div>
                                 <div className="van-tab" onClick={()=>goPage('report')}>
-                                    <span className="van-tab__text">RELATÓRIO</span>
+                                    <span className="van-tab__text">{t("RELATÓRIO")}</span>
                                 </div>
                                 <div className="van-tab" onClick={()=>goPage('payments')}>
-                                    <span className="van-tab__text">PAGAMENTOS</span>
+                                    <span className="van-tab__text">{t("PAGAMENTOS")}</span>
                                 </div>
                                 <div className="van-tab" onClick={()=>goPage('faq')}>
-                                    <span className="van-tab__text">FAQ</span>  
+                                    <span className="van-tab__text">{t("FAQ")}</span>  
                                 </div>
                                 <div className="van-tab">
-                                    <span className="van-tab__text">TUTORIAL</span>
+                                    <span className="van-tab__text">{t("TUTORIAL")}</span>
                                 </div>
                                 <div className="van-tabs__line"></div>
                             </div>
@@ -76,24 +78,24 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                             <ul className="header">
                                 <li>
                                     <div>#</div>
-                                    <div>Conta</div>
-                                    <div>Apostas(R$)</div>
-                                    <div>Aposta equipe(R$)</div>
-                                    <div>Comissão</div>
+                                    <div>{t("Conta")}</div>
+                                    <div>{t("Apostas")}({t("R$")})</div>
+                                    <div>{t("ApostaEquipe")}({t("R$")})</div>
+                                    <div>{t("Comissão")}</div>
                                 </li>
                             </ul>
                             <div role="feed" className="list van-list">
-                                <div className="van-list__finished-text">Opa! Ainda não há dados!</div>
+                                <div className="van-list__finished-text">{t("Opa")}</div>
                                 <div className="van-list__placeholder"></div>
                             </div>
                             <div className="total">
                                 <div>
-                                    <span className="num">R$ 0</span>
-                                    <span>Aposta válidas em equipe[0]</span>
+                                    <span className="num">{t("R$")} 0</span>
+                                    <span>{t("Aposta")}</span>
                                 </div>
                                 <div>
-                                    <span className="num">R$ 0</span>
-                                    <span>Comissão</span>
+                                    <span className="num">{t("R$")} 0</span>
+                                    <span>{t("Comissão")}</span>
                                 </div>
                             </div>
                             {/* 日历 */}

+ 15 - 13
src/app/[locale]/affiliate/report/page.tsx

@@ -1,10 +1,12 @@
 'use client'
 import { FC, PropsWithChildren } from "react";
 import {useRouter} from '@/i18n'
+import { useTranslations } from "next-intl";
 import './page.scss'
 
 interface Props { }
 const App: FC<PropsWithChildren<Props>> = (props) =>{
+    const t = useTranslations("ReportPage")
     const router:any = useRouter()
     const goPage = (path = '')=>{
         if(path){
@@ -29,8 +31,8 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                             <span className="iconfont icon-xiangzuo1"></span>
                         </div>
                         <span className="title">
-                            Afiliado 
-                            <span style={{fontSize: "0.14rem"}}> - Ganhe R$ 10.000 por dia</span>
+                            {t("Afiliado")} 
+                            <span style={{fontSize: "0.14rem"}}> - {t("Ganhe")}</span>
                         </span>
                         <span className="right" onClick={()=>goPage('home')}>
                             <span className="iconfont icon-home_line router-link-active"></span>
@@ -40,22 +42,22 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                         <div className="van-tabs__wrap van-tabs__wrap--scrollable">
                             <div role="tablist" className="van-tabs__nav van-tabs__nav--line van-tabs__nav--complete">
                                 <div className="van-tab" onClick={()=>goPage('summary')}>
-                                    <span className="van-tab__text">PAINEL</span>
+                                    <span className="van-tab__text">{t("PAINEL")}</span>
                                 </div>
                                 <div className="van-tab" onClick={()=>goPage('referrals')}>
-                                    <span className="van-tab__text" >REFERÊNCIAS</span>
+                                    <span className="van-tab__text" >{t("REFERÊNCIAS")}</span>
                                 </div>
                                 <div className="van-tab van-tab--active" aria-selected="true" onClick={()=>goPage('report')}>
-                                    <span className="van-tab__text">RELATÓRIO</span>
+                                    <span className="van-tab__text">{t("RELATÓRIO")}</span>
                                 </div>
                                 <div className="van-tab" onClick={()=>goPage('payments')}>
-                                    <span className="van-tab__text">PAGAMENTOS</span>
+                                    <span className="van-tab__text">{t("PAGAMENTOS")}</span>
                                 </div>
                                 <div className="van-tab" onClick={()=>goPage('faq')}>
-                                    <span className="van-tab__text">FAQ</span>  
+                                    <span className="van-tab__text">{t("FAQ")}</span>  
                                 </div>
                                 <div className="van-tab">
-                                    <span className="van-tab__text">TUTORIAL</span>
+                                    <span className="van-tab__text">{t("TUTORIAL")}</span>
                                 </div>
                                 <div className="van-tabs__line"></div>
                             </div>
@@ -66,14 +68,14 @@ const App: FC<PropsWithChildren<Props>> = (props) =>{
                             <ul className="header">
                                 <li>
                                     <div>#</div>
-                                    <div>Conta</div>
-                                    <div>Apostas(R$)</div>
-                                    <div>Aposta equipe(R$)</div>
-                                    <div>Comissão</div>
+                                    <div>{t("Conta")}</div>
+                                    <div>{t("Apostas")}({t("R$")})</div>
+                                    <div>{t("ApostaEquipe")}({t("R$")})</div>
+                                    <div>{t("Comissão")}</div>
                                 </li>
                             </ul>
                             <div role="feed" className="list van-list">
-                                <div className="van-list__finished-text">Opa! Ainda não há dados!</div>
+                                <div className="van-list__finished-text">{t("Opa")}</div>
                                 <div className="van-list__placeholder"></div>
                             </div>
                         </div>

+ 50 - 51
src/app/[locale]/affiliate/summary/page.tsx

@@ -2,10 +2,12 @@
 import { FC, PropsWithChildren, useRef, useState } from "react";
 import './page.scss'
 import { useRouter } from "@/i18n"
+import { useTranslations } from "next-intl";
 
 interface Props { }
 
 const App: FC<PropsWithChildren<Props>> = (props) => {
+    const t = useTranslations("SummaryPage");
     const router:any = useRouter()
     const goPage = (path = '')=>{
         if(path){
@@ -35,7 +37,7 @@ const App: FC<PropsWithChildren<Props>> = (props) => {
             let r = ''
             const arr = m.toString().split('')
             arr.forEach((item,i)=>{
-                if(i!==arr.length&&(arr.length-i-1)%3===0){
+                if(i!==(arr.length-1)&&(arr.length-i-1)%3===0){
                     r += item + ','
                 }else{
                     r += item
@@ -56,8 +58,8 @@ const App: FC<PropsWithChildren<Props>> = (props) => {
                                 <span className="iconfont icon-xiangzuo1"/>
                             </div>
                             <div className="title">
-                                Afiliado
-                                <span> - Ganhe R$ 10.000 por dia</span>
+                                {t("Afiliado")}
+                                <span> - {t("title")}</span>
                             </div>
                             <div className="right" onClick={()=>goPage('home')}>
                                 <span className="iconfont icon-company_nav_icon_home router-link-active"/>
@@ -67,22 +69,22 @@ const App: FC<PropsWithChildren<Props>> = (props) => {
                             <div className="van-tabs__wrap van-tabs__wrap--scrollable">
                                 <div role="tablist" className="van-tabs__nav van-tabs__nav--line van-tabs__nav--complete">
                                     <div role="tab" className="van-tab van-tab--active" aria-selected="true" onClick={()=>goPage('summary')}>
-                                        <span className="van-tab__text">PAINEL</span>
+                                        <span className="van-tab__text">{t("PAINEL")}</span>
                                     </div>
                                     <div role="tab" className="van-tab" onClick={()=>goPage('referrals')}>
-                                        <span className="van-tab__text">REFERÊNCIAS</span>
+                                        <span className="van-tab__text">{t("REFERÊNCIAS")}</span>
                                     </div>
                                     <div role="tab" className="van-tab" onClick={()=>goPage('report')}>
-                                        <span className="van-tab__text">RELATÓRIO</span>
+                                        <span className="van-tab__text">{t("RELATÓRIO")}</span>
                                     </div>
                                     <div role="tab" className="van-tab" onClick={()=>goPage('payments')}>
-                                        <span className="van-tab__text">PAGAMENTOS</span>
+                                        <span className="van-tab__text">{t("PAGAMENTOS")}</span>
                                     </div>
                                     <div role="tab" className="van-tab" onClick={()=>goPage('faq')}>
-                                        <span className="van-tab__text">FAQ</span>
+                                        <span className="van-tab__text">{t("FAQ")}</span>
                                     </div>
                                     <div role="tab" className="van-tab">
-                                        <span className="van-tab__text">TUTORIAL</span>
+                                        <span className="van-tab__text">{t("TUTORIAL")}</span>
                                     </div>
                                     <div className="van-tabs__line"></div>
                                 </div>
@@ -93,8 +95,7 @@ const App: FC<PropsWithChildren<Props>> = (props) => {
                                 <div className="content">
                                     <div className="title">
                                         <div>
-                                            {" "}
-                                            Hoje
+                                            {t("Hoje")}
                                             <span className="iconfont icon-bangzhu"/>
                                         </div>
                                     </div>
@@ -103,19 +104,19 @@ const App: FC<PropsWithChildren<Props>> = (props) => {
                                             <ul className="today">
                                                 <li>
                                                     <span className="num">0</span>
-                                                    <span> Inscrições </span>
+                                                    <span> {t("Inscrições")} </span>
                                                 </li>
                                                 <li>
                                                     <span className="num">0</span>
-                                                    <span> Novos jogadores </span>
+                                                    <span> {t("Novos")} </span>
                                                 </li>
                                                 <li>
                                                     <span className="num">0</span>
-                                                    <span> Aposta válidas em equipe </span>
+                                                    <span> {t("Aposta")} </span>
                                                 </li>
                                                 <li>
                                                     <span className="num">0</span>
-                                                    <span> Comissão </span>
+                                                    <span> {t("Comissão")} </span>
                                                 </li>
                                             </ul>
                                         </div>
@@ -124,8 +125,7 @@ const App: FC<PropsWithChildren<Props>> = (props) => {
                                 <div className="content">
                                     <div className="title">
                                     <div>
-                                            {" "}
-                                            Total 
+                                            {t("Total")} 
                                             <span className="iconfont icon-bangzhu"/>
                                         </div>
                                     </div>
@@ -134,19 +134,19 @@ const App: FC<PropsWithChildren<Props>> = (props) => {
                                             <ul className="total">
                                                 <li>
                                                     <span className="num">0</span>
-                                                    <span> Inscrições </span>
+                                                    <span> {t("Inscrições")} </span>
                                                 </li>
                                                 <li>
                                                     <span className="num">0</span>
-                                                    <span>  Jogadores totais  </span>
+                                                    <span>  {t("Jogadores")}  </span>
                                                 </li>
                                                 <li>
                                                     <span className="num">0</span>
-                                                    <span>  Aposta válidas total  </span>
+                                                    <span>  {t("ApostaTotal")}  </span>
                                                 </li>
                                                 <li>
                                                     <span className="num">0</span>
-                                                    <span> Comissão </span>
+                                                    <span> {t("Comissão")} </span>
                                                 </li>
                                             </ul>
                                         </div>
@@ -155,8 +155,7 @@ const App: FC<PropsWithChildren<Props>> = (props) => {
                                 <div className="content">
                                     <div className="title">
                                     <div>
-                                            {" "}
-                                            Comissão  
+                                            {t("Comissão")}  
                                             <span className="iconfont icon-bangzhu"/>
                                         </div>
                                     </div>
@@ -167,7 +166,7 @@ const App: FC<PropsWithChildren<Props>> = (props) => {
                                                 <span className="levelNum">1</span>
                                             </div>
                                             <div>
-                                                Nível de Agente
+                                                {t("Nível")}
                                                 <span className="iconfont icon-tishi"></span>
                                             </div>
                                         </div>
@@ -175,76 +174,76 @@ const App: FC<PropsWithChildren<Props>> = (props) => {
                                             <ul className="commission">
                                                 <li>
                                                     <span className="num">
-                                                        <span>R$</span>
+                                                        <span>{t("R$")}</span>
                                                         <span className="cash">0.00</span>
                                                     </span>
-                                                    <span> Total pago </span>
+                                                    <span> {t("TotalPago")} </span>
                                                 </li>
                                                 <li>
                                                     <span className="num">
-                                                        <span>R$</span>
+                                                        <span>{t("R$")}</span>
                                                         <span className="cash">0.00</span>
                                                     </span>
-                                                    <span>  Não pago  </span>
+                                                    <span>  {t("Não")}  </span>
                                                 </li>
                                             </ul>
                                             <div className="wallet">
-                                                <div className="btn"> TRANSFERIR PARA A CARTEIRA </div>
+                                                <div className="btn"> {t("TRANSFERIR")} </div>
                                                 <div className="tip">
                                                     <span className="iconfont icon-tishi1"></span>
-                                                    Valor mínimo de transferência de  10 BRL
+                                                    {t("Valor")}
                                                 </div>
                                             </div>
                                         </div>
                                     </div>
                                 </div>
                                 <div className="content shareMain">
-                                    <div className="title">Compartilhe com sua comunidade social</div>
+                                    <div className="title">{t("title1")}</div>
                                     <div className="share">
                                         <ul className="sharePlatform">
                                             <li>
                                                 <a href="">
                                                     <img src="/img/facebook.webp" alt="" />
                                                 </a>
-                                                <span>Facebook</span>
+                                                <span>{t("Facebook")}</span>
                                             </li>
                                             <li>
                                                 <a href="">
                                                     <img src="/img/WhatsApp.webp" alt="" />
                                                 </a>
-                                                <span>WhatsApp</span>
+                                                <span>{t("WhatsApp")}</span>
                                             </li>
                                             <li>
                                                 <a href="">
                                                     <img src="/img/Telegram.png" alt="" />
                                                 </a>
-                                                <span>Telegram</span>
+                                                <span>{t("Telegram")}</span>
                                             </li>
                                             <li>
                                                 <a href="">
                                                     <img src="/img/Twitter.webp" alt="" />
                                                 </a>
-                                                <span>Twitter</span>
+                                                <span>{t("Twitter")}</span>
                                             </li>
                                             <li>
                                                 <a href="">
                                                     <img src="/img/email.webp" alt="" />
                                                 </a>
-                                                <span>Email</span>
+                                                <span>{t("Email")}</span>
                                             </li>
                                         </ul>
                                     </div>
                                     <div className="shareLink">
-                                        <div className="tip">Compartilhe este link de indicação com seus amigos</div>
+                                        <div className="tip">{t("content1")}</div>
                                         <div className="copyUrl">
-                                            <span className="url omitWrap">https://www.9f.com/br/m/r/xxxxxx</span>
-                                            <span id="copy">Cópia</span>
+                                            <span className="url omitWrap">{t("https")}</span>
+                                            <span id="copy">{t("Cópia")}</span>
                                         </div>
                                     </div>
                                 </div>
                                 <div className="content">
                                     <div className="title">
-                                        <div> Grupo CHAT entre agentes por telegram oficial do 9F.COM </div>
+                                        <div> {t("title2")}</div>
                                     </div>
                                     <div>
                                         <div className="tel-box">
@@ -252,33 +251,33 @@ const App: FC<PropsWithChildren<Props>> = (props) => {
                                                 <img src="/img/telegram.webp" alt="" />
                                             </a>
                                             <div className="hintTitle3">
-                                                Clique o botão de ícone no lado esquerdo, junte-se ao nosso grupo afiliado do TG oficial Vamos oferecer- lo as palavras afiliadas profissionais e as ferramentas afiliadas profissionais. E ajudar-lo obter bem os benefícios reais.
+                                                {t("content2-1")}
                                             </div>
                                         </div>
                                         <div className="hintTitle2">
                                             <i className="iconfont icon-tishi"></i>
-                                            Se você tem um grande público e seguidores. Temos condições especiais para você personalizar seu programa de indicações! para mais detalhes, por favorcontate- nos:  
-                                            <a href="" style={{borderBottom: "1px solid rgb(109, 155, 195)",color:"#0000EE"}}>business@9f.com</a>
+                                                {t("content2-2")}  
+                                            <a href="" style={{borderBottom: "1px solid rgb(109, 155, 195)",color:"#0000EE"}}>{t("business")}</a>
                                         </div>
                                     </div>
                                 </div>
                                 <div className="content">
                                     <div className="title">
                                         <div>
-                                            Regras de recompensas por comissão‰ 
+                                            {t("title3")} 
                                             <span className="iconfont icon-bangzhu"></span>
                                         </div>
                                     </div>
                                     <div className="hint">
                                         <div className="hintTitle">
-                                            Ganhe dinheiro indicando amigos para o 9F.COM, você ganha mais de 80% em recompensas de comissão!
+                                            {t("content3")}
                                         </div>
                                         <div className="imgContent">
                                             <img src="/img/cash.png" alt="" />
                                             <div>
-                                                Número de indicações > {num}
+                                                {t("number")}{num}
                                                 <br />
-                                                Comissão > R$ {money} todo mês!
+                                                {t("Comissão")} > {t("R$")} {money} {t("money")}
                                             </div>
                                             <div className="slider van-slider" style={{height: "0.02rem"}} onClick={handleSlide}>
                                                 <div className="van-slider__bar" style={{width: "0.900901%",background: "rgb(0, 157, 128)"}} ref={sliderRef}>
@@ -289,16 +288,16 @@ const App: FC<PropsWithChildren<Props>> = (props) => {
                                             </div>
                                         </div>
                                         <div className="relationSchema">
-                                            <div className="groupTitle">Unlimited development of subordinates</div>
+                                            <div className="groupTitle">{t("title4")}</div>
                                             <img src="/img/group_br.webp" alt="" className="groupImg"/>
                                             <ul className="rules">
                                                 <li>
-                                                    Você receberá uma porcentagem de comissão diferente toda vez que um jogador indicado por você fizer uma aposta, 
-                                                    <span style={{color:"red"}}>ganhar ou perder</span>
+                                                    {t("content4-1")}
+                                                    <span style={{color:"red"}}>{t("red")}</span>
                                                     .
                                                 </li>
                                                 <li>
-                                                    O sistema calcula a comissão a cada 3 minutos.
+                                                    {t("content4-2")}
                                                 </li>
                                             </ul>
                                         </div>