diff --git a/package.json b/package.json index d212060..3fc1ee6 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@metamask/providers": "10.2.1", "@rainbow-me/rainbowkit": "1.3.1", "@tanstack/react-query": "^5.13.4", + "@tanstack/react-table": "^8.10.7", "@vercel/analytics": "^1.1.1", "bignumber.js": "^9.1.2", "clsx": "^2.0.0", diff --git a/src/app/app.tsx b/src/app/app.tsx index d8bb107..7f21813 100644 --- a/src/app/app.tsx +++ b/src/app/app.tsx @@ -44,9 +44,7 @@ export function BodyLayout({ children }: PropsWithChildren) { return (
-
-
{children}
-
+
{children}
); diff --git a/src/app/staking/page.tsx b/src/app/staking/page.tsx new file mode 100644 index 0000000..4724e83 --- /dev/null +++ b/src/app/staking/page.tsx @@ -0,0 +1,49 @@ +import { SolidButton } from 'src/components/buttons/SolidButton'; +import { Card } from 'src/components/layout/Card'; +import { Section } from 'src/components/layout/Section'; + +export default function Index() { + return ( +
+ + +
+ ); +} + +function HeroSection() { + return ( +
+
+
+

Discover Validators

+

Stake your CELO with validators to start earning rewards immediately.

+ {`Stake and earn up to 6%`} +
+
+ + + + +
+
+
+ ); +} + +function HeroStat({ label, value }: { label: string; value: string }) { + return ( +
+ +
{value}
+
+ ); +} + +function ListSection() { + return ( +
+ TODO +
+ ); +} diff --git a/src/components/buttons/OutlineButton.tsx b/src/components/buttons/OutlineButton.tsx new file mode 100644 index 0000000..7822a18 --- /dev/null +++ b/src/components/buttons/OutlineButton.tsx @@ -0,0 +1,16 @@ +import { ButtonHTMLAttributes, PropsWithChildren } from 'react'; + +export function OutlineButton({ + children, + className, + ...props +}: PropsWithChildren>) { + return ( + + ); +} diff --git a/src/components/buttons/SolidButton.tsx b/src/components/buttons/SolidButton.tsx index 38528c4..884cce3 100644 --- a/src/components/buttons/SolidButton.tsx +++ b/src/components/buttons/SolidButton.tsx @@ -7,7 +7,7 @@ export function SolidButton({ }: PropsWithChildren>) { return ( + +
+ + +
+
+ + + +
+
+ + My Account + + Disconnect +
+ + ); +} + +function ValueRow({ label, value }: { label: string; value: string | number | bigint }) { + return ( +
+ + +
+ ); +} diff --git a/tailwind.config.js b/tailwind.config.js index 03bc54a..48b2b74 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -36,6 +36,10 @@ module.exports = { mono: ['Courier New', 'monospace'], }, extend: { + screens: { + 'all': '1px', + 'xs': '480px', + }, spacing: { 100: '26rem', 112: '28rem', diff --git a/yarn.lock b/yarn.lock index bcef8ed..02dc515 100644 --- a/yarn.lock +++ b/yarn.lock @@ -449,6 +449,7 @@ __metadata: "@metamask/providers": "npm:10.2.1" "@rainbow-me/rainbowkit": "npm:1.3.1" "@tanstack/react-query": "npm:^5.13.4" + "@tanstack/react-table": "npm:^8.10.7" "@types/jest": "npm:^29.5.11" "@types/node": "npm:^20.10.4" "@types/react": "npm:^18.2.45" @@ -1904,6 +1905,25 @@ __metadata: languageName: node linkType: hard +"@tanstack/react-table@npm:^8.10.7": + version: 8.10.7 + resolution: "@tanstack/react-table@npm:8.10.7" + dependencies: + "@tanstack/table-core": "npm:8.10.7" + peerDependencies: + react: ">=16" + react-dom: ">=16" + checksum: ed4eaa648854ce95264c66fd7cc0effafee35d4c34fc2d04b047be0bd48b70695e3e69b2798a4d8b4797de36bf3c0aa24973255d434d7fd4f95856760eb16031 + languageName: node + linkType: hard + +"@tanstack/table-core@npm:8.10.7": + version: 8.10.7 + resolution: "@tanstack/table-core@npm:8.10.7" + checksum: aa4150e03e4efe3d7a52485debbd7dc297e487a1ba0d1e1171ae84907cde8ea7e88794f812226542266ead8b7a2017c433323426eb50a1d5bc57a8b493fd5af2 + languageName: node + linkType: hard + "@tsconfig/node10@npm:^1.0.7": version: 1.0.9 resolution: "@tsconfig/node10@npm:1.0.9"