Skip to content

Commit 52e2f64

Browse files
www: merkle root lookup (#111)
Co-authored-by: holypanda <[email protected]>
1 parent 6009f77 commit 52e2f64

File tree

17 files changed

+491
-42
lines changed

17 files changed

+491
-42
lines changed

www/components/About.tsx

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import FAQ from 'components/FAQ'
2+
3+
export default function About() {
4+
return (
5+
<>
6+
<div className="flex gap-3 sm:gap-4 text-base mt-24 items-center">
7+
<img
8+
src="/collablogos.png"
9+
alt="partner logos"
10+
className="w-[64px] sm:w-[72px]"
11+
/>
12+
<div>
13+
An open source project from{' '}
14+
<PartnerLink href="https://mint.fun">mint.fun</PartnerLink>,{' '}
15+
<PartnerLink href="https://zora.co">Zora</PartnerLink>, and{' '}
16+
<PartnerLink href="https://context.wtf">Context</PartnerLink>
17+
</div>
18+
</div>
19+
20+
<div className="h-px bg-neutral-200 mt-4 sm:mt-8 mb-10 sm:mb-16 w-full" />
21+
22+
<FAQ />
23+
</>
24+
)
25+
}
26+
27+
const PartnerLink = ({
28+
href,
29+
children,
30+
}: {
31+
href: string
32+
children: React.ReactNode
33+
}) => (
34+
<a
35+
href={href}
36+
className="font-bold hover:underline"
37+
target="_blank"
38+
rel="noopener noreferrer"
39+
>
40+
{children}
41+
</a>
42+
)

www/components/Button.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import classNames from 'classnames'
22
import React from 'react'
33

44
type Props = {
5-
onClick: () => void
5+
onClick?: () => void
66
label: string
77
disabled?: boolean
88
pending?: boolean

www/components/Container.tsx

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import classNames from 'classnames'
2+
import { ReactNode } from 'react'
3+
4+
const Container = ({
5+
children,
6+
variant,
7+
}: {
8+
children: ReactNode
9+
variant: 'success' | 'failure'
10+
}) => (
11+
<div
12+
className={classNames(
13+
'border-2 rounded-lg px-4 py-2 overflow-auto',
14+
{ 'bg-brand-light border-brand': variant === 'success' },
15+
{ 'bg-error-light border-error': variant === 'failure' },
16+
)}
17+
>
18+
{children}
19+
</div>
20+
)
21+
22+
export const FailureContainer = ({ children }: { children: ReactNode }) => (
23+
<Container variant="failure">{children}</Container>
24+
)
25+
26+
export const SuccessContainer = ({ children }: { children: ReactNode }) => (
27+
<Container variant="success">{children}</Container>
28+
)

www/components/SiteNav/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export default function SiteNav() {
2727
title="Create"
2828
selectedOverride={createTabSelectedOverride}
2929
/>
30+
<NavTab href="/search" title="Search" />
3031
<NavTab href="/docs" title="API" />
3132
<a
3233
href={twitterUrl}

www/hooks/useQuery.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { useState } from 'react'
2+
3+
export function useQuery(initialQuery: string | null = '') {
4+
const [query, setQuery] = useState<string>(initialQuery ?? '')
5+
const trimmedQuery = query.trim()
6+
const isDisabled = trimmedQuery === ''
7+
8+
return { query, trimmedQuery, setQuery, isDisabled }
9+
}

www/hooks/useWindowSize.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { useEffect, useState } from 'react'
2+
3+
export function useWindowSize() {
4+
const [windowSize, setWindowSize] = useState<{
5+
width: number | undefined
6+
height: number | undefined
7+
}>({
8+
width: undefined,
9+
height: undefined,
10+
})
11+
12+
useEffect(() => {
13+
function handleResize() {
14+
setWindowSize({
15+
width: window.innerWidth,
16+
height: window.innerHeight,
17+
})
18+
}
19+
20+
window.addEventListener('resize', handleResize)
21+
handleResize()
22+
23+
return () => window.removeEventListener('resize', handleResize)
24+
}, [])
25+
26+
return windowSize
27+
}

www/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
},
1515
"dependencies": {
1616
"@react-hook/async": "^3.1.1",
17+
"@tanstack/react-virtual": "^3.0.0-beta.54",
1718
"assertate": "^2.3.4",
1819
"classnames": "^2.3.1",
1920
"lodash": "^4.17.21",

www/pages/index.tsx

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import CreateRoot from 'components/CreateRoot'
2-
import FAQ from 'components/FAQ'
2+
import About from 'components/About'
33
import PageTitle from 'components/PageTitle'
44

55
export default function CreatePage() {
@@ -11,40 +11,7 @@ export default function CreatePage() {
1111

1212
<CreateRoot />
1313

14-
<div className="flex gap-3 sm:gap-4 text-base mt-24 items-center">
15-
<img
16-
src="/collablogos.png"
17-
alt="partner logos"
18-
className="w-[64px] sm:w-[72px]"
19-
/>
20-
<div>
21-
An open source project from{' '}
22-
<PartnerLink href="https://mint.fun">mint.fun</PartnerLink>,{' '}
23-
<PartnerLink href="https://zora.co">Zora</PartnerLink>, and{' '}
24-
<PartnerLink href="https://context.app">Context</PartnerLink>
25-
</div>
26-
</div>
27-
28-
<div className="h-px bg-neutral-200 mt-4 sm:mt-8 mb-10 sm:mb-16 w-full" />
29-
30-
<FAQ />
14+
<About />
3115
</div>
3216
)
3317
}
34-
35-
const PartnerLink = ({
36-
href,
37-
children,
38-
}: {
39-
href: string
40-
children: React.ReactNode
41-
}) => (
42-
<a
43-
href={href}
44-
className="font-bold hover:underline"
45-
target="_blank"
46-
rel="noopener noreferrer"
47-
>
48-
{children}
49-
</a>
50-
)

0 commit comments

Comments
 (0)