zhejiushizhuce 1 ano atrás
pai
commit
54a7675e4c

+ 13 - 13
public/index.html

@@ -5,28 +5,28 @@
     <!-- <link rel="icon" href="%PUBLIC_URL%/favicon.ico" /> -->
     <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text x=%2250%%22 y=%2250%%22 style=%22dominant-baseline:central;text-anchor:middle;font-size:110px;%22>🍒</text></svg>" />
     <meta name="viewport" content="width=device-width, initial-scale=1,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no,minimal-ui,viewport-fit=cover" />
-    <title>24680.com - Casino & Sports & Racing</title>
+    <title>cereja.com - Casino & Sports & Racing</title>
     <link rel="preconnect" href="https://fonts.googleapis.com">
     <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
     <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&family=Open+Sans:wght@400;600;700&display=swap" rel="stylesheet">
-    <meta name="keywords" content="24680,24680 Game,Even Streak,PG Game,PGSoft,OnlyPlay Slot,PragmaticPlay Game,777 slot,Casino Games,Crash Game,Gambling Games,Play Live Casino Online Free,Best Casino Games,Best Slot Games,Online Casino Games, Online SportBook,Online Casino Slot Games" />
+    <meta name="keywords" content="cereja,cereja Game,Even Streak,PG Game,PGSoft,OnlyPlay Slot,PragmaticPlay Game,777 slot,Casino Games,Crash Game,Gambling Games,Play Live Casino Online Free,Best Casino Games,Best Slot Games,Online Casino Games, Online SportBook,Online Casino Slot Games" />
 
-    <meta name="description" content="Even Streak: Double Your Luck on 24680.com! Best Casino. Biggest crash game. Provably fair &amp; Live dealer. 10000 slot games.Unique bonus &amp; free lucky spins.Fast withdrawals and Profitable vault.">
+    <meta name="description" content="Even Streak: Double Your Luck on cereja.com! Best Casino. Biggest crash game. Provably fair &amp; Live dealer. 10000 slot games.Unique bonus &amp; free lucky spins.Fast withdrawals and Profitable vault.">
     <meta name="robots" content="NOODP">
     <meta name="theme-color" content="#24262B">
     <meta property="og:type" content="product">
-    <meta property="og:title" content="24680.com - Casino & Sports & Racing">
-    <meta property="og:description" name="description"content="Even Streak: Double Your Luck on 24680.com! Best Casino. Biggest crash game. Provably fair &amp; Live dealer. 10000 slot games.Unique bonus &amp; free lucky spins. BTC, ETH, DOGE, TRX, XRP, UNI, defi tokens supported fast withdrawals and Profitable vault.">
-    <meta property="og:image" content="https://24680.imgix.net/24680/web/header.jpg?auto=format,compress&cs=srgb">
-    <meta property="og:image:secure_url" content="https://24680.imgix.net/24680/web/header.jpg?auto=format,compress&cs=srgb">
-    <meta property="og:site_name" content="24680.com">
-    <meta property="og:url" content="https://24680.com">
+    <meta property="og:title" content="cereja.com - Casino & Sports & Racing">
+    <meta property="og:description" name="description"content="Even Streak: Double Your Luck on cereja.com! Best Casino. Biggest crash game. Provably fair &amp; Live dealer. 10000 slot games.Unique bonus &amp; free lucky spins. BTC, ETH, DOGE, TRX, XRP, UNI, defi tokens supported fast withdrawals and Profitable vault.">
+    <meta property="og:image" content="https://cereja.imgix.net/cereja/web/header.jpg?auto=format,compress&cs=srgb">
+    <meta property="og:image:secure_url" content="https://cereja.imgix.net/cereja/web/header.jpg?auto=format,compress&cs=srgb">
+    <meta property="og:site_name" content="cereja.com">
+    <meta property="og:url" content="https://cereja.com">
     <meta name="twitter:card" content="summary_large_image">
-    <meta name="twitter:title" content="24680.com - Casino & Sports & Racing">
-    <meta name="twitter:description" content="Even Streak: Double Your Luck on 24680.com! Best Casino. Biggest crash game. Provably fair &amp; Live dealer. 10000 slot games.Unique bonus &amp; free lucky spins. BTC, ETH, DOGE, TRX, XRP, UNI, defi tokens supported fast withdrawals and Profitable vault.">
-    <meta name="twitter:image" content="https://24680.imgix.net/24680/web/header.jpg?auto=format,compress&cs=srgb">
+    <meta name="twitter:title" content="cereja.com - Casino & Sports & Racing">
+    <meta name="twitter:description" content="Even Streak: Double Your Luck on cereja.com! Best Casino. Biggest crash game. Provably fair &amp; Live dealer. 10000 slot games.Unique bonus &amp; free lucky spins. BTC, ETH, DOGE, TRX, XRP, UNI, defi tokens supported fast withdrawals and Profitable vault.">
+    <meta name="twitter:image" content="https://cereja.imgix.net/cereja/web/header.jpg?auto=format,compress&cs=srgb">
     <meta name="twitter:site" content="website">
-    <meta name="twitter:url" content="https://24680.com">
+    <meta name="twitter:url" content="https://cereja.com">
 
     <meta name="apple-mobile-web-app-capable" content="yes">
     <meta name="apple-mobile-web-app-status-bar-style" content="black">

+ 97 - 0
public/index_24680.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8" />
+    <!-- <link rel="icon" href="%PUBLIC_URL%/favicon.ico" /> -->
+    <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text x=%2250%%22 y=%2250%%22 style=%22dominant-baseline:central;text-anchor:middle;font-size:110px;%22>🍒</text></svg>" />
+    <meta name="viewport" content="width=device-width, initial-scale=1,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no,minimal-ui,viewport-fit=cover" />
+    <title>24680.com - Casino & Sports & Racing</title>
+    <link rel="preconnect" href="https://fonts.googleapis.com">
+    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+    <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&family=Open+Sans:wght@400;600;700&display=swap" rel="stylesheet">
+    <meta name="keywords" content="24680,24680 Game,Even Streak,PG Game,PGSoft,OnlyPlay Slot,PragmaticPlay Game,777 slot,Casino Games,Crash Game,Gambling Games,Play Live Casino Online Free,Best Casino Games,Best Slot Games,Online Casino Games, Online SportBook,Online Casino Slot Games" />
+
+    <meta name="description" content="Even Streak: Double Your Luck on 24680.com! Best Casino. Biggest crash game. Provably fair &amp; Live dealer. 10000 slot games.Unique bonus &amp; free lucky spins.Fast withdrawals and Profitable vault.">
+    <meta name="robots" content="NOODP">
+    <meta name="theme-color" content="#24262B">
+    <meta property="og:type" content="product">
+    <meta property="og:title" content="24680.com - Casino & Sports & Racing">
+    <meta property="og:description" name="description"content="Even Streak: Double Your Luck on 24680.com! Best Casino. Biggest crash game. Provably fair &amp; Live dealer. 10000 slot games.Unique bonus &amp; free lucky spins. BTC, ETH, DOGE, TRX, XRP, UNI, defi tokens supported fast withdrawals and Profitable vault.">
+    <meta property="og:image" content="https://24680.imgix.net/24680/web/header.jpg?auto=format,compress&cs=srgb">
+    <meta property="og:image:secure_url" content="https://24680.imgix.net/24680/web/header.jpg?auto=format,compress&cs=srgb">
+    <meta property="og:site_name" content="24680.com">
+    <meta property="og:url" content="https://24680.com">
+    <meta name="twitter:card" content="summary_large_image">
+    <meta name="twitter:title" content="24680.com - Casino & Sports & Racing">
+    <meta name="twitter:description" content="Even Streak: Double Your Luck on 24680.com! Best Casino. Biggest crash game. Provably fair &amp; Live dealer. 10000 slot games.Unique bonus &amp; free lucky spins. BTC, ETH, DOGE, TRX, XRP, UNI, defi tokens supported fast withdrawals and Profitable vault.">
+    <meta name="twitter:image" content="https://24680.imgix.net/24680/web/header.jpg?auto=format,compress&cs=srgb">
+    <meta name="twitter:site" content="website">
+    <meta name="twitter:url" content="https://24680.com">
+
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+
+    <meta name="full-screen" content="yes">
+    <meta name="x5-fullscreen" content="true">
+    <meta name="360-fullscreen" content="true">
+    <meta name="format-detection" content="telephone=no">
+    <link rel="manifest" href="https://progressier.app/AcUf7ja3Lb8f8w5NS4LT/progressier.json"/>
+    <script defer src="https://progressier.app/AcUf7ja3Lb8f8w5NS4LT/script.js"></script>
+    <!-- footer   -->
+    <script type="text/javascript" src="https://75ede18c-13d5-4b2c-ae69-043e5c00f765.snippet.anjouangaming.org/anj-seal.js"></script>
+  </head>
+  <body>
+    <noscript>You need to enable JavaScript to run this app.</noscript>
+    <div id="root"></div>
+    <script type="text/javascript">
+      function setThemeColor(){
+        var meta = document.querySelector('meta[name=theme-color]');
+        if (meta) {
+          var color="#1b1c20";
+          var preferences=localStorage.getItem('preferences');
+          if (preferences!=null){
+            var json=JSON.parse(preferences);
+            if (json&&json.theme==="light"){
+              color="#FAFAF8";
+            }
+          }
+          meta.setAttribute('content', color);
+        }
+      }
+      function reProgressiermeta(){
+        let v=progressier.meta;
+        if (v){
+          progressier.meta.createAndroidMeta = async function() {
+            var e = await v.getData("toolbarColor");
+            var t = await v.getData("wrapperOnlyMode");
+            if (!e || t) {
+              e = await v.getData("themeColor")
+            }
+            let i = await v.getData("currentlyOnEmbeddablePage");
+            if (i && t) {
+              return
+            }
+            v.createMeta("meta", "name", "mobile-web-app-capable", {
+              content: "yes"
+            });
+            // v.createMeta("meta", "name", "theme-color", {
+            //   content: e
+            // })
+          }
+        }
+      }
+      function initProgressier(){
+        window.addEventListener("load", function(){
+          if (window.progressier!=null){
+            window.progressier.add({
+              id: "pDy0w3lGo3j9gL2zwK"
+            });
+            reProgressiermeta();
+          }
+        });
+      }
+      initProgressier();
+      setThemeColor();
+    </script>
+  </body>
+</html>

+ 1 - 1
public/sitemap.xml

@@ -7,7 +7,7 @@
 >
 
     <url>
-        <loc>http://24680.com</loc>
+        <loc>http://cereja.com</loc>
         <priority>0.3</priority>
         <lastmod>2024-06-17</lastmod>
         <changefreq>weekly</changefreq>

+ 16 - 0
public/sitemap_24680.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<urlset
+        xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
+       http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
+>
+
+    <url>
+        <loc>http://24680.com</loc>
+        <priority>0.3</priority>
+        <lastmod>2024-06-17</lastmod>
+        <changefreq>weekly</changefreq>
+    </url>
+
+</urlset>

+ 2 - 0
src/App.js

@@ -80,6 +80,7 @@ import {isInAppBrowser, isShowInstallBox, openUrlUseChrome} from "@utils/UAUtils
 import WInstallBox from "@widgets/WInstallBox";
 import WMaintainBox from "@widgets/WMaintainBox";
 import WAreaSelect from "@widgets/WAreaSelect";
+import {APP_SITE} from "@constants/app";
 const objInfo={
     gameID:0
 }
@@ -287,6 +288,7 @@ const App = () => {
         checkOpenCheckin();
     }
     const checkOpenInstallBox=()=>{
+        if (global.website!==APP_SITE.SITE_24680)return;
         if (promoteInstall>0){
             if (global.installed===1)return;
             global.installed=1;

+ 7 - 1
src/Global.js

@@ -4,6 +4,7 @@ import {decrypt, encrypt, localStorageGet, localStorageSet} from "@utils/helpers
 // import symbol from "@assets/symbol-defs.svg";
 // import symbol_m from "@assets/symbol-mobile.svg";
 import area from "@db/area";
+import {APP_SITE} from "@constants/app";
 global.i18n=i18n;
 // global.symbol=symbol;
 // global.symbol_m=symbol_m;
@@ -25,6 +26,8 @@ global.height=100;
 global.isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent);
 //游客id 指纹
 global.BFP=null;
+//网站
+global.website="cereja";
 //wd pass
 global.getWDPass=()=>{
     let pass=localStorageGet(LOCAL_WD_PASS,"");
@@ -125,6 +128,9 @@ global.checkDomainArea=()=>{
     return areaID;
 }
 global.getLocalAreaID=()=>{
+    if (global.website===APP_SITE.SITE_CEREJA){
+        return 1;
+    }
     let areaID=Number(localStorageGet(LOCAL_AREA_ID,0));
     if (areaID===0){
         let dAreaID=global.checkDomainArea();
@@ -171,4 +177,4 @@ global.showBonusPack=()=>{
 global.hideBonusPack=()=>{
     if (global.bonusPack)global.bonusPack.hide();
 }
-//wd pass
+//wd pass

BIN
src/assets/logo/logo_cereja.png


+ 10 - 1
src/components/LoadingScreen.jsx

@@ -6,6 +6,8 @@ import Spring from '@components/Spring';
 // import ball from '@assets/logo.json';
 import logo from '@assets/logo.json';
 import {useEffect, useRef} from "react";
+import {APP_SITE} from "@constants/app";
+import {CircularProgress} from "@mui/material";
 
 const LoadingScreen = ({...props}) => {
     const loadRef = useRef(null);
@@ -16,10 +18,17 @@ const LoadingScreen = ({...props}) => {
             }
         }
     },[])
+    const renderLogo=()=>{
+        if (global.website===APP_SITE.SITE_24680){
+            return (<Lottie animationData={logo} lottieRef={loadRef}/>);
+        }
+        return (<CircularProgress color="success" size={40} thickness={5}/>)
+    }
     return (
         <Spring {...props} className="d-flex align-items-center justify-content-center flex-1 w-100 h-100">
             {/*<Lottie animationData={ball} />*/}
-            <Lottie animationData={logo} lottieRef={loadRef}/>
+            {/*<Lottie animationData={logo} lottieRef={loadRef}/>*/}
+            {renderLogo()}
         </Spring>
     )
 }

+ 13 - 3
src/components/Logo/index.jsx

@@ -12,15 +12,25 @@ import logo_light from '@assets/logo/logo_w.png';
 import logo_small from '@assets/logo/logo_small4.png';
 import logo_small_black from '@assets/logo/logo_small4.png';
 import logo_small_light from '@assets/logo/logo_small5.png';
-import {APP_THEME} from "@constants/app";
+import logo_cereja from '@assets/logo/logo_cereja.png';
+import {APP_SITE, APP_THEME} from "@constants/app";
 
 const Logo = ({size = 'md'}) => {
     const {theme,isMobile} = useThemeProvider();
-    const logourl=isMobile()?(theme===APP_THEME.DARK?logo_small_black:logo_small_light):(theme===APP_THEME.DARK?logo_dark:logo_light);
+    // const logourl=isMobile()?(theme===APP_THEME.DARK?logo_small_black:logo_small_light):(theme===APP_THEME.DARK?logo_dark:logo_light);
     // const logourl=(theme=='dark'?logo_dark:logo_light);
+    const getLogoUrl=()=>{
+        let logourl="";
+        if (global.website===APP_SITE.SITE_CEREJA){
+            logourl=logo_cereja;
+            return logourl;
+        }
+        logourl=isMobile()?(theme===APP_THEME.DARK?logo_small_black:logo_small_light):(theme===APP_THEME.DARK?logo_dark:logo_light);
+        return logourl;
+    }
     return (
         <NavLink className={`${styles.logo} ${styles[size]}`} to="/">
-            <img className={`${isMobile()?styles.logo_img_m:styles.logo_img}`} src={logourl}/>
+            <img className={`${isMobile()?styles.logo_img_m:styles.logo_img}`} src={getLogoUrl()}/>
         </NavLink>
     )
 }

+ 6 - 1
src/constants/app.js

@@ -36,6 +36,10 @@ const APP_COUNTRY_CODE={
     EU:"eu",
     RU:"ru"
 }
+const APP_SITE={
+    SITE_24680:"24680",
+    SITE_CEREJA:"cereja",
+}
 export {
     APP_THEME,
     APP_GENDER,
@@ -43,5 +47,6 @@ export {
     APP_SERVER,
     APP_WELFARE,
     APP_LOGIN_TYPE,
-    APP_COUNTRY_CODE
+    APP_COUNTRY_CODE,
+    APP_SITE
 };

+ 11 - 5
src/layout/Footer/index.jsx

@@ -3,6 +3,7 @@ import {NavLink} from "react-router-dom";
 import {ROUTE_PATH} from "@constants/routes";
 import React, {useEffect, useRef} from "react";
 import {stringFormat} from "@utils/helpers";
+import {APP_SITE} from "@constants/app";
 const i18n=global.i18n;
 const objInfo={
     isInit:false
@@ -11,6 +12,7 @@ const Footer=()=>{
     const anjRef = useRef(null);
     useEffect(()=>{
         if (!objInfo.isInit){
+            if (global.website!==APP_SITE.SITE_24680)return;
             if(window.anj_75ede18c_13d5_4b2c_ae69_043e5c00f765){
                 window.anj_75ede18c_13d5_4b2c_ae69_043e5c00f765.init()
                 objInfo.isInit=true;
@@ -66,16 +68,20 @@ const Footer=()=>{
                             <img src="https://cdn.ouro777.com/img/18.png" style={{width: '40px'}}/>
                         </NavLink>
                     </div>
-                    <div className={styles.gameing_item_anj}>
-                        {renderAnjBasic()}
-                    </div>
+                    {
+                        global.website===APP_SITE.SITE_24680? (
+                            <div className={styles.gameing_item_anj}>
+                                {renderAnjBasic()}
+                            </div>
+                        ):(<></>)
+                    }
                 </div>
             </div>
         )
     }
     const renderPolicy = () => {
-        let domain="24680.com";
-        let email="cs@24680.com";
+        let domain=`${global.website}.com`;
+        let email=`cs@${global.website}.com`;
         return (
             <div className={styles.footer_block}>
                 <div className={styles.footer_copyright}>

+ 2 - 0
src/layout/Navbar/index.jsx

@@ -30,6 +30,7 @@ import {numFormatter, sleep} from "@utils/helpers";
 import {ROUTE_PATH} from "@constants/routes";
 import {toast} from "react-toastify";
 import LazyImgix from "@components/Imgix/LazyImgix";
+import {APP_SITE} from "@constants/app";
 const i18n=global.i18n;
 
 const StyledToggleGroup= styled(ToggleButtonGroup)`
@@ -557,6 +558,7 @@ const PageHeader = () => {
         );
     }
     const renderMobileInstall=()=>{
+        if (global.website!==APP_SITE.SITE_24680)return (<></>);
         return (
             <div id={'installBanner'} className={styles.header_install}></div>
         )

+ 2 - 0
src/locales/index.js

@@ -64,9 +64,11 @@ i18n
             let value=i18n.old_t(key);
             let DOLLAR=global.DOLLAR!=null?global.DOLLAR:"";
             let currency=global.currency!=null?global.currency:"";
+            let SITE=global.website;
             if (value!=null&&typeof value==="string"){
                 value=value.replaceAll("{D}",DOLLAR);
                 value=value.replaceAll("{C}",currency);
+                value=value.replaceAll("{ST}",SITE);
             }
             return value;
         }

+ 4 - 4
src/locales/languages/en_US.json

@@ -101,7 +101,7 @@
     "login_pwd": "Password",
     "forgot": "Forgot your password?",
     "sign_in_btn": "Login",
-    "reg_new_des": "New to 24680?",
+    "reg_new_des": "New to {ST}?",
     "reg_new_btn": "Register",
     "reg_title": "Register",
     "re_pwd": "Confirm password",
@@ -156,7 +156,7 @@
   },
   "settings": {
     "user_info": {
-      "welcome": "Welcome to 24680.com",
+      "welcome": "Welcome to {ST}.com",
       "tips": "Please Sign up or Log in first",
       "name": "Name:",
       "id": "ID:"
@@ -534,7 +534,7 @@
     "rule": {
       "title": "Rules",
       "rule_1": "1. You can start withdrawing money when the accumulated amount reaches 100 {C} (maximum reward amount is 1,000 {C}, there is no limit on times).",
-      "rule_2": "2. Inviting friends to register on 24680.com will help you withdraw money quickly.",
+      "rule_2": "2. Inviting friends to register on {ST}.com will help you withdraw money quickly.",
       "rule_3": "3. Each user will receive one free spin per day.",
       "rule_4": "4. Each user's activity is valid for 3 days and can participate in the activity multiple times.",
       "rule_5": "5. If you get an extra bonus, you can play for free and win more real money.",
@@ -725,7 +725,7 @@
     "disconnected": "The network is disconnected. Do you want to reconnect?"
   },
   "installBox": {
-    "tips": "We would love to add 24680.com to your home screen for the latest free bets and bonus updates.",
+    "tips": "We would love to add {ST}.com to your home screen for the latest free bets and bonus updates.",
     "btn_cancel": "Cancel",
     "btn_install": "Install"
   },

+ 4 - 4
src/locales/languages/es_MX.json

@@ -98,7 +98,7 @@
     "login_pwd": "Contraseña",
     "forgot": "¿Olvidaste tu contraseña?",
     "sign_in_btn": "Iniciar Sesión",
-    "reg_new_des": "¿Nuevo en 24680?",
+    "reg_new_des": "¿Nuevo en {ST}?",
     "reg_new_btn": "Crear cuenta",
     "reg_title": "Registrarse",
     "re_pwd": "Confirmar Contraseña",
@@ -153,7 +153,7 @@
   },
   "settings": {
     "user_info": {
-      "welcome": "Bienvenido a 24680.com",
+      "welcome": "Bienvenido a {ST}.com",
       "tips": "Por favor, regístrate o inicia sesión primero",
       "name": "Nombre:",
       "id": "ID:"
@@ -522,7 +522,7 @@
     "rule": {
       "title": "Reglas",
       "rule_1": "1. Puedes comenzar a retirar dinero cuando el monto acumulado alcance 100{C} (el monto máximo de recompensa es 1.000{C}, no hay límite de veces).",
-      "rule_2": "2. Invitar amigos para registrarse en 24680.com te ayudará a retirar dinero rápidamente.",
+      "rule_2": "2. Invitar amigos para registrarse en {ST}.com te ayudará a retirar dinero rápidamente.",
       "rule_3": "3. Cada usuario recibirá un giro gratis por día.",
       "rule_4": "4. La actividad de cada usuario es válida por 3 días y puede participar en la actividad varias veces.",
       "rule_5": "5. Si obtienes un bono extra, puedes jugar gratis y ganar más dinero real.",
@@ -712,7 +712,7 @@
     "disconnected": "La red se ha desconectado. ¿Quieres volver a conectarte?"
   },
   "installBox": {
-    "tips": "Nos encantaría añadir 24680.com a tu pantalla de inicio para las últimas apuestas gratuitas y actualizaciones de bonos.",
+    "tips": "Nos encantaría añadir {ST}.com a tu pantalla de inicio para las últimas apuestas gratuitas y actualizaciones de bonos.",
     "btn_cancel": "Cancelar",
     "btn_install": "Instalar"
   },

+ 4 - 4
src/locales/languages/pt_BR.json

@@ -98,7 +98,7 @@
     "login_pwd": "Senha",
     "forgot": "Esqueceu sua senha?",
     "sign_in_btn": "Entrar",
-    "reg_new_des": "Novo no 24680?",
+    "reg_new_des": "Novo no {ST}?",
     "reg_new_btn": "Criar Conta",
     "reg_title": "Registrar",
     "re_pwd": "Confirmar Senha",
@@ -153,7 +153,7 @@
   },
   "settings": {
     "user_info": {
-      "welcome": "Bem-vindo ao 24680.com",
+      "welcome": "Bem-vindo ao {ST}.com",
       "tips": "Por favor, registre-se ou faça login primeiro",
       "name": "Nome:",
       "id": "ID:"
@@ -522,7 +522,7 @@
     "rule": {
       "title": "Regras",
       "rule_1": "1. Você pode começar a retirar dinheiro quando o valor acumulado atingir 100{C} (valor máximo da recompensa é 1.000{C}, não há limite de vezes).",
-      "rule_2": "2. Convidar amigos para se registrar no 24680.com ajudará você a retirar dinheiro rapidamente.",
+      "rule_2": "2. Convidar amigos para se registrar no {ST}.com ajudará você a retirar dinheiro rapidamente.",
       "rule_3": "3. Cada usuário receberá um giro grátis por dia.",
       "rule_4": "4. A atividade de cada usuário é válida por 3 dias e pode participar da atividade várias vezes.",
       "rule_5": "5. Se você ganhar um bônus extra, pode jogar de graça e ganhar mais dinheiro real.",
@@ -712,7 +712,7 @@
     "disconnected": "A rede foi desconectada. Deseja reconectar?"
   },
   "installBox": {
-    "tips": "Adoraríamos adicionar 24680.com à sua tela inicial para as últimas apostas gratuitas e atualizações de bônus.",
+    "tips": "Adoraríamos adicionar {ST}.com à sua tela inicial para as últimas apostas gratuitas e atualizações de bônus.",
     "btn_cancel": "Cancelar",
     "btn_install": "Instalar"
   },

+ 3 - 3
src/locales/languages/ru_RU.json

@@ -153,7 +153,7 @@
   },
   "settings": {
     "user_info": {
-      "welcome": "Добро пожаловать на 24680.com",
+      "welcome": "Добро пожаловать на {ST}.com",
       "tips": "Пожалуйста, зарегистрируйтесь или войдите",
       "name": "Имя:",
       "id": "ID:"
@@ -522,7 +522,7 @@
     "rule": {
       "title": "Правила",
       "rule_1": "1. Для вывода средств необходимо, чтобы баланс составлял не менее 100 {D} (максимальная сумма бонуса с одного Спина может составлять до 1.000 {D}).",
-      "rule_2": "2. Регистрируйте друзей по вашей ссылке на 24680.com, чтобы получить бонус и быстрее вывести средства",
+      "rule_2": "2. Регистрируйте друзей по вашей ссылке на {ST}.com, чтобы получить бонус и быстрее вывести средства",
       "rule_3": "3. Каждый пользователь получает один бесплатный Спин в день.",
       "rule_4": "4. Если вы получите бонусное задание, то оно будет активно в течение 3 дней. Каждый пользователь может принимать участие несколько раз",
       "rule_5": "5. Если вы получите бонусные {D}, вы сможете играть бесплатно и выиграть больше реальных денег.",
@@ -712,7 +712,7 @@
     "disconnected": "Соединение прервано. Хотите восстановить?"
   },
   "installBox": {
-    "tips": "Мы бы хотели добавить 24680.com на ваш рабочий стол для последних бесплатных ставок и обновлений бонусов.",
+    "tips": "Мы бы хотели добавить {ST}.com на ваш рабочий стол для последних бесплатных ставок и обновлений бонусов.",
     "btn_cancel": "Отмена",
     "btn_install": "Установить"
   },

+ 4 - 4
src/locales/languages/zh_TW.json

@@ -98,7 +98,7 @@
     "login_pwd": "登入密碼",
     "forgot": "忘記密碼?",
     "sign_in_btn": "登入",
-    "reg_new_des": "新用戶24680?",
+    "reg_new_des": "新用戶{ST}?",
     "reg_new_btn": "創建帳戶",
     "reg_title": "註冊",
     "re_pwd": "確認登入密碼",
@@ -153,7 +153,7 @@
   },
   "settings": {
     "user_info": {
-      "welcome": "歡迎來到24680.com",
+      "welcome": "歡迎來到{ST}.com",
       "tips": "請先註冊或登入",
       "name": "姓名:",
       "id": "ID:"
@@ -522,7 +522,7 @@
     "rule": {
       "title": "規則",
       "rule_1": "1. 當累積金額達到100{C}時,您可以開始提現(最大獎勵金額為1000{C},無次數限制)。",
-      "rule_2": "2. 邀請朋友註冊24680.com將幫助您快速提現。",
+      "rule_2": "2. 邀請朋友註冊{ST}.com將幫助您快速提現。",
       "rule_3": "3. 每個用戶每天將獲得一次免費旋轉。",
       "rule_4": "4. 每個用戶的活動有效期為3天,可以多次參加活動。",
       "rule_5": "5. 如果您獲得額外獎金,可以免費玩並贏取更多現金。",
@@ -712,7 +712,7 @@
     "disconnected": "網路已斷開連接,要重新連接嗎?"
   },
   "installBox": {
-    "tips": "我們希望將 24680.com 添加到您的主屏幕,以獲取最新的免費投注和獎金更新。",
+    "tips": "我們希望將 {ST}.com 添加到您的主屏幕,以獲取最新的免費投注和獎金更新。",
     "btn_cancel": "取消",
     "btn_install": "安裝"
   },

+ 15 - 3
src/widgets/LoginForm/index.jsx

@@ -10,6 +10,7 @@ import React, {useState} from 'react';
 import styles from './styles.module.scss';
 import logo_dark from '@assets/logo/logo.png';
 import logo_light from '@assets/logo/logo_w.png';
+import logo_cereja from '@assets/logo/logo_cereja.png';
 
 // utils
 import classNames from 'classnames';
@@ -34,7 +35,7 @@ import SmallLoading from "@components/SmallLoading";
 import {REQ_STATUS} from "@api/config";
 import {reqForgetPass, reqLogin, reqRegister, reqSendCode, reqSMSLogin} from "@features/api";
 import {ROUTE_PATH} from "@constants/routes";
-import {APP_LOGIN_TYPE, APP_THEME} from "@constants/app";
+import {APP_LOGIN_TYPE, APP_SITE, APP_THEME} from "@constants/app";
 import {validateCountryPhone, validateEmail} from "@utils/helpers";
 import {CircularProgress} from "@mui/material";
 import area from "@db/area";
@@ -66,7 +67,7 @@ const LoginForm = ({close}) => {
     const [showType,setShowType]=useState(TYPE_LOGIN);
     const [open, setOpen] = useState(false);
     const [country, setCountry] = useState("55");
-    const logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
+    // const logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
     const loginStatus=useSelector(getLoginStatus);
     const regStatus=useSelector(getRegStatus);
     const forgetStatus=useSelector(getChangePassStatus);
@@ -100,6 +101,14 @@ const LoginForm = ({close}) => {
     const [logTypeList,setLogTypeList]=useState([]);
     //注册类型列表
     const [regTypeList,setRegTypeList]=useState([]);
+    const getLogoUrl=()=>{
+        let logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
+        if (global.website===APP_SITE.SITE_CEREJA){
+            logourl=logo_cereja;
+            return logourl;
+        }
+        return logourl;
+    }
     const onSendCode=(e)=>{
         if (otpCD>0)return;
         if (otpStatus===REQ_STATUS.LOADING)return;
@@ -267,11 +276,14 @@ const LoginForm = ({close}) => {
     const renderLogo=()=>{
         return (
             <div className={styles.l_logo}>
-                <img className={styles.logo_img} src={logourl}/>
+                <img className={styles.logo_img} src={getLogoUrl()}/>
             </div>
         )
     }
     const renderAreaSelect=()=>{
+        if (global.website===APP_SITE.SITE_CEREJA){
+            return (<></>);
+        }
         let item=getAreaItem();
         if (item==null)return (<></>);
         return (

+ 5 - 1
src/widgets/UserSettings/index.jsx

@@ -28,10 +28,11 @@ import ToggleButton from "@mui/material/ToggleButton";
 import {reqChangeInfo, reqLogout} from "@features/api";
 import {REQ_STATUS} from "@api/config";
 import SmallLoading from "@components/SmallLoading";
-import {APP_GENDER, APP_THEME} from "@constants/app";
+import {APP_GENDER, APP_SITE, APP_THEME} from "@constants/app";
 import AntSwitch from "@components/AntSwitch";
 import LazyImgix from "@components/Imgix/LazyImgix";
 import areaData from "@db/area";
+import React from "react";
 const i18n=global.i18n;
 
 const UserSettings=()=>{
@@ -375,6 +376,9 @@ const UserSettings=()=>{
         )
     }
     const renderItemArea=()=>{
+        if (global.website===APP_SITE.SITE_CEREJA){
+            return (<></>);
+        }
         if (isLogin)return (<></>);
         return (
             <button className={styles.action_item} onClick={()=>{

+ 12 - 3
src/widgets/WEditPassword/index.jsx

@@ -3,6 +3,7 @@ import Spring from "@components/Spring";
 import React from "react";
 import logo_dark from "@assets/logo/logo.png";
 import logo_light from "@assets/logo/logo_w.png";
+import logo_cereja from '@assets/logo/logo_cereja.png';
 import {useThemeProvider} from "@contexts/themeContext";
 import {Controller, useForm} from "react-hook-form";
 import PasswordInput from "@components/UInput/PasswordInput";
@@ -12,14 +13,14 @@ import {useDispatch, useSelector} from "react-redux";
 import {getChangePassStatus} from "@features/mainSlice";
 import SmallLoading from "@components/SmallLoading";
 import {reqChangePass} from "@features/api";
-import {APP_THEME} from "@constants/app";
+import {APP_SITE, APP_THEME} from "@constants/app";
 const i18n=global.i18n;
 
 const WEditPassword=({close})=>{
     const status=useSelector(getChangePassStatus);
     const dispatch = useDispatch();
     const {theme,isMobile} = useThemeProvider();
-    const logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
+    // const logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
     const {register, handleSubmit, formState: {errors}, control} = useForm({
         defaultValues: {
             oldpassword: '',
@@ -27,10 +28,18 @@ const WEditPassword=({close})=>{
             renewpassword:''
         }
     });
+    const getLogoUrl=()=>{
+        let logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
+        if (global.website===APP_SITE.SITE_CEREJA){
+            logourl=logo_cereja;
+            return logourl;
+        }
+        return logourl;
+    }
     const renderLogo=()=>{
         return (
             <div className={styles.logo}>
-                <img className={styles.logo_img} src={logourl}/>
+                <img className={styles.logo_img} src={getLogoUrl()}/>
             </div>
         )
     }

+ 12 - 3
src/widgets/WEditProfile/index.jsx

@@ -12,13 +12,14 @@ import {ReactComponent as Male} from '@assets/singlesvg/gener/male.svg';
 import {ReactComponent as FeMale} from '@assets/singlesvg/gener/female.svg';
 import SmallLoading from "@components/SmallLoading";
 import {reqChangeEmail, reqChangeInfo, reqChangePhone} from "@features/api";
-import {APP_GENDER, APP_THEME} from "@constants/app";
+import {APP_GENDER, APP_SITE, APP_THEME} from "@constants/app";
 import {validateCountryPhone, validateEmail} from "@utils/helpers";
 import LazyImgix from "@components/Imgix/LazyImgix";
 import {useLocation} from "react-router";
 import {ROUTE_PATH} from "@constants/routes";
 import logo_dark from '@assets/logo/logo.png';
 import logo_light from '@assets/logo/logo_w.png';
+import logo_cereja from '@assets/logo/logo_cereja.png';
 import {useThemeProvider} from "@contexts/themeContext";
 const i18n=global.i18n;
 
@@ -64,7 +65,15 @@ const WEditProfile=({close})=>{
     const [showType,setShowType]=useState(TYPE_BASE);
     const {pathname,hash} = useLocation();
     const {theme,isMobile} = useThemeProvider();
-    const logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
+    // const logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
+    const getLogoUrl=()=>{
+        let logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
+        if (global.website===APP_SITE.SITE_CEREJA){
+            logourl=logo_cereja;
+            return logourl;
+        }
+        return logourl;
+    }
     const validatePhone=(value)=>{
         return validateCountryPhone(country,value);
     }
@@ -340,7 +349,7 @@ const WEditProfile=({close})=>{
     const renderLogo=()=>{
         return (
             <div className={styles.l_logo}>
-                <img className={styles.logo_img} src={logourl}/>
+                <img className={styles.logo_img} src={getLogoUrl()}/>
             </div>
         )
     }

+ 15 - 13
src/widgets/WKycPolicy/index.jsx

@@ -5,7 +5,9 @@ const WKycPolicy=({close})=>{
     const text=[
 
     ]
-
+    const getSite=()=>{
+        return global.website;
+    }
     return (
         <div className={styles.container}>
             <Spring className={styles.content}>
@@ -13,15 +15,15 @@ const WKycPolicy=({close})=>{
                     <p>
                         AML & KYC Policy For Cash Deposits and Cash Withdraws</p>
                     <p>
-                        AMLI Anti-Money-Laundering policy of www.24680.com</p>
+                        AMLI Anti-Money-Laundering policy of www.{getSite()}.com</p>
                     <p>
                         Introduction:</p>
                     <p>
-                        24680.com is operated by ANGRY EVIL GAMES KFT. by ANGRY EVIL GAMES KFT. with a registration
+                        {getSite()}.com is operated by ANGRY EVIL GAMES KFT. by ANGRY EVIL GAMES KFT. with a registration
                         number
                         01-09-395964 and registered office located at 1135 Budapest, Reitter Ferenc utca 27. Objective
                         of the AML
-                        Policy: We seek to offer the highest security to all of our users and customers on 24680.com
+                        Policy: We seek to offer the highest security to all of our users and customers on {getSite()}.com
                         for that a
                         three step account verification is done in order to insure the identity of our customers. The
                         reason behind
@@ -31,18 +33,18 @@ const WKycPolicy=({close})=>{
                         against money
                         laundering. We also take into accord that depending on the nationality and origin, the way of
                         payment and
-                        for withdrawing different safety measurements must be taken. 24680.com also puts reasonable
+                        for withdrawing different safety measurements must be taken. {getSite()}.com also puts reasonable
                         measures in
                         place to control and limit ML risk, including dedicating the appropriate means.</p>
                     <p>
                     </p>
                     <p>
                     </p>
-                    <p>24680.com is committed to high standards of anti-money laundering (AML) according to the EU
+                    <p>{getSite()}.com is committed to high standards of anti-money laundering (AML) according to the EU
                         guidelines,
                         compliance and requires management & employees to enforce these standards in preventing the use
                         of its
-                        services for money laundering purposes.The AML program of 24680.com is designed to be
+                        services for money laundering purposes.The AML program of {getSite()}.com is designed to be
                         compliant with : EU
                         : “Directive 2015/849 of the European Parliament and of The Council of 20 May 2015 on the
                         prevention of the
@@ -88,9 +90,9 @@ const WKycPolicy=({close})=>{
                     </p>
                     <p>
                     </p>
-                    <p>Organization of the AML for 24680.com:
+                    <p>Organization of the AML for {getSite()}.com:
                     </p>
-                    <p>In accordance with the AML legislation, 24680.com has appointed the “highest level” for the
+                    <p>In accordance with the AML legislation, {getSite()}.com has appointed the “highest level” for the
                         prevention of
                         ML: The full management of ANGRY EVIL GAMES KFT. are in charge. Furthermore, an AMLCO (Anti
                         Money Laundering
@@ -98,13 +100,13 @@ const WKycPolicy=({close})=>{
                         System. The
                         AMLCO is placed under the direct responsibility of the general Management: AML policy changes
                         and
-                        implementation requirements: Each major change of 24680.com AML policy is subject to be
+                        implementation requirements: Each major change of {getSite()}.com AML policy is subject to be
                         approval by the
                         general management of ANGRY EVIL GAMES KFT. and the Anti money laundering compliance officer.
                     </p>
-                    <p><b>KYC policy of www.24680.com</b>
+                    <p><b>KYC policy of www.{getSite()}.com</b>
                     </p>
-                    <p>There are three steps of Verification on www.24680.com:
+                    <p>There are three steps of Verification on www.{getSite()}.com:
                     </p>
                     <p>Step one verification:
                     </p>
@@ -157,7 +159,7 @@ const WKycPolicy=({close})=>{
                     <p>Contact us:
                     </p>
                     <p>If you have any questions or complaints about our AML Policy, please contact us by email:
-                        compliance@24680.com
+                        compliance@{getSite()}.com
                     </p>
                 </div>
                 <Footer/>

+ 13 - 4
src/widgets/WMaintainBox/index.jsx

@@ -2,23 +2,32 @@ import Modal from "@mui/material/Modal";
 import Fade from "@mui/material/Fade";
 import Grow from "@mui/material/Grow";
 import styles from "./styles.module.scss";
-import {APP_THEME} from "@constants/app";
+import {APP_SITE, APP_THEME} from "@constants/app";
 import logo_dark from "@assets/logo/logo.png";
 import logo_light from "@assets/logo/logo_w.png";
 import React from "react";
 import {useThemeProvider} from "@contexts/themeContext";
+import logo_cereja from "@assets/logo/logo_cereja.png";
 const i18n=global.i18n;
 
 
 const WMaintainBox = ({ open=false,content="" }) => {
     const {theme,isMobile} = useThemeProvider();
-    const logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
+    // const logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
     // if (content==="")content=i18n.t('maintain.content');
     if (content==="")content='Para fornecer um serviço melhor, faremos a manutenção do sistema das 1:00 às 3:00 em 29 de agosto. O site não estará acessível durante esse período. Por favor, seja paciente.';
+    const getLogoUrl=()=>{
+        let logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
+        if (global.website===APP_SITE.SITE_CEREJA){
+            logourl=logo_cereja;
+            return logourl;
+        }
+        return logourl;
+    }
     const renderLogo=()=>{
         return (
             <div className={styles.l_logo}>
-                <img className={styles.logo_img} src={logourl}/>
+                <img className={styles.logo_img} src={getLogoUrl()}/>
             </div>
         )
     }
@@ -52,4 +61,4 @@ const WMaintainBox = ({ open=false,content="" }) => {
         </Modal>
     )
 }
-export default WMaintainBox;
+export default WMaintainBox;

+ 16 - 4
src/widgets/WProtectMinors/index.jsx

@@ -3,17 +3,29 @@ import Spring from "@components/Spring";
 import logo_dark from '@assets/logo/logo.png';
 import logo_light from '@assets/logo/logo_w.png';
 import {useThemeProvider} from "@contexts/themeContext";
-import {APP_THEME} from "@constants/app";
+import {APP_SITE, APP_THEME} from "@constants/app";
 import React from "react";
 import Footer from "@layout/Footer";
+import logo_cereja from "@assets/logo/logo_cereja.png";
 
 const WProtectMinors = ({close}) => {
     const {theme,isMobile} = useThemeProvider();
-    const logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
+    // const logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
+    const getLogoUrl=()=>{
+        let logourl=(theme===APP_THEME.DARK?logo_dark:logo_light);
+        if (global.website===APP_SITE.SITE_CEREJA){
+            logourl=logo_cereja;
+            return logourl;
+        }
+        return logourl;
+    }
+    const getSite=()=>{
+        return global.website;
+    }
     const renderLogo=()=>{
         return (
             <div className={styles.l_logo}>
-                <img className={styles.logo_img} src={logourl}/>
+                <img className={styles.logo_img} src={getLogoUrl()}/>
             </div>
         )
     }
@@ -31,7 +43,7 @@ const WProtectMinors = ({close}) => {
 
                     </p>
                     <p>
-                        24680.com only accepts players who are at least 18 years old and employs all applicable
+                        {getSite()}.com only accepts players who are at least 18 years old and employs all applicable
                         methods to prevent underage people from registering and playing at our casino. The casino holds
                         the right to request identification, and if the player is not of legal gambling age, access to
                         the website will be refused. However, we recognize that due to the widespread availability of