From 03764dac0ec500068376372ce4d85b1bc412bcd4 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Wed, 4 Sep 2024 18:22:05 +0800 Subject: [PATCH] feat: use claim check api --- src/hono.ts | 11 +++++ .../my-wallet-section/claim-daily-reward.tsx | 41 ++++--------------- .../tabs/wallet/my-wallet-section/index.tsx | 2 +- .../wallet/my-wallet-section/withdraw.tsx | 2 +- src/renderer/src/queries/wallet.ts | 12 +++--- 5 files changed, 26 insertions(+), 42 deletions(-) diff --git a/src/hono.ts b/src/hono.ts index 759be7ff9..612f5a22c 100644 --- a/src/hono.ts +++ b/src/hono.ts @@ -2675,6 +2675,17 @@ declare const _routes: hono_hono_base.HonoBase { const mutation = useClaimWalletDailyRewardMutation() - const ttl = useClaimWalletDailyRewardTtl() - - const [ttlState, setTtlState] = useState(ttl.data?.data.ttl ?? 0) - - const hour = Math.floor(ttlState / 3600) - .toString() - .padStart(2, "0") - const minute = Math.floor((ttlState % 3600) / 60) - .toString() - .padStart(2, "0") - - const canClaim = ttlState <= 0 - - // refresh ttl every second - useEffect(() => { - const timer = setInterval(() => { - setTtlState((prev) => (prev > 0 ? prev - 1 : 0)) - }, 1000) - - return () => clearInterval(timer) - }, []) - - // update ttl when ttl changes - useEffect(() => { - if (ttl.data?.data.ttl) { - setTtlState(ttl.data.data.ttl) - } - }, [ttl.data?.data.ttl]) + const check = useClaimCheck() + const canClaim = check.data?.data return ( @@ -49,14 +22,14 @@ export const ClaimDailyReward = () => { disabled={!canClaim} > {canClaim ? - "Mint Daily Power" : - `Mint in ${hour}:${minute}`} + "Claim Daily Power" : + "Claimed today"} {canClaim ? - "Mint your 2 Daily Power now!" : - `You can mint your Daily Power in ${hour}:${minute}.`} + "Claim your 2 Daily Power now!" : + `You have already claimed today.`} ) diff --git a/src/renderer/src/modules/settings/tabs/wallet/my-wallet-section/index.tsx b/src/renderer/src/modules/settings/tabs/wallet/my-wallet-section/index.tsx index cd0a01c7b..4b718a234 100644 --- a/src/renderer/src/modules/settings/tabs/wallet/my-wallet-section/index.tsx +++ b/src/renderer/src/modules/settings/tabs/wallet/my-wallet-section/index.tsx @@ -73,7 +73,7 @@ export const MyWalletSection = () => {

1. Daily Power can only be used for tipping others.

-

2. You mint Daily Power for free once every 24 hours.

+

2. You can claim 2 free Daily Power daily.

diff --git a/src/renderer/src/modules/settings/tabs/wallet/my-wallet-section/withdraw.tsx b/src/renderer/src/modules/settings/tabs/wallet/my-wallet-section/withdraw.tsx index aad57ed08..f6779cd7d 100644 --- a/src/renderer/src/modules/settings/tabs/wallet/my-wallet-section/withdraw.tsx +++ b/src/renderer/src/modules/settings/tabs/wallet/my-wallet-section/withdraw.tsx @@ -13,7 +13,7 @@ export const WithdrawButton = () => ( - Comming soon + Comming soon... ) diff --git a/src/renderer/src/queries/wallet.ts b/src/renderer/src/queries/wallet.ts index 9793ab955..fac8360e8 100644 --- a/src/renderer/src/queries/wallet.ts +++ b/src/renderer/src/queries/wallet.ts @@ -20,9 +20,9 @@ export const wallet = { }, ), - claimDailyRewardTtl: () => - defineQuery(["wallet", "claimDailyRewardTtl"], async () => - apiClient.wallets.transactions.claim_daily_ttl.$get()), + claimCheck: () => + defineQuery(["wallet", "claimCheck"], async () => + apiClient.wallets.transactions["claim-check"].$get()), transactions: { get: ( @@ -64,8 +64,8 @@ export const useCreateWalletMutation = () => }, }) -export const useClaimWalletDailyRewardTtl = () => - useAuthQuery(wallet.claimDailyRewardTtl(), { refetchInterval: 5000 }) +export const useClaimCheck = () => + useAuthQuery(wallet.claimCheck()) export const useClaimWalletDailyRewardMutation = () => useMutation({ @@ -76,7 +76,7 @@ export const useClaimWalletDailyRewardMutation = () => }, onSuccess() { wallet.get().invalidate() - wallet.claimDailyRewardTtl().invalidate() + wallet.claimCheck().invalidate() window.posthog?.capture("daily_reward_claimed") toast("🎉 Daily reward claimed.") },