File tree Expand file tree Collapse file tree 9 files changed +179
-352
lines changed
Expand file tree Collapse file tree 9 files changed +179
-352
lines changed Original file line number Diff line number Diff line change @@ -8,17 +8,20 @@ ignore:
88 - .git
99 - .idea
1010 - .vscode
11- - dist
11+ - apps/*/node_modules
1212 - apps/mobile/.expo/*
13+ - apps/mobile/android
14+ - apps/mobile/artifacts
15+ - apps/mobile/ios
16+ - apps/web/{.react-router,build}
17+ - dist
18+ - node_modules
19+ - packages/**/.react-router
1320 - packages/*/.tsup
14- - packages/ui/ios
21+ - packages/*/node_modules
1522 - packages/ui/android
1623 - packages/ui/dist-native
1724 - packages/ui/dist-web
18- - node_modules
19- - packages/*/node_modules
20- - apps/*/node_modules
25+ - packages/ui/ios
26+ - packages/ui/storybook-static
2127 - storybook-static
22- - apps/mobile/ios
23- - apps/mobile/android
24- - apps/mobile/artifacts
Original file line number Diff line number Diff line change 1+ import type { AuthState } from '~/helpers/utils' ;
2+
3+ import { Button , type ButtonProps } from '@leather.io/ui' ;
4+
5+ const authStateCopyMap : Record < AuthState , string > = {
6+ 'no-extension' : 'Install' ,
7+ 'extension-pre-onboarding' : 'Sign up' ,
8+ 'extension-user' : 'Account' ,
9+ } ;
10+
11+ interface AuthButtonProps extends ButtonProps {
12+ state : AuthState ;
13+ }
14+ export function AuthButton ( props : AuthButtonProps ) {
15+ return (
16+ < Button variant = "outline" { ...props } >
17+ { authStateCopyMap [ props . state ] }
18+ </ Button >
19+ ) ;
20+ }
Original file line number Diff line number Diff line change 1+ import { type HTMLStyledProps , styled } from 'leather-styles/jsx' ;
2+
3+ export function HomeCard ( props : HTMLStyledProps < 'div' > ) {
4+ return < styled . div borderRadius = "md" p = "space.04" { ...props } /> ;
5+ }
6+
7+ export function HomeHeroCard ( props : HTMLStyledProps < 'div' > ) {
8+ return (
9+ < HomeCard background = "linear-gradient(261deg, #FFCAC7 28.46%, #FFC484 99.71%)" { ...props } />
10+ ) ;
11+ }
Original file line number Diff line number Diff line change @@ -3,18 +3,25 @@ import { leather } from '~/helpers/leather-sdk';
33
44import { Button } from '@leather.io/ui' ;
55
6+ import { HomeHeroCard } from './components/home-card' ;
7+
68interface HomeProps {
79 latestArticles : { name : string ; url : string } [ ] ;
810}
911export function Home ( { latestArticles } : HomeProps ) {
1012 return (
1113 < >
1214 < styled . div p = "space.04" >
13- < styled . h1 textStyle = "display.02" > Bitcoin for the rest of us</ styled . h1 >
14- < styled . h2 textStyle = "heading.05" >
15- Unlock yield opportunities without giving up control of your assets.
16- </ styled . h2 >
17- < styled . h2 textStyle = "heading.03" > Featured articles</ styled . h2 >
15+ < HomeHeroCard >
16+ < styled . h1 textStyle = "heading.03" > Earn rewards with BTC</ styled . h1 >
17+ < styled . p textStyle = "label.02" mt = "space.03" >
18+ Bridge BTC to sBTC to access DeFi, NFTs, and ~5% Bitcoin yield* while keeping full
19+ liquidity and self-custody. Transfers adjust rewards dynamically.
20+ </ styled . p >
21+ < styled . button textStyle = "label.02" mt = "space.03" >
22+ Get started →
23+ </ styled . button >
24+ </ HomeHeroCard >
1825 < ul >
1926 { latestArticles . map ( article => (
2027 < li key = { article . name } >
Original file line number Diff line number Diff line change 1+ import { isDefined } from '@leather.io/utils' ;
2+
13export function getUiPackageAssetUrl ( path : string ) {
24 if ( import . meta. env . MODE === 'development' ) {
35 return 'node_modules/@leather.io/ui/dist-web/assets/' + path ;
46 }
57 return 'assets/' + path ;
68}
9+
10+ export function isLeatherInstalled ( ) {
11+ return isDefined ( window . LeatherProvider ) ;
12+ }
13+
14+ export type AuthState = 'no-extension' | 'extension-pre-onboarding' | 'extension-user' ;
Original file line number Diff line number Diff line change 11import { styled } from 'leather-styles/jsx' ;
2+ import { AuthButton } from '~/components/auth-button' ;
23
34import { NavItem } from './nav-item.layout' ;
45
56export function Nav ( ) {
7+ const allNavItems = false ;
8+
69 return (
710 < styled . nav
811 display = "flex"
@@ -60,22 +63,27 @@ export function Nav() {
6063 </ NavItem >
6164 </ styled . div >
6265
63- < styled . div mt = "auto" mb = "space.09" >
64- < NavItem href = "/blog" icon = "newspaper" >
65- Blog
66- </ NavItem >
66+ { allNavItems && (
67+ < styled . div mt = "auto" mb = "space.09" >
68+ < NavItem href = "/blog" icon = "newspaper" >
69+ Blog
70+ </ NavItem >
6771
68- < NavItem href = "/guides" icon = "glasses" >
69- Guides
70- </ NavItem >
72+ < NavItem href = "/guides" icon = "glasses" >
73+ Guides
74+ </ NavItem >
7175
72- < NavItem href = "/dev-docs" icon = "terminal" >
73- Dev Docs
74- </ NavItem >
76+ < NavItem href = "/dev-docs" icon = "terminal" >
77+ Dev Docs
78+ </ NavItem >
7579
76- < NavItem href = "/support" icon = "support" >
77- Support
78- </ NavItem >
80+ < NavItem href = "/support" icon = "support" >
81+ Support
82+ </ NavItem >
83+ </ styled . div >
84+ ) }
85+ < styled . div mt = "auto" mb = "space.04" >
86+ < AuthButton state = "extension-pre-onboarding" mx = "space.04" />
7987 </ styled . div >
8088 </ styled . nav >
8189 ) ;
Original file line number Diff line number Diff line change @@ -3,16 +3,6 @@ import { expect, test } from '@playwright/test';
33test . describe ( 'Homepage' , ( ) => {
44 test ( 'has title' , async ( { page } ) => {
55 await page . goto ( '/' ) ;
6- await expect ( page . getByRole ( 'heading' , { name : 'Bitcoin for the rest of us' } ) ) . toBeVisible ( ) ;
7- } ) ;
8-
9- test ( 'get started link' , async ( { page } ) => {
10- await page . goto ( '/' ) ;
11-
12- // Click the get started link.
13- await page . getByRole ( 'link' , { name : 'Docs' } ) . click ( ) ;
14-
15- // Expects page to have a heading with the name of Installation.
16- await expect ( page . getByRole ( 'heading' , { name : 'Leather web app' } ) ) . toBeVisible ( ) ;
6+ await expect ( page . getByRole ( 'heading' , { name : 'Earn rewards with BTC' } ) ) . toBeVisible ( ) ;
177 } ) ;
188} ) ;
Original file line number Diff line number Diff line change @@ -15,7 +15,6 @@ describe('Leather SDK', () => {
1515 Object . values ( endpoints ) . forEach ( endpoint => methods . includes ( endpoint . method ) ) ;
1616 } ) ;
1717
18- // write test that ensures the onprovider call isn't called
1918 test ( 'onProviderNotFound is called if provider is available' , ( ) => {
2019 vi . stubGlobal ( 'window' , { document : { } } ) ;
2120 vi . stubGlobal ( 'LeatherProvider' , undefined ) ;
You can’t perform that action at this time.
0 commit comments