diff --git a/package.json b/package.json
index 44c8115..28fcc7e 100644
--- a/package.json
+++ b/package.json
@@ -34,7 +34,7 @@
"react-minimal-pie-chart": "^8.4.0",
"react-toastify": "^9.1.3",
"viem": "2.0.6",
- "wagmi": "2.2.0"
+ "wagmi": "2.2.1"
},
"devDependencies": {
"@tanstack/eslint-plugin-query": "^5.17.7",
diff --git a/src/app/account/page.tsx b/src/app/account/page.tsx
index 41b9aea..ab724a3 100644
--- a/src/app/account/page.tsx
+++ b/src/app/account/page.tsx
@@ -1,14 +1,72 @@
'use client';
+import Image from 'next/image';
+import { SolidButton } from 'src/components/buttons/SolidButton';
import { Section } from 'src/components/layout/Section';
+import { Amount } from 'src/components/numbers/Amount';
+import { useBalance, useLockedBalance } from 'src/features/account/hooks';
+import { LockActionType } from 'src/features/locking/types';
+import { useStakingRewards } from 'src/features/staking/rewards/useStakingRewards';
+import { useStakingBalances } from 'src/features/staking/useStakingBalances';
+import { useTransactionModal } from 'src/features/transactions/TransactionModal';
+import { TxModalType } from 'src/features/transactions/types';
+import Lock from 'src/images/icons/lock.svg';
+import Unlock from 'src/images/icons/unlock.svg';
+import Withdraw from 'src/images/icons/withdraw.svg';
import { usePageInvariant } from 'src/utils/navigation';
import { useAccount } from 'wagmi';
export default function Page() {
const account = useAccount();
const address = account?.address;
-
usePageInvariant(!!address, '/', 'No account connected');
- return Dashboard
+ Total Balance
+
Stake your CELO with validators to start earning rewards immediately.
-Address | -Score | -Elected | -|||
---|---|---|---|---|---|
-
-
- |
- {fromWeiRounded(member.score, 22, 0) + '%'} | -- {member.status === ValidatorStatus.Elected ? 'Yes' : 'No'} - | + <> +
Address | +Score | +Elected |
---|
Address | +Percent | Value | + {((data.value / fromWei(group?.votes || 1)) * 100).toFixed(2) + '%'} + | {formatNumberString(data.value)} | ))} diff --git a/src/components/animation/Spinner.module.css b/src/components/animation/Spinner.module.css deleted file mode 100644 index 83ca1ab..0000000 --- a/src/components/animation/Spinner.module.css +++ /dev/null @@ -1,39 +0,0 @@ -.spinner { - display: inline-block; - position: relative; - width: 80px; - height: 80px; - opacity: 0.8; -} - -.spinner div { - box-sizing: border-box; - display: block; - position: absolute; - width: 64px; - height: 64px; - margin: 8px; - border: 8px solid #2e3338; - border-radius: 50%; - animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite; - border-color: #2e3338 transparent transparent transparent; -} - -.spinner div:nth-of-type(1) { - animation-delay: -0.45s; -} -.spinner div:nth-of-type(2) { - animation-delay: -0.3s; -} -.spinner div:nth-of-type(3) { - animation-delay: -0.15s; -} - -@keyframes lds-ring { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} diff --git a/src/components/animation/Spinner.tsx b/src/components/animation/Spinner.tsx index f6b9e89..01ee12d 100644 --- a/src/components/animation/Spinner.tsx +++ b/src/components/animation/Spinner.tsx @@ -1,16 +1,27 @@ -import { memo } from 'react'; -import styles from 'src/components/animation/Spinner.module.css'; +import clsx from 'clsx'; +import { PropsWithChildren } from 'react'; -// From https://loading.io/css/ -function _Spinner() { +type Size = 'xs' | 'sm' | 'md' | 'lg'; + +export function Spinner({ size, className }: { size: Size; className?: string }) { + return ; +} + +export function SpinnerWithLabel({ + children, + className, +}: PropsWithChildren<{ className?: string }>) { return ( -
---|