diff --git a/.env.production b/.env.production
index 1a41ab5..e3d1f55 100644
--- a/.env.production
+++ b/.env.production
@@ -1,11 +1,11 @@
###
# @LastEditors: John
# @Date: 2024-06-26 15:04:10
- # @LastEditTime: 2024-06-27 20:18:39
+ # @LastEditTime: 2024-07-01 15:13:11
# @Author: John
###
-VITE_BASE_URL=https://node.yotta-network.com
-VITE_BASE_API_URL=https://node.yotta-network.com/api
+VITE_BASE_URL=https://www.nodeai.world
+VITE_BASE_API_URL=https://www.nodeai.world/api
VITE_PARTICIPATE_CHAIN_ID=56
VITE_PURCHASED_CONTRACT_ADDRESS=0x17c38AaF564716A3D9dD4EBE7Fb5db2D43c6A834
VITE_NETWORK_USDT_ADDRESS=0x55d398326f99059fF775485246999027B3197955
diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz
index 438b050..846adda 100644
Binary files a/.yarn/install-state.gz and b/.yarn/install-state.gz differ
diff --git a/public/favicon.svg b/public/favicon.svg
index 080cf7f..474cfa7 100644
--- a/public/favicon.svg
+++ b/public/favicon.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/App.css b/src/App.css
index da8b319..30bc8ee 100644
--- a/src/App.css
+++ b/src/App.css
@@ -3,7 +3,7 @@ html,
#root {
width: 100%;
height: 100%;
- background: url("./assets/home_bg.png");
+ background: #fafafb;
}
@font-face {
diff --git a/src/App.tsx b/src/App.tsx
index 82514cb..23a12ef 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,7 +1,7 @@
/*
* @LastEditors: John
* @Date: 2024-06-17 17:20:03
- * @LastEditTime: 2024-06-28 17:44:02
+ * @LastEditTime: 2024-07-01 16:41:42
* @Author: John
*/
import { Route, Routes } from "react-router-dom";
@@ -16,7 +16,7 @@ import InvitationList from "./pages/InvitationList";
import { useEffect } from "react";
import { useTranslation } from "react-i18next";
import useUserStore from "./store/User";
-import { getUrlQueryParam, isMobile } from "./utils";
+import { getUrlParameterByName, isMobile } from "./utils";
import { UrlQueryParamsKey } from "./constants";
import { signAndLogin } from "./utils/wallet";
import { useAccount } from "wagmi";
@@ -26,7 +26,9 @@ function App() {
const { address } = useAccount();
useEffect(() => {
i18n.changeLanguage(currantLang);
- UpdateInviteCode(getUrlQueryParam(UrlQueryParamsKey.INVITE_CODE) || "");
+ UpdateInviteCode(
+ getUrlParameterByName(UrlQueryParamsKey.INVITE_CODE) || ""
+ );
return () => {};
}, []);
diff --git a/src/assets/logo.svg b/src/assets/logo.svg
index 080cf7f..474cfa7 100644
--- a/src/assets/logo.svg
+++ b/src/assets/logo.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/assets/nft_bg.svg b/src/assets/nft_bg.svg
index b9ace89..519bc35 100644
--- a/src/assets/nft_bg.svg
+++ b/src/assets/nft_bg.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/components/Header-m.module.css b/src/components/Header-m.module.css
index 3449260..d1d1936 100644
--- a/src/components/Header-m.module.css
+++ b/src/components/Header-m.module.css
@@ -1,17 +1,17 @@
/*
* @LastEditors: John
* @Date: 2024-06-18 15:19:21
- * @LastEditTime: 2024-06-18 18:49:40
+ * @LastEditTime: 2024-07-01 14:10:45
* @Author: John
*/
.header {
- background-color: #101010;
+ background-color: #fafafb;
padding: 0 15px;
.header_top {
display: flex;
align-items: center;
gap: 8px;
- border-bottom: 0.25px solid #333333;
+ border-bottom: 1px solid #d8d8d8;
padding: 10px 0;
.header_logo {
@@ -30,7 +30,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 1;
}
@@ -57,7 +57,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 1;
}
diff --git a/src/components/Header.tsx b/src/components/Header.tsx
index 2f1cdc5..8bb277e 100644
--- a/src/components/Header.tsx
+++ b/src/components/Header.tsx
@@ -1,7 +1,7 @@
/*
* @LastEditors: John
* @Date: 2024-06-18 15:16:31
- * @LastEditTime: 2024-06-28 14:05:29
+ * @LastEditTime: 2024-07-01 15:19:02
* @Author: John
*/
import Picker, {
@@ -70,7 +70,7 @@ function Mobile() {
{navTitle}
diff --git a/src/components/WalletProvider.tsx b/src/components/WalletProvider.tsx
index 24803bb..19135ab 100644
--- a/src/components/WalletProvider.tsx
+++ b/src/components/WalletProvider.tsx
@@ -61,7 +61,7 @@ createWeb3Modal({
wagmiConfig: config,
projectId,
themeVariables: {
- "--w3m-accent": "#2dfcfc",
+ "--w3m-accent": "#EA6D28",
},
featuredWalletIds: [
...(window.ethereum
diff --git a/src/i18n/translation/en.json b/src/i18n/translation/en.json
index 96be455..b45cf35 100644
--- a/src/i18n/translation/en.json
+++ b/src/i18n/translation/en.json
@@ -22,7 +22,7 @@
"总收益= 已领取 + 待领取": "Total Revenue = Claimed + Pending",
"邀请": "Invite",
"邀请链接": "Invite Link",
- "Invite your friends to become YOTTA nodes and you will get a 20% rebate.": "Invite your friends to become YOTTA nodes and you will get a 20% rebate.",
+ "Invite your friends to become YOTTA nodes and you will get a 10% rebate.": "Invite your friends to become YOTTA nodes and you will get a 10% rebate.",
"数据披露": "Data Disclosure",
"资金池": "Fund Pool",
"社长席位": "Leader Seats",
diff --git a/src/main.tsx b/src/main.tsx
index c085e6b..b2cd527 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -1,7 +1,7 @@
/*
* @LastEditors: John
* @Date: 2024-06-17 17:20:03
- * @LastEditTime: 2024-06-20 11:43:14
+ * @LastEditTime: 2024-07-01 16:46:07
* @Author: John
*/
import "@/i18n/init.ts";
@@ -15,9 +15,9 @@ import EventBusProvider from "./context/EventBusContext.tsx";
import { WalletProvider } from "./components/WalletProvider.tsx";
import flexible from "./utils/flexible.ts";
import VConsole from "vconsole";
-import { getUrlQueryParam } from "./utils/index.ts";
+import { getUrlParameterByName } from "./utils/index.ts";
-if (getUrlQueryParam("vconsole") === "1") {
+if (getUrlParameterByName("vconsole") === "1") {
new VConsole();
}
flexible(window, document);
diff --git a/src/pages/Feature/useHome.ts b/src/pages/Feature/useHome.ts
index 56e7d78..305a4d9 100644
--- a/src/pages/Feature/useHome.ts
+++ b/src/pages/Feature/useHome.ts
@@ -99,5 +99,6 @@ export default function () {
setTabIndex,
navigate,
userInviteLink,
+ open,
};
}
diff --git a/src/pages/Home-m.module.css b/src/pages/Home-m.module.css
index e5bb8a1..22f4107 100644
--- a/src/pages/Home-m.module.css
+++ b/src/pages/Home-m.module.css
@@ -14,10 +14,8 @@
border-radius: 16px;
opacity: 1;
- background: #171719;
-
- box-shadow: 0px 4px 10px 0px rgba(45, 252, 252, 0.3),
- inset 0px 0px 8px 0px #2dfcfc;
+ background: #ffffff;
+ box-shadow: 0px 2px 8px 0px rgba(99, 99, 99, 0.2);
padding: 14px 15px;
box-sizing: border-box;
@@ -57,7 +55,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 0;
}
@@ -117,10 +115,9 @@
border-radius: 10px;
opacity: 1;
- background: #2dfcfc;
+ background: #ea6d28;
box-sizing: border-box;
- border: 1px solid;
padding: 0 20px;
@@ -153,7 +150,7 @@
border-radius: 16px;
opacity: 1;
- background: #212123;
+ background: #eeeeef;
display: flex;
flex-direction: column;
@@ -173,7 +170,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 0;
@@ -193,7 +190,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 1;
}
@@ -210,7 +207,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 1;
}
@@ -245,7 +242,7 @@
border-radius: 10px;
opacity: 1;
- background: #2dfcfc;
+ background: #ea6d28;
color: #101010;
}
@@ -260,7 +257,8 @@
border-radius: 16px;
opacity: 1;
- background: #171719;
+ background: #ffffff;
+ box-shadow: 0px 2px 8px 0px rgba(99, 99, 99, 0.2);
z-index: 1;
.nftToken_content_nft {
/* 自动布局 */
@@ -286,7 +284,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 0;
}
@@ -303,7 +301,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #2dfcfc;
+ color: #ea6d28;
z-index: 0;
@@ -335,7 +333,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 2;
}
@@ -536,7 +534,7 @@
justify-content: center;
align-items: center;
padding: 10px 0;
- background: #2dfcfc;
+ background: #ea6d28;
z-index: 0;
gap: 10px;
box-sizing: border-box;
@@ -574,7 +572,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 1;
}
@@ -600,7 +598,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
}
}
}
@@ -625,7 +623,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 0;
}
@@ -641,7 +639,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #2dfcfc;
+ color: #ea6d28;
z-index: 0;
@@ -657,7 +655,8 @@
border-radius: 16px;
opacity: 1;
- background: #171719;
+ background: #ffffff;
+ box-shadow: 0px 2px 8px 0px rgba(99, 99, 99, 0.2);
display: flex;
flex-direction: column;
@@ -680,7 +679,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #333333;
z-index: 0;
}
@@ -697,7 +696,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #eaeaea;
+ color: #666666;
z-index: 1;
}
@@ -720,7 +719,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 0;
diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx
index 5daa3c1..cf17641 100644
--- a/src/pages/Home.tsx
+++ b/src/pages/Home.tsx
@@ -1,7 +1,7 @@
/*
* @LastEditors: John
* @Date: 2024-06-26 15:04:10
- * @LastEditTime: 2024-06-28 14:36:37
+ * @LastEditTime: 2024-07-01 16:47:34
* @Author: John
*/
import classes from "./Home-m.module.css";
@@ -27,6 +27,7 @@ function Mobile() {
setTabIndex,
navigate,
userInviteLink,
+ open,
} = useHome();
return (
@@ -55,7 +56,7 @@ function Mobile() {
}}
name="tuichu"
className={classes.userinfo_top_right_wallet_disconnect}
- color={"#fff"}
+ color={"#000000"}
/>
@@ -137,7 +138,7 @@ function Mobile() {
{t("Buy Node")}
@@ -199,7 +200,7 @@ function Mobile() {
{t("邀请列表")}{" "}
)}
@@ -239,7 +240,7 @@ function Mobile() {
{t(
- "Invite your friends to become YOTTA nodes and you will get a 20% rebate."
+ "Invite your friends to become YOTTA nodes and you will get a 10% rebate."
)}
diff --git a/src/pages/Mint-m.module.css b/src/pages/Mint-m.module.css
index 6638966..1830402 100644
--- a/src/pages/Mint-m.module.css
+++ b/src/pages/Mint-m.module.css
@@ -11,7 +11,7 @@
height: 190px;
border-radius: 10px;
opacity: 1;
- background: #171719;
+ background: #ffffff;
box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16),
0px 3px 6px 0px rgba(0, 0, 0, 0.23);
padding: 8px;
@@ -95,7 +95,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #9e9e9e;
+ color: #333333;
z-index: 0;
}
@@ -137,7 +137,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 0;
}
@@ -154,7 +154,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 1;
}
@@ -178,7 +178,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 0;
}
@@ -194,7 +194,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
z-index: 1;
}
@@ -215,7 +215,7 @@
padding: 11px 40px;
gap: 10px;
- background: #2dfcfc;
+ background: #ea6d28;
z-index: 3;
diff --git a/src/server/api.ts b/src/server/api.ts
index 95576ce..df01e13 100644
--- a/src/server/api.ts
+++ b/src/server/api.ts
@@ -1,7 +1,7 @@
/*
* @LastEditors: John
* @Date: 2024-06-18 10:28:21
- * @LastEditTime: 2024-06-27 09:52:45
+ * @LastEditTime: 2024-07-01 11:55:38
* @Author: John
*/
import { GET, POST } from "./client";
@@ -54,7 +54,7 @@ export function api_signUp() {
chainType: 2;
},
any
- >({ url: "/api/account/signUp", requiresToken: false });
+ >({ url: "/api/account/signUp", requiresToken: false, catchErr: true });
}
// 获取钱包签名串
diff --git a/src/server/client.ts b/src/server/client.ts
index 739dcee..5a8fea1 100644
--- a/src/server/client.ts
+++ b/src/server/client.ts
@@ -1,7 +1,7 @@
/*
* @LastEditors: John
* @Date: 2024-06-18 10:09:21
- * @LastEditTime: 2024-06-21 14:47:26
+ * @LastEditTime: 2024-07-01 11:38:43
* @Author: John
*/
import { Client } from "@hyper-fetch/core";
@@ -17,9 +17,11 @@ import i18next from "i18next";
function initClient({
requiresToken,
requiresAddress,
+ catchErr,
}: {
requiresToken: boolean;
requiresAddress: boolean;
+ catchErr: boolean;
}) {
return new Client({ url: import.meta.env.VITE_BASE_API_URL })
.onAuth(async (req) => {
@@ -59,6 +61,7 @@ function initClient({
const resData: BASE_RESPONSE = res.data;
if (resData.code !== 200 && resData.code !== 0) {
if (resData.msg) Toast.show({ content: resData.msg, icon: "fail" });
+ if (catchErr) return res;
throw new Error(resData.msg || "client on response error");
}
return res;
@@ -69,12 +72,14 @@ export const POST = ({
url,
requiresToken = true,
requiresAddress = true,
+ catchErr = false,
}: {
url: string;
requiresToken?: boolean;
requiresAddress?: boolean;
+ catchErr?: boolean;
}) => {
- return initClient({ requiresToken, requiresAddress }).createRequest<
+ return initClient({ requiresToken, requiresAddress, catchErr }).createRequest<
BASE_RESPONSE,
P,
any,
@@ -89,12 +94,14 @@ export const GET = ({
url,
requiresToken = true,
requiresAddress = true,
+ catchErr = false,
}: {
url: string;
requiresToken?: boolean;
requiresAddress?: boolean;
+ catchErr?: boolean;
}) => {
- return initClient({ requiresToken, requiresAddress }).createRequest<
+ return initClient({ requiresToken, requiresAddress, catchErr }).createRequest<
BASE_RESPONSE,
any,
any,
diff --git a/src/style/ant-cover-m.css b/src/style/ant-cover-m.css
index fa8a2f0..016049f 100644
--- a/src/style/ant-cover-m.css
+++ b/src/style/ant-cover-m.css
@@ -1,14 +1,350 @@
-.adm-tabs {
- .adm-tabs-header {
- border-bottom: 0.25px solid #333333;
+@media only screen and (max-width: 1024px) {
+ .adm-tabs {
+ .adm-tabs-header {
+ border-bottom: 0.25px solid #333333;
- .adm-tabs-tab-line {
- background-color: #2dfcfc;
+ .adm-tabs-tab-line {
+ background-color: #ea6d28;
+ }
+
+ .adm-tabs-tab {
+ opacity: 1;
+
+ font-family: Space Grotesk;
+ font-size: 14px;
+ font-weight: 500;
+ line-height: normal;
+ letter-spacing: 0em;
+
+ font-variation-settings: "opsz" auto;
+ font-feature-settings: "kern" on;
+ color: #666666;
+ padding-bottom: 4px;
+ &.adm-tabs-tab-active {
+ color: #ffffff;
+ }
+ }
}
+ .adm-tabs-content {
+ padding: 0;
+ }
+ }
- .adm-tabs-tab {
+ .adm-capsule-tabs {
+ .adm-capsule-tabs-header {
+ padding: 0px 15px;
+ border-bottom: none;
+ margin-top: 20px;
+
+ .adm-scroll-mask {
+ opacity: 0 !important;
+ }
+
+ .adm-capsule-tabs-tab-list {
+ gap: 8px;
+ .adm-capsule-tabs-tab-wrapper {
+ padding: 0;
+
+ .adm-capsule-tabs-tab {
+ /* 自动布局子元素 */
+ height: 25px;
+ border-radius: 8px;
+ opacity: 1;
+
+ box-sizing: border-box;
+ border: 1px solid #ea6d28;
+
+ z-index: 1;
+ background-color: transparent;
+
+ /* 自动布局子元素 */
+ opacity: 1;
+
+ font-family: Space Grotesk;
+ font-size: 10px;
+ font-weight: 500;
+ line-height: 25px;
+ letter-spacing: 0em;
+
+ font-variation-settings: "opsz" auto;
+ font-feature-settings: "kern" on;
+ color: #ffffff;
+
+ z-index: 0;
+
+ padding: 0 14px;
+ }
+
+ .adm-capsule-tabs-tab-active {
+ /* 自动布局子元素 */
+ height: 25px;
+ border-radius: 8px;
+ opacity: 1;
+
+ background: #ea6d28;
+
+ z-index: 0;
+
+ /* 自动布局子元素 */
+ opacity: 1;
+
+ font-family: Space Grotesk;
+ font-size: 10px;
+ font-weight: 500;
+ line-height: 25px;
+ letter-spacing: 0em;
+
+ font-variation-settings: "opsz" auto;
+ font-feature-settings: "kern" on;
+ color: #ffffff;
+
+ z-index: 0;
+ }
+ }
+ }
+ }
+ }
+
+ /* picker */
+ .adm-picker-popup {
+ .adm-picker-header {
+ border-bottom: 1px solid #404040;
+ .adm-picker-header-title {
+ opacity: 1;
+
+ font-family: Space Grotesk;
+ font-size: 17px;
+ font-weight: bold;
+ line-height: 24px;
+ letter-spacing: 0px;
+
+ font-variation-settings: "opsz" auto;
+ font-feature-settings: "kern" on;
+ color: #ffffff;
+ }
+ .adm-picker-header-button {
+ opacity: 1;
+
+ font-family: Space Grotesk;
+ font-size: 17px;
+ font-weight: 500;
+ line-height: 24px;
+ letter-spacing: 0px;
+
+ font-variation-settings: "opsz" auto;
+ font-feature-settings: "kern" on;
+ color: #1890ff;
+ }
+ }
+ .adm-popup-body {
+ background-color: #000000;
+ .adm-picker {
+ /* height: 280px; */
+ .adm-picker-body {
+ .adm-picker-view {
+ background-color: #000000;
+ .adm-picker-view-column {
+ .adm-picker-view-column-wheel {
+ .adm-picker-view-column-item {
+ /* height: 34px; */
+ .adm-picker-view-column-item-label {
+ /* font-family: Space Grotesk;
+ font-size: 16px;
+ font-weight: 500;
+ line-height: 34px;
+ text-align: center;
+ letter-spacing: 0px;
+
+ font-variation-settings: "opsz" auto; */
+ color: #ffffff;
+ }
+ }
+ }
+ }
+ .adm-picker-view-mask {
+ .adm-picker-view-mask-top,
+ .adm-picker-view-mask-bottom {
+ background-color: #000000;
+ }
+ .adm-picker-view-mask-middle {
+ /* height: 34px; */
+ border-top: 1px solid #404040;
+ border-bottom: 1px solid #404040;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /* toast */
+ .adm-toast-main {
+ min-width: 170px !important;
+ min-height: 40px !important;
+ max-width: 320px !important;
+ max-height: max-content !important;
+ border-radius: 10px !important;
+ opacity: 1;
+
+ /* 自动布局 */
+ padding: 11px 20px !important;
+
+ /* background: rgba(252, 135, 43, 0.5) !important; */
+
+ box-sizing: border-box !important;
+ border: 1px solid #ea6d28 !important;
+
+ /* backdrop-filter: blur(10px); */
+
+ .adm-auto-center-content {
+ /* 自动布局子元素 */
opacity: 1;
+ font-family: Space Grotesk;
+ font-size: 14px;
+ font-weight: 500;
+ line-height: normal;
+ letter-spacing: 0px;
+
+ font-variation-settings: "opsz" auto;
+ color: #ffffff;
+
+ z-index: 0;
+ }
+ }
+
+ .adm-popover-menu {
+ .adm-popover-arrow {
+ color: rgba(42, 42, 42, 0.6) !important;
+ }
+ .adm-popover-inner {
+ background: rgba(42, 42, 42, 0.6);
+
+ box-sizing: border-box;
+ border-image: radial-gradient(
+ 103% 103% at 50% 50%,
+ #a41914 0%,
+ rgba(164, 25, 20, 0) 100%
+ );
+
+ backdrop-filter: blur(10px);
+
+ .adm-popover-menu-item {
+ padding: 0 10px;
+ background-color: transparent !important;
+ &::after {
+ display: none !important;
+ }
+
+ .adm-popover-menu-item-text {
+ /* 自动布局子元素 */
+ opacity: 1;
+
+ font-family: Space Grotesk;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: normal;
+ text-transform: capitalize;
+ letter-spacing: 0em;
+
+ color: #ffffff;
+
+ z-index: 0;
+ padding: 10px 0;
+ border-top: 1px solid #3d3d3d;
+ }
+ }
+ }
+ }
+
+ /* adm-stepper */
+ .adm-stepper {
+ width: calc(100%) !important;
+ height: 42px;
+ border-radius: 5px !important;
+ opacity: 1;
+ background: rgba(204, 184, 214, 0.2);
+ box-sizing: border-box !important;
+ border: 1px solid #ea6d28 !important;
+ .adm-button {
+ width: 42px;
+ height: 42px;
+ border-radius: 5px;
+ opacity: 1;
+
+ background: #ea6d28;
+
+ svg {
+ width: 23px;
+ height: 23px;
+ }
+ }
+
+ .adm-stepper-middle {
+ .adm-stepper-input {
+ height: 44px;
+ background-color: transparent;
+
+ .adm-input-element {
+ opacity: 1;
+
+ font-family: Space Grotesk;
+ font-size: 22px;
+ font-weight: bold;
+ line-height: normal;
+ letter-spacing: 0em;
+
+ font-variation-settings: "opsz" auto;
+ font-feature-settings: "kern" on;
+ color: #000000;
+ }
+ }
+ }
+ }
+
+ .adm-dialog {
+ .adm-center-popup-body {
+ box-sizing: border-box !important;
+ border: 1px solid #ea6d28 !important;
+ border-radius: 10px !important;
+ background-color: transparent !important;
+ backdrop-filter: blur(10px);
+ .adm-dialog-content {
+ .adm-auto-center-content {
+ opacity: 1;
+
+ font-family: Space Grotesk;
+ font-size: 14px;
+ font-weight: 500;
+ line-height: normal;
+ letter-spacing: 0px;
+
+ font-variation-settings: "opsz" auto;
+ color: #ffffff;
+
+ z-index: 0;
+ }
+ }
+
+ .adm-dialog-footer {
+ .adm-dialog-action-row {
+ border-top: 1px solid #ea6d28 !important;
+
+ .adm-dialog-button {
+ span {
+ color: #ea6d28;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /* adm-pull-to-refresh */
+ .adm-pull-to-refresh {
+ .adm-pull-to-refresh-head-content {
+ /* 自动布局子元素 */
font-family: Space Grotesk;
font-size: 14px;
font-weight: 500;
@@ -17,343 +353,9 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #666666;
- padding-bottom: 4px;
- &.adm-tabs-tab-active {
- color: #ffffff;
- }
- }
- }
- .adm-tabs-content {
- padding: 0;
- }
-}
+ color: #9e9e9e;
-.adm-capsule-tabs {
- .adm-capsule-tabs-header {
- padding: 0px 15px;
- border-bottom: none;
- margin-top: 20px;
-
- .adm-scroll-mask {
- opacity: 0 !important;
- }
-
- .adm-capsule-tabs-tab-list {
- gap: 8px;
- .adm-capsule-tabs-tab-wrapper {
- padding: 0;
-
- .adm-capsule-tabs-tab {
- /* 自动布局子元素 */
- height: 25px;
- border-radius: 8px;
- opacity: 1;
-
- box-sizing: border-box;
- border: 1px solid #2dfcfc;
-
- z-index: 1;
- background-color: transparent;
-
- /* 自动布局子元素 */
- opacity: 1;
-
- font-family: Space Grotesk;
- font-size: 10px;
- font-weight: 500;
- line-height: 25px;
- letter-spacing: 0em;
-
- font-variation-settings: "opsz" auto;
- font-feature-settings: "kern" on;
- color: #ffffff;
-
- z-index: 0;
-
- padding: 0 14px;
- }
-
- .adm-capsule-tabs-tab-active {
- /* 自动布局子元素 */
- height: 25px;
- border-radius: 8px;
- opacity: 1;
-
- background: #2dfcfc;
-
- z-index: 0;
-
- /* 自动布局子元素 */
- opacity: 1;
-
- font-family: Space Grotesk;
- font-size: 10px;
- font-weight: 500;
- line-height: 25px;
- letter-spacing: 0em;
-
- font-variation-settings: "opsz" auto;
- font-feature-settings: "kern" on;
- color: #ffffff;
-
- z-index: 0;
- }
- }
+ z-index: 0;
}
}
}
-
-/* picker */
-.adm-picker-popup {
- .adm-picker-header {
- border-bottom: 1px solid #404040;
- .adm-picker-header-title {
- opacity: 1;
-
- font-family: Space Grotesk;
- font-size: 17px;
- font-weight: bold;
- line-height: 24px;
- letter-spacing: 0px;
-
- font-variation-settings: "opsz" auto;
- font-feature-settings: "kern" on;
- color: #ffffff;
- }
- .adm-picker-header-button {
- opacity: 1;
-
- font-family: Space Grotesk;
- font-size: 17px;
- font-weight: 500;
- line-height: 24px;
- letter-spacing: 0px;
-
- font-variation-settings: "opsz" auto;
- font-feature-settings: "kern" on;
- color: #1890ff;
- }
- }
- .adm-popup-body {
- background-color: #000000;
- .adm-picker {
- /* height: 280px; */
- .adm-picker-body {
- .adm-picker-view {
- background-color: #000000;
- .adm-picker-view-column {
- .adm-picker-view-column-wheel {
- .adm-picker-view-column-item {
- /* height: 34px; */
- .adm-picker-view-column-item-label {
- /* font-family: Space Grotesk;
- font-size: 16px;
- font-weight: 500;
- line-height: 34px;
- text-align: center;
- letter-spacing: 0px;
-
- font-variation-settings: "opsz" auto; */
- color: #ffffff;
- }
- }
- }
- }
- .adm-picker-view-mask {
- .adm-picker-view-mask-top,
- .adm-picker-view-mask-bottom {
- background-color: #000000;
- }
- .adm-picker-view-mask-middle {
- /* height: 34px; */
- border-top: 1px solid #404040;
- border-bottom: 1px solid #404040;
- }
- }
- }
- }
- }
- }
-}
-
-/* toast */
-.adm-toast-main {
- min-width: 170px !important;
- min-height: 40px !important;
- max-width: 320px !important;
- max-height: max-content !important;
- border-radius: 10px !important;
- opacity: 1;
-
- /* 自动布局 */
- padding: 11px 20px !important;
-
- /* background: rgba(252, 135, 43, 0.5) !important; */
-
- box-sizing: border-box !important;
- border: 1px solid #2dfcfc !important;
-
- /* backdrop-filter: blur(10px); */
-
- .adm-auto-center-content {
- /* 自动布局子元素 */
- opacity: 1;
-
- font-family: Space Grotesk;
- font-size: 14px;
- font-weight: 500;
- line-height: normal;
- letter-spacing: 0px;
-
- font-variation-settings: "opsz" auto;
- color: #ffffff;
-
- z-index: 0;
- }
-}
-
-.adm-popover-menu {
- .adm-popover-arrow {
- color: rgba(42, 42, 42, 0.6) !important;
- }
- .adm-popover-inner {
- background: rgba(42, 42, 42, 0.6);
-
- box-sizing: border-box;
- border-image: radial-gradient(
- 103% 103% at 50% 50%,
- #a41914 0%,
- rgba(164, 25, 20, 0) 100%
- );
-
- backdrop-filter: blur(10px);
-
- .adm-popover-menu-item {
- padding: 0 10px;
- background-color: transparent !important;
- &::after {
- display: none !important;
- }
-
- .adm-popover-menu-item-text {
- /* 自动布局子元素 */
- opacity: 1;
-
- font-family: Space Grotesk;
- font-size: 14px;
- font-weight: normal;
- line-height: normal;
- text-transform: capitalize;
- letter-spacing: 0em;
-
- color: #ffffff;
-
- z-index: 0;
- padding: 10px 0;
- border-top: 1px solid #3d3d3d;
- }
- }
- }
-}
-
-/* adm-stepper */
-.adm-stepper {
- width: calc(100%) !important;
- height: 42px;
- border-radius: 5px !important;
- opacity: 1;
- background: rgba(37, 33, 39, 0.2);
- box-sizing: border-box !important;
- border: 1px solid #2dfcfc !important;
- .adm-button {
- width: 42px;
- height: 42px;
- border-radius: 5px;
- opacity: 1;
-
- background: #2dfcfc;
-
- svg {
- width: 23px;
- height: 23px;
- }
- }
-
- .adm-stepper-middle {
- .adm-stepper-input {
- height: 44px;
- background-color: transparent;
-
- .adm-input-element {
- opacity: 1;
-
- font-family: Space Grotesk;
- font-size: 22px;
- font-weight: bold;
- line-height: normal;
- letter-spacing: 0em;
-
- font-variation-settings: "opsz" auto;
- font-feature-settings: "kern" on;
- color: #ffffff;
- }
- }
- }
-}
-
-.adm-dialog {
- .adm-center-popup-body {
- box-sizing: border-box !important;
- border: 1px solid #2dfcfc !important;
- border-radius: 10px !important;
- background-color: transparent !important;
- backdrop-filter: blur(10px);
- .adm-dialog-content {
- .adm-auto-center-content {
- opacity: 1;
-
- font-family: Space Grotesk;
- font-size: 14px;
- font-weight: 500;
- line-height: normal;
- letter-spacing: 0px;
-
- font-variation-settings: "opsz" auto;
- color: #ffffff;
-
- z-index: 0;
- }
- }
-
- .adm-dialog-footer {
- .adm-dialog-action-row {
- border-top: 1px solid #2dfcfc !important;
-
- .adm-dialog-button {
- span {
- color: #2dfcfc;
- }
- }
- }
- }
- }
-}
-
-/* adm-pull-to-refresh */
-.adm-pull-to-refresh {
- .adm-pull-to-refresh-head-content {
- /* 自动布局子元素 */
- font-family: Space Grotesk;
- font-size: 14px;
- font-weight: 500;
- line-height: normal;
- letter-spacing: 0em;
-
- font-variation-settings: "opsz" auto;
- font-feature-settings: "kern" on;
- color: #9e9e9e;
-
- z-index: 0;
- }
-}
diff --git a/src/style/react-data-table-component-cover-m.css b/src/style/react-data-table-component-cover-m.css
index c3281b5..1b7216b 100644
--- a/src/style/react-data-table-component-cover-m.css
+++ b/src/style/react-data-table-component-cover-m.css
@@ -11,6 +11,7 @@
height: 16px !important;
min-height: 16px !important;
background-color: transparent !important;
+ border-bottom: none;
.rdt_TableCol {
div {
@@ -24,7 +25,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #eaeaea;
+ color: #333333;
}
}
}
@@ -37,6 +38,8 @@
height: 18px !important;
min-height: 18px !important;
background-color: transparent !important;
+ border-bottom: none;
+
.rdt_TableCell {
div {
opacity: 1;
@@ -49,7 +52,7 @@
font-variation-settings: "opsz" auto;
font-feature-settings: "kern" on;
- color: #ffffff;
+ color: #000000;
}
}
}
diff --git a/src/utils/index.ts b/src/utils/index.ts
index 78e7c54..f50befd 100644
--- a/src/utils/index.ts
+++ b/src/utils/index.ts
@@ -1,7 +1,7 @@
/*
* @LastEditors: John
* @Date: 2024-06-17 18:19:27
- * @LastEditTime: 2024-06-28 15:32:57
+ * @LastEditTime: 2024-07-01 16:49:14
* @Author: John
*/
import { type ClassValue, clsx } from "clsx";
@@ -121,3 +121,14 @@ export function filterAmountBeforeZero(arr: bigint[]) {
}
return result;
}
+
+export function getUrlParameterByName(name: string, url?: string) {
+ if (!url) url = window.location.href;
+ name = name.replace(/[\[\]]/g, "\\$&");
+ let regex = new RegExp("[?&]" + name + "(=([^]*)|&|#|$)"),
+ results = regex.exec(url);
+ if (!results) return null;
+ if (!results[2]) return "";
+ console.log("url params:", results);
+ return decodeURIComponent(results[2].replace(/\+/g, " "));
+}
diff --git a/src/utils/wallet.ts b/src/utils/wallet.ts
index 91807a5..64443a9 100644
--- a/src/utils/wallet.ts
+++ b/src/utils/wallet.ts
@@ -1,16 +1,14 @@
/*
* @LastEditors: John
* @Date: 2024-06-19 15:55:07
- * @LastEditTime: 2024-06-27 15:09:45
+ * @LastEditTime: 2024-07-01 16:44:04
* @Author: John
*/
import { config } from "@/components/WalletProvider";
import {
- api_binding_invitation_relationship,
api_check_account_registration,
api_get_wallet_signature_string,
api_login,
- api_query_whether_the_user_is_binding_relationship,
api_signUp,
} from "@/server/api";
import useUserStore from "@/store/User";
@@ -24,7 +22,7 @@ import {
} from "@wagmi/core";
import Toast from "antd-mobile/es/components/toast";
import i18next from "i18next";
-import { getUrlQueryParam } from ".";
+import { getUrlParameterByName } from ".";
import { UrlQueryParamsKey } from "@/constants";
/**
@@ -130,7 +128,8 @@ export async function signAndLogin(address?: `0x${string}`): Promise {
loadingToast.close();
}
} else {
- const inviteCode = getUrlQueryParam(UrlQueryParamsKey.INVITE_CODE);
+ const inviteCode = getUrlParameterByName(UrlQueryParamsKey.INVITE_CODE);
+ console.log("inviteCode:", inviteCode);
if (!inviteCode) {
Toast.show({
icon: "fail",
@@ -139,7 +138,7 @@ export async function signAndLogin(address?: `0x${string}`): Promise {
return loginOut();
}
// 注册
- await api_signUp().send({
+ const { data } = await api_signUp().send({
data: {
account: address,
publicKey,
@@ -147,7 +146,11 @@ export async function signAndLogin(address?: `0x${string}`): Promise {
chainType: 2,
},
});
- await signAndLogin(address);
+ if (data?.code == 0) {
+ await signAndLogin(address);
+ } else {
+ return loginOut();
+ }
reslove();
loadingToast.close();
}