From f519b8e273590542b79e7d569fc3b21ddd89a93a Mon Sep 17 00:00:00 2001 From: apporc Date: Wed, 9 Oct 2024 10:39:20 +0800 Subject: [PATCH 01/12] account staked page --- .../account/[name]/staked/+page.svelte | 47 +++++++++++++------ 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/src/routes/[network]/(explorer)/account/[name]/staked/+page.svelte b/src/routes/[network]/(explorer)/account/[name]/staked/+page.svelte index 00f99d72..19ff73dc 100644 --- a/src/routes/[network]/(explorer)/account/[name]/staked/+page.svelte +++ b/src/routes/[network]/(explorer)/account/[name]/staked/+page.svelte @@ -1,21 +1,38 @@ -{#if data.account} -
-

Staked

-

Account Value

- {JSON.stringify(data.account.value, null, 2)} -

System Token Balance

- {JSON.stringify(data.account.balance, null, 2)} -

Token Price

- {#if data.account.network} - {JSON.stringify(data.account.network.tokenprice, null, 2)} - {/if} -

REX State

- {JSON.stringify(data.account.network.rexstate, null, 2)} -
-{/if} +
+

Staked

+ {staked} +

USD

+ {usdValue} +

REX State

+ {JSON.stringify(data.account.network.rexstate, null, 2)} +
From b9b66e513892317b49bb56ebc13000c40035abc6 Mon Sep 17 00:00:00 2001 From: apporc Date: Thu, 7 Nov 2024 11:03:36 +0800 Subject: [PATCH 02/12] Staking: change ui --- src/lib/components/elements/tokencard.svelte | 21 +++ src/lib/components/layout/box/card.svelte | 4 +- .../(staking)/staking/+layout.svelte | 46 ++++--- .../(account)/(staking)/staking/+page.svelte | 86 ++++++++---- .../(staking)/staking/stake/+page.svelte | 128 +++++++++--------- .../(staking)/staking/stake/manager.svelte.ts | 25 +++- .../staking/stakingcalculator.svelte | 79 +++++++++++ .../(staking)/staking/unstake/+page.svelte | 125 ++++++++--------- .../staking/unstake/manager.svelte.ts | 30 +++- .../account/[name]/staked/+page.svelte | 2 +- 10 files changed, 361 insertions(+), 185 deletions(-) create mode 100644 src/lib/components/elements/tokencard.svelte create mode 100644 src/routes/[network]/(account)/(staking)/staking/stakingcalculator.svelte diff --git a/src/lib/components/elements/tokencard.svelte b/src/lib/components/elements/tokencard.svelte new file mode 100644 index 00000000..da480d07 --- /dev/null +++ b/src/lib/components/elements/tokencard.svelte @@ -0,0 +1,21 @@ + + +
+
+ token icon +
+
{title}
+
+
{token?.asset}
+

{description}

+
+
diff --git a/src/lib/components/layout/box/card.svelte b/src/lib/components/layout/box/card.svelte index af3288bb..3f43f2a3 100644 --- a/src/lib/components/layout/box/card.svelte +++ b/src/lib/components/layout/box/card.svelte @@ -12,7 +12,7 @@ const { class: className = '', title = '', - titleTag = 'h3', + titleTag = 'h4', children, ...props }: Props = $props(); @@ -20,7 +20,7 @@
{#if title} - + {title} {/if} diff --git a/src/routes/[network]/(account)/(staking)/staking/+layout.svelte b/src/routes/[network]/(account)/(staking)/staking/+layout.svelte index 8348975c..4a9d095e 100644 --- a/src/routes/[network]/(account)/(staking)/staking/+layout.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/+layout.svelte @@ -1,33 +1,35 @@ - - - - + + -{@render children()} + {@render children()} + diff --git a/src/routes/[network]/(account)/(staking)/staking/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/+page.svelte index 73082d40..eb02afd3 100644 --- a/src/routes/[network]/(account)/(staking)/staking/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/+page.svelte @@ -7,8 +7,15 @@ import { getContext } from 'svelte'; import type { UnstakingRecord } from './utils'; - import { getStakedBalance, getUnstakingBalances, getAPY } from './utils'; + import { + getClaimableBalance, + getWithdrawableBalance, + getStakedBalance, + getUnstakingBalances, + getAPY + } from './utils'; import UnstakingBalances from './unstaking.svelte'; + import StakingCalculator from './stakingcalculator.svelte'; const context = getContext('state'); const { data } = $props(); @@ -18,29 +25,41 @@ let unstaking: Array = $derived( getUnstakingBalances(data.network, context.account) ); + let claimable: Asset = $derived(getClaimableBalance(data.network, context.account, unstaking)); + let withdrawable: Asset = $derived(getWithdrawableBalance(data.network, context.account)); + let totalWithdraw: Asset = $derived( + Asset.fromUnits( + claimable.units.adding(withdrawable.units), + data.network.chain.systemToken!.symbol + ) + ); + let apy = $derived(getAPY(data.network)); let usdValue = $derived( Asset.from( staked.value * (data.network.tokenprice ? data.network.tokenprice.value : 0), - '4,USD' + '2,USD' ) ); - - - - -

- Staked Balance - {apy}% APY -

-

- -

-

- $ -

-
+ + + + + +

Currently Staked

+

+ +

+
+ +

USD Value

+

+ $ +

+
+
- -
- - -

Staking yield history

-

0.0 EOS

-
-
-
+ + + +

Currently Withdrawable

+

+ +

+
+ +
+ + + + + +

+ Unstaking balances will still accrue rewards until they are claimed. However, any + operation you do (staking more for instance) will automatically claim your fully unstaked + positions. +

+
+
+
+ diff --git a/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte index 30f0b996..97ca6f0f 100644 --- a/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte @@ -1,7 +1,9 @@ + + + + +

APY

+

+ {apy}% +

+
+ +

Staked EOS

+ +
+ +
+ + + + {#each records as record} + + + + + + {/each} + +
{record.time}
+
diff --git a/src/routes/[network]/(account)/(staking)/staking/unstake/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/unstake/+page.svelte index 823058b7..cd7bfe24 100644 --- a/src/routes/[network]/(account)/(staking)/staking/unstake/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/unstake/+page.svelte @@ -1,7 +1,8 @@ From b8ba6d0d47be91423f86bcb1bbb4eaef255339d1 Mon Sep 17 00:00:00 2001 From: apporc Date: Thu, 7 Nov 2024 11:08:33 +0800 Subject: [PATCH 03/12] Staking: use card background --- .../(staking)/staking/stake/+page.svelte | 109 +++++++++--------- .../(staking)/staking/unstake/+page.svelte | 106 ++++++++--------- .../(staking)/staking/withdraw/+page.svelte | 32 ++--- 3 files changed, 126 insertions(+), 121 deletions(-) diff --git a/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte index 97ca6f0f..14f86355 100644 --- a/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte @@ -1,6 +1,5 @@ -{#if manager.txid} - -{:else if manager.error} -
-

Transaction Error

-

There was an error submitting your transaction.

-
-{:else} - - + + + {#if manager.txid} + + {:else if manager.error} +

Transaction Error

+

There was an error submitting your transaction.

+ {:else} @@ -93,6 +91,6 @@ {/each} - -
-{/if} + {/if} +
+
diff --git a/src/routes/[network]/(account)/(staking)/staking/unstake/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/unstake/+page.svelte index ebd564e0..034c3121 100644 --- a/src/routes/[network]/(account)/(staking)/staking/unstake/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/unstake/+page.svelte @@ -27,16 +27,14 @@ }); -{#if manager.txid} - -{:else if manager.error} -
-

Transaction Error

-

There was an error submitting your transaction.

-
-{:else} - - + + + {#if manager.txid} + + {:else if manager.error} +

Transaction Error

+

There was an error submitting your transaction.

+ {:else} @@ -90,6 +88,6 @@ {/each} - -
-{/if} + {/if} +
+
diff --git a/src/routes/[network]/(account)/(staking)/staking/withdraw/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/withdraw/+page.svelte index 47292d9d..025b4d40 100644 --- a/src/routes/[network]/(account)/(staking)/staking/withdraw/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/withdraw/+page.svelte @@ -21,16 +21,14 @@ }); -{#if manager.txid} - -{:else if manager.error} -
-

Transaction Error

-

There was an error submitting your transaction.

-
-{:else} - - + + + {#if manager.txid} + + {:else if manager.error} +

Transaction Error

+

There was an error submitting your transaction.

+ {:else} Stake - Unstake
@@ -77,8 +81,10 @@

- Withdraw
diff --git a/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte index 2179ed4c..6db88977 100644 --- a/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte @@ -69,11 +69,8 @@ type="button">Available: - manager.transact()} variant="primary" + >Stake diff --git a/src/routes/[network]/(account)/(staking)/staking/unstake/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/unstake/+page.svelte index 034c3121..cf09f1cf 100644 --- a/src/routes/[network]/(account)/(staking)/staking/unstake/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/unstake/+page.svelte @@ -67,11 +67,8 @@ type="button">Available: - manager.transact()} variant="primary" + >Unstake diff --git a/src/routes/[network]/(account)/(staking)/staking/withdraw/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/withdraw/+page.svelte index 025b4d40..9b810a3d 100644 --- a/src/routes/[network]/(account)/(staking)/staking/withdraw/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/withdraw/+page.svelte @@ -31,11 +31,8 @@ {:else} - manager.transact()} variant="primary" + >Withdraw From 88694872620c638cb9acba0c9d1c5e37a15c5c4d Mon Sep 17 00:00:00 2001 From: apporc Date: Thu, 7 Nov 2024 11:53:18 +0800 Subject: [PATCH 06/12] Adjust calculator usd ui --- .../(account)/(staking)/staking/stakingcalculator.svelte | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/routes/[network]/(account)/(staking)/staking/stakingcalculator.svelte b/src/routes/[network]/(account)/(staking)/staking/stakingcalculator.svelte index 7efc3fb9..1f82284d 100644 --- a/src/routes/[network]/(account)/(staking)/staking/stakingcalculator.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/stakingcalculator.svelte @@ -31,17 +31,17 @@ { time: 'Daily', value: daily, - usd: Asset.from(daily.value * price, '2,USD') + usd: '$' + Asset.from(daily.value * price, '2,USD').value.toFixed(2) }, { time: 'Monthly', value: monthly, - usd: Asset.from(monthly.value * price, '2,USD') + usd: '$' + Asset.from(monthly.value * price, '2,USD').value.toFixed(2) }, { time: 'Yearly', value: yearly, - usd: Asset.from(yearly.value * price, '2,USD') + usd: '$' + Asset.from(yearly.value * price, '2,USD').value.toFixed(2) } ]; }); @@ -70,8 +70,7 @@ - + {/each} From f665219d6d1490f76370b034f7fbca6c7130c443 Mon Sep 17 00:00:00 2001 From: apporc Date: Thu, 7 Nov 2024 11:55:49 +0800 Subject: [PATCH 07/12] Fix lint --- .../[network]/(account)/(staking)/staking/+page.svelte | 6 +++++- .../(account)/(staking)/staking/stake/manager.svelte.ts | 2 +- .../(account)/(staking)/staking/stakingcalculator.svelte | 8 ++++---- .../(account)/(staking)/staking/unstake/manager.svelte.ts | 2 +- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/routes/[network]/(account)/(staking)/staking/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/+page.svelte index 5f1dc0fd..42b561d5 100644 --- a/src/routes/[network]/(account)/(staking)/staking/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/+page.svelte @@ -89,7 +89,11 @@ - +

diff --git a/src/routes/[network]/(account)/(staking)/staking/stake/manager.svelte.ts b/src/routes/[network]/(account)/(staking)/staking/stake/manager.svelte.ts index 9059c041..d5e33529 100644 --- a/src/routes/[network]/(account)/(staking)/staking/stake/manager.svelte.ts +++ b/src/routes/[network]/(account)/(staking)/staking/stake/manager.svelte.ts @@ -40,7 +40,7 @@ export class StakeManager { public tokenBalance: TokenBalance | undefined = $derived.by(() => { let balance: TokenBalance | undefined = undefined; if (this.network) { - let meta = (this.network.tokenmeta || []).find((item) => + const meta = (this.network.tokenmeta || []).find((item) => item.id.equals({ chain: this.network.chain.id, contract: this.network.contracts.token.account, diff --git a/src/routes/[network]/(account)/(staking)/staking/stakingcalculator.svelte b/src/routes/[network]/(account)/(staking)/staking/stakingcalculator.svelte index 1f82284d..438210b3 100644 --- a/src/routes/[network]/(account)/(staking)/staking/stakingcalculator.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/stakingcalculator.svelte @@ -18,14 +18,14 @@ const { apy, network, tokenprice, ...props }: Props = $props(); let assetValid: boolean = $state(true); - let assetValue: asset = $state(Asset.from(0, network.chain.systemToken!.symbol)); + let assetValue: Asset = $state(Asset.from(0, network.chain.systemToken!.symbol)); let a = $derived(Number(apy) / 100); let d = $derived(a / 365); let m = $derived(a / 12); let records = $derived.by(() => { - let daily = Asset.fromUnits(d * assetValue.units, assetValue.symbol); - let monthly = Asset.fromUnits(m * assetValue.units, assetValue.symbol); - let yearly = Asset.fromUnits(a * assetValue.units, assetValue.symbol); + let daily = Asset.fromUnits(assetValue.units.multiplying(d), assetValue.symbol); + let monthly = Asset.fromUnits(assetValue.units.multiplying(m), assetValue.symbol); + let yearly = Asset.fromUnits(assetValue.units.multiplying(a), assetValue.symbol); let price = tokenprice ? tokenprice.value : 0; return [ { diff --git a/src/routes/[network]/(account)/(staking)/staking/unstake/manager.svelte.ts b/src/routes/[network]/(account)/(staking)/staking/unstake/manager.svelte.ts index efd9830f..f8a3a019 100644 --- a/src/routes/[network]/(account)/(staking)/staking/unstake/manager.svelte.ts +++ b/src/routes/[network]/(account)/(staking)/staking/unstake/manager.svelte.ts @@ -42,7 +42,7 @@ export class UnstakeManager { public tokenBalance: TokenBalance | undefined = $derived.by(() => { let balance: TokenBalance | undefined = undefined; if (this.network) { - let meta = (this.network.tokenmeta || []).find((item) => + const meta = (this.network.tokenmeta || []).find((item) => item.id.equals({ chain: this.network.chain.id, contract: this.network.contracts.token.account, From 66664ab917eef016a7ca99f305e099cd382b5485 Mon Sep 17 00:00:00 2001 From: apporc Date: Thu, 7 Nov 2024 13:00:15 +0800 Subject: [PATCH 08/12] Add more description --- .../[network]/(account)/(staking)/staking/+page.svelte | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/routes/[network]/(account)/(staking)/staking/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/+page.svelte index 42b561d5..422d5ad6 100644 --- a/src/routes/[network]/(account)/(staking)/staking/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/+page.svelte @@ -96,6 +96,12 @@ /> +

+ The APY is an estimate, and may fluctuate based on how many and much others are staking. + Your 21 day lockup period starts when you unstake your EOS. +

+

You will never get back less EOS.

+

Unstaking balances will still accrue rewards until they are claimed. However, any operation you do (staking more for instance) will automatically claim your fully unstaked From 024cfc519c0f21f2e1ec30f03d5886f4d3cea989 Mon Sep 17 00:00:00 2001 From: apporc Date: Thu, 7 Nov 2024 13:15:08 +0800 Subject: [PATCH 09/12] Move staking utils to lib --- .../(staking)/staking/utils.ts => lib/utils/staking.ts} | 0 src/routes/[network]/(account)/(staking)/staking/+page.svelte | 4 ++-- .../[network]/(account)/(staking)/staking/stake/+page.svelte | 2 +- .../(account)/(staking)/staking/stake/manager.svelte.ts | 2 +- .../(account)/(staking)/staking/unstake/manager.svelte.ts | 4 ++-- .../[network]/(account)/(staking)/staking/unstaking.svelte | 2 +- .../(account)/(staking)/staking/withdraw/manager.svelte.ts | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) rename src/{routes/[network]/(account)/(staking)/staking/utils.ts => lib/utils/staking.ts} (100%) diff --git a/src/routes/[network]/(account)/(staking)/staking/utils.ts b/src/lib/utils/staking.ts similarity index 100% rename from src/routes/[network]/(account)/(staking)/staking/utils.ts rename to src/lib/utils/staking.ts diff --git a/src/routes/[network]/(account)/(staking)/staking/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/+page.svelte index 422d5ad6..60e5948c 100644 --- a/src/routes/[network]/(account)/(staking)/staking/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/+page.svelte @@ -6,14 +6,14 @@ import { Asset } from '@wharfkit/antelope'; import { getContext } from 'svelte'; - import type { UnstakingRecord } from './utils'; + import type { UnstakingRecord } from '$lib/utils/staking'; import { getClaimableBalance, getWithdrawableBalance, getStakedBalance, getUnstakingBalances, getAPY - } from './utils'; + } from '$lib/utils/staking'; import UnstakingBalances from './unstaking.svelte'; import StakingCalculator from './stakingcalculator.svelte'; diff --git a/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte index 6db88977..8df0940f 100644 --- a/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/stake/+page.svelte @@ -16,7 +16,7 @@ let manager: StakeManager = $state(new StakeManager(data.network)); let hints = $derived([ - { caption: 'Minimum lockup', data: '21Days' }, + { caption: 'Minimum lockup', data: '21 Days' }, { caption: '~APY', data: manager.apy + '%' }, { caption: 'You will stake', data: manager.assetValue.toString() }, { caption: 'Estimated Yield(per year)', data: manager.estimateYield } diff --git a/src/routes/[network]/(account)/(staking)/staking/stake/manager.svelte.ts b/src/routes/[network]/(account)/(staking)/staking/stake/manager.svelte.ts index d5e33529..5c6606b5 100644 --- a/src/routes/[network]/(account)/(staking)/staking/stake/manager.svelte.ts +++ b/src/routes/[network]/(account)/(staking)/staking/stake/manager.svelte.ts @@ -6,7 +6,7 @@ import AssetInput from '$lib/components/input/asset.svelte'; import { TokenBalance } from '@wharfkit/common'; -import { defaultQuantity, getStakableBalance, getStakedBalance, getAPY } from '../utils'; +import { defaultQuantity, getStakableBalance, getStakedBalance, getAPY } from '$lib/utils/staking'; export class StakeManager { public input: AssetInput | undefined = $state(); diff --git a/src/routes/[network]/(account)/(staking)/staking/unstake/manager.svelte.ts b/src/routes/[network]/(account)/(staking)/staking/unstake/manager.svelte.ts index f8a3a019..6b4ae0cd 100644 --- a/src/routes/[network]/(account)/(staking)/staking/unstake/manager.svelte.ts +++ b/src/routes/[network]/(account)/(staking)/staking/unstake/manager.svelte.ts @@ -6,13 +6,13 @@ import AssetInput from '$lib/components/input/asset.svelte'; import { TokenBalance } from '@wharfkit/common'; -import type { UnstakingRecord } from '../utils'; +import type { UnstakingRecord } from '$lib/utils/staking'; import { defaultQuantity, getUnstakableBalance, getUnstakingBalances, getStakedBalance -} from '../utils'; +} from '$lib/utils/staking'; export class UnstakeManager { public input: AssetInput | undefined = $state(); diff --git a/src/routes/[network]/(account)/(staking)/staking/unstaking.svelte b/src/routes/[network]/(account)/(staking)/staking/unstaking.svelte index 0d0330e4..e0edf62d 100644 --- a/src/routes/[network]/(account)/(staking)/staking/unstaking.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/unstaking.svelte @@ -5,7 +5,7 @@ import AssetText from '$lib/components/elements/asset.svelte'; import { Card } from '$lib/components/layout'; import Button from '$lib/components/button/button.svelte'; - import type { UnstakingRecord } from './utils'; + import type { UnstakingRecord } from '$lib/utils/staking'; interface Props extends HTMLAttributes { href?: string; diff --git a/src/routes/[network]/(account)/(staking)/staking/withdraw/manager.svelte.ts b/src/routes/[network]/(account)/(staking)/staking/withdraw/manager.svelte.ts index 62f2f204..8b3184d1 100644 --- a/src/routes/[network]/(account)/(staking)/staking/withdraw/manager.svelte.ts +++ b/src/routes/[network]/(account)/(staking)/staking/withdraw/manager.svelte.ts @@ -3,13 +3,13 @@ import type { AccountState } from '$lib/state/client/account.svelte'; import type { NetworkState } from '$lib/state/network.svelte'; import type { WharfState } from '$lib/state/client/wharf.svelte'; -import type { UnstakingRecord } from '../utils'; +import type { UnstakingRecord } from '$lib/utils/staking'; import { defaultQuantity, getUnstakingBalances, getClaimableBalance, getWithdrawableBalance -} from '../utils'; +} from '$lib/utils/staking'; export class WithdrawManager { public network: NetworkState | undefined = $state(); From 110ed9cf4ac51841e657a7c95f1dd9f77bac30a2 Mon Sep 17 00:00:00 2001 From: apporc Date: Thu, 7 Nov 2024 14:28:40 +0800 Subject: [PATCH 10/12] Basic implementation for account staked --- src/lib/components/elements/unstaking.svelte | 51 +++++++++++ .../(account)/(staking)/staking/+page.svelte | 2 +- .../(staking)/staking/unstaking.svelte | 49 ----------- .../(staking)/staking/withdraw/+page.svelte | 2 +- .../account/[name]/staked/+page.svelte | 86 +++++++++++++------ 5 files changed, 115 insertions(+), 75 deletions(-) create mode 100644 src/lib/components/elements/unstaking.svelte delete mode 100644 src/routes/[network]/(account)/(staking)/staking/unstaking.svelte diff --git a/src/lib/components/elements/unstaking.svelte b/src/lib/components/elements/unstaking.svelte new file mode 100644 index 00000000..67d9bebd --- /dev/null +++ b/src/lib/components/elements/unstaking.svelte @@ -0,0 +1,51 @@ + + + + + + +

{record.usd}
+ + + + + + + + {#each records as record} + {#if !record.savings} + + + + + {/if} + {/each} + +
AmountDate available
+ {record.date + ? record.date.toLocaleDateString(undefined, { + weekday: 'long', + year: 'numeric', + month: 'long', + day: 'numeric' + }) + : '--'} +
+ {#if href} + + {/if} + + diff --git a/src/routes/[network]/(account)/(staking)/staking/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/+page.svelte index 60e5948c..ee468246 100644 --- a/src/routes/[network]/(account)/(staking)/staking/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/+page.svelte @@ -14,7 +14,7 @@ getUnstakingBalances, getAPY } from '$lib/utils/staking'; - import UnstakingBalances from './unstaking.svelte'; + import UnstakingBalances from '$lib/components/elements/unstaking.svelte'; import StakingCalculator from './stakingcalculator.svelte'; const context = getContext('state'); diff --git a/src/routes/[network]/(account)/(staking)/staking/unstaking.svelte b/src/routes/[network]/(account)/(staking)/staking/unstaking.svelte deleted file mode 100644 index e0edf62d..00000000 --- a/src/routes/[network]/(account)/(staking)/staking/unstaking.svelte +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - {#each records as record} - {#if !record.savings} - - - - - {/if} - {/each} - -
AmountDate available
- {record.date - ? record.date.toLocaleDateString(undefined, { - weekday: 'long', - year: 'numeric', - month: 'long', - day: 'numeric' - }) - : '--'} -
- {#if href} - - {/if} -
diff --git a/src/routes/[network]/(account)/(staking)/staking/withdraw/+page.svelte b/src/routes/[network]/(account)/(staking)/staking/withdraw/+page.svelte index 9b810a3d..56005c9e 100644 --- a/src/routes/[network]/(account)/(staking)/staking/withdraw/+page.svelte +++ b/src/routes/[network]/(account)/(staking)/staking/withdraw/+page.svelte @@ -7,7 +7,7 @@ import type { UnicoveContext } from '$lib/state/client.svelte'; import { getContext } from 'svelte'; import { WithdrawManager } from './manager.svelte'; - import UnstakingBalances from '../unstaking.svelte'; + import UnstakingBalances from '$lib/components/elements/unstaking.svelte'; const context = getContext('state'); const { data } = $props(); diff --git a/src/routes/[network]/(explorer)/account/[name]/staked/+page.svelte b/src/routes/[network]/(explorer)/account/[name]/staked/+page.svelte index 066eb9c2..8da9d67c 100644 --- a/src/routes/[network]/(explorer)/account/[name]/staked/+page.svelte +++ b/src/routes/[network]/(explorer)/account/[name]/staked/+page.svelte @@ -1,25 +1,28 @@ -
-

Staked

- {staked} -

USD

- {usdValue} -

REX State

- {JSON.stringify(data.account.network.rexstate, null, 2)} -
+ + {#if data.account} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Total staked{staked}
Total value{usdValue}
APY{apy} %
Savings{data.network.tokenToRex(unstakable)}
Available for claim{data.network.tokenToRex(claimable)}
REX fund{withdrawable}
+
+ +
+
+ {:else} +

Loading staking details...

+ {/if} +
From 2b6e379f820c22a0c0f8c8e0d769674ea02dc12a Mon Sep 17 00:00:00 2001 From: apporc Date: Thu, 7 Nov 2024 14:36:22 +0800 Subject: [PATCH 11/12] Fix Unstaking balances title grow --- src/lib/components/elements/unstaking.svelte | 66 +++++++++---------- .../account/[name]/staked/+page.svelte | 2 +- 2 files changed, 33 insertions(+), 35 deletions(-) diff --git a/src/lib/components/elements/unstaking.svelte b/src/lib/components/elements/unstaking.svelte index 67d9bebd..5a8b5ef6 100644 --- a/src/lib/components/elements/unstaking.svelte +++ b/src/lib/components/elements/unstaking.svelte @@ -3,7 +3,7 @@ - - - - - - - - - - - {#each records as record} - {#if !record.savings} - - - - - {/if} - {/each} - -
AmountDate available
- {record.date - ? record.date.toLocaleDateString(undefined, { - weekday: 'long', - year: 'numeric', - month: 'long', - day: 'numeric' - }) - : '--'} -
- {#if href} - - {/if} -
+ + + + + + + + + + {#each records as record} + {#if !record.savings} + + + + + {/if} + {/each} + +
AmountDate available
+ {record.date + ? record.date.toLocaleDateString(undefined, { + weekday: 'long', + year: 'numeric', + month: 'long', + day: 'numeric' + }) + : '--'} +
+ {#if href} + + {/if}
diff --git a/src/routes/[network]/(explorer)/account/[name]/staked/+page.svelte b/src/routes/[network]/(explorer)/account/[name]/staked/+page.svelte index 8da9d67c..244bb313 100644 --- a/src/routes/[network]/(explorer)/account/[name]/staked/+page.svelte +++ b/src/routes/[network]/(explorer)/account/[name]/staked/+page.svelte @@ -1,5 +1,5 @@