1
1
import { NetworkType } from '@pinax/graph-networks-registry'
2
- import { useData } from 'nextra/hooks'
3
- import type { ComponentPropsWithoutRef } from 'react'
4
2
5
- import { classNames , ExperimentalLink , Tooltip } from '@edgeandnode/gds'
3
+ import { ButtonOrLink , ExperimentalLink , Tooltip } from '@edgeandnode/gds'
6
4
import {
7
- Clock ,
8
5
Firehose ,
9
6
GraphExplorer ,
10
7
GraphNode ,
@@ -17,9 +14,9 @@ import { NetworkIcon } from '@edgeandnode/go'
17
14
18
15
import { Card , Heading , TimeIcon } from '@/components'
19
16
import { useI18n } from '@/i18n'
20
- import { getSupportedNetworks } from '@/supportedNetworks'
17
+ import { type SupportedNetwork } from '@/supportedNetworks'
21
18
22
- export default function HomePage ( ) {
19
+ export default function HomePage ( { supportedNetworks } : { supportedNetworks : SupportedNetwork [ ] } ) {
23
20
const { t } = useI18n ( )
24
21
25
22
return (
@@ -141,7 +138,38 @@ export default function HomePage() {
141
138
</ ExperimentalLink > ,
142
139
] ) }
143
140
</ p >
144
- < SupportedNetworks className = "mt-8" />
141
+ < div className = "graph-docs-not-markdown mt-8 overflow-clip rounded-8 border border-space-1500" >
142
+ < ul className = "grid grid-cols-auto-fill-16 gap-px text-space-500" >
143
+ { supportedNetworks
144
+ // TODO: Don't filter out testnets that don't have a mainnet
145
+ . filter ( ( network ) => network . networkType === NetworkType . Mainnet )
146
+ // Filter out networks that are either duplicates (same logo, same or similar short name) or irrelevant in this view
147
+ . filter (
148
+ ( network ) =>
149
+ ! network . caip2Id . startsWith ( 'beacon:' ) &&
150
+ ! [ 'boba-bnb' , 'eos-evm' , 'polygon-zkevm' , 'solana-accounts' ] . includes ( network . id ) ,
151
+ )
152
+ // Filter out networks that don't have a proper monochrome logo
153
+ . filter ( ( network ) => {
154
+ return network . id !== 'zora'
155
+ } )
156
+ . map ( ( network ) => (
157
+ < li key = { network . id } className = "-mb-px -mr-px" >
158
+ < Tooltip content = { network . shortName } >
159
+ < ButtonOrLink
160
+ href = { `/supported-networks/${ network . id } ` }
161
+ className = { `
162
+ flex aspect-square items-center justify-center border-b border-r border-space-1500 -outline-offset-1 transition
163
+ hover:bg-space-1600
164
+ ` }
165
+ >
166
+ < NetworkIcon network = { network } size = { 6 } />
167
+ </ ButtonOrLink >
168
+ </ Tooltip >
169
+ </ li >
170
+ ) ) }
171
+ </ ul >
172
+ </ div >
145
173
</ section >
146
174
147
175
< hr />
@@ -247,35 +275,3 @@ export default function HomePage() {
247
275
</ >
248
276
)
249
277
}
250
-
251
- function SupportedNetworks ( { className, ...props } : ComponentPropsWithoutRef < 'div' > ) {
252
- const { supportedNetworks } = useData ( ) as { supportedNetworks : Awaited < ReturnType < typeof getSupportedNetworks > > }
253
-
254
- return (
255
- < div
256
- className = { classNames ( [ 'graph-docs-not-markdown overflow-clip rounded-8 border border-space-1500' , className ] ) }
257
- { ...props }
258
- >
259
- < ul className = "grid grid-cols-auto-fill-16 gap-px text-space-500" >
260
- { supportedNetworks
261
- // TODO: Don't filter out testnets that don't have a mainnet
262
- . filter ( ( network ) => network . networkType === NetworkType . Mainnet )
263
- // Filter out networks that are either duplicates (same logo, same or similar short name) or irrelevant in this view
264
- . filter (
265
- ( network ) =>
266
- ! network . caip2Id . startsWith ( 'beacon:' ) &&
267
- ! [ 'boba-bnb' , 'eos-evm' , 'polygon-zkevm' , 'solana-accounts' ] . includes ( network . id ) ,
268
- )
269
- // TODO: Fix Zora mono logo in web3icons
270
- . filter ( ( network ) => network . id !== 'zora' )
271
- . map ( ( network ) => (
272
- < Tooltip key = { network . id } content = { network . shortName } >
273
- < li className = "-mb-px -mr-px flex aspect-square items-center justify-center border-b border-r border-space-1500 transition hover:bg-space-1600" >
274
- < NetworkIcon caip2Id = { network . caip2Id as any } size = { 6 } />
275
- </ li >
276
- </ Tooltip >
277
- ) ) }
278
- </ ul >
279
- </ div >
280
- )
281
- }
0 commit comments