@@ -7,13 +7,27 @@ import { revRegistryMap } from "utils/fetchItems";
7
7
import { chains } from "utils/chains" ;
8
8
import ExportIcon from "svgs/icons/export.svg" ;
9
9
10
+ import EthereumIcon from 'svgs/chains/ethereum.svg' ;
11
+ import SolanaIcon from 'svgs/chains/solana.svg' ;
12
+ import BaseIcon from 'svgs/chains/base.svg' ;
13
+ import CeloIcon from 'svgs/chains/celo.svg' ;
14
+ import ScrollIcon from 'svgs/chains/scroll.svg' ;
15
+ import FantomIcon from 'svgs/chains/fantom.svg' ;
16
+ import ZkSyncIcon from 'svgs/chains/zksync.svg' ;
17
+ import GnosisIcon from 'svgs/chains/gnosis.svg' ;
18
+ import PolygonIcon from 'svgs/chains/polygon.svg' ;
19
+ import OptimismIcon from 'svgs/chains/optimism.svg' ;
20
+ import ArbitrumIcon from 'svgs/chains/arbitrum.svg' ;
21
+ import AvalancheIcon from 'svgs/chains/avalanche.svg' ;
22
+ import BnbIcon from 'svgs/chains/bnb.svg' ;
23
+
10
24
const ModalOverlay = styled . div `
11
25
position: fixed;
12
26
top: 0;
13
27
left: 0;
14
28
width: 100%;
15
29
height: 100%;
16
- background: rgba(0, 0, 0, 0.75 );
30
+ background: rgba(0, 0, 0, 0.5 );
17
31
display: flex;
18
32
justify-content: center;
19
33
align-items: center;
@@ -349,6 +363,25 @@ const STATUS_OPTIONS = [
349
363
{ value : 'Absent' , label : 'Removed' }
350
364
] ;
351
365
366
+ const getChainIcon = ( chainId : string ) => {
367
+ const iconMap = {
368
+ '1' : EthereumIcon ,
369
+ '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp' : SolanaIcon ,
370
+ '8453' : BaseIcon ,
371
+ '42220' : CeloIcon ,
372
+ '534352' : ScrollIcon ,
373
+ '250' : FantomIcon ,
374
+ '324' : ZkSyncIcon ,
375
+ '100' : GnosisIcon ,
376
+ '137' : PolygonIcon ,
377
+ '10' : OptimismIcon ,
378
+ '42161' : ArbitrumIcon ,
379
+ '43114' : AvalancheIcon ,
380
+ '56' : BnbIcon ,
381
+ } ;
382
+ return iconMap [ chainId ] || null ;
383
+ } ;
384
+
352
385
const NETWORK_OPTIONS = chains
353
386
. filter ( ( chain ) => ! chain . deprecated )
354
387
. map ( ( chain ) => ( { value : chain . id , label : chain . name } ) ) ;
@@ -527,24 +560,28 @@ const ExportModal: React.FC<ExportModalProps> = ({ registryAddress, onClose }) =
527
560
</ ActionButton >
528
561
</ GroupHeader >
529
562
< NetworkGrid >
530
- { NETWORK_OPTIONS . map ( ( option ) => (
531
- < NetworkItem key = { option . value } >
532
- < NetworkLabel >
533
- < Checkbox
534
- checked = { selectedNetworks . includes ( option . value ) }
535
- onChange = { ( e ) => handleNetworkChange ( option . value , e . target . checked ) }
536
- />
537
- { option . label }
538
- </ NetworkLabel >
539
- < OnlyButton
540
- className = "only-button"
541
- onClick = { ( ) => handleNetworkOnly ( option . value ) }
542
- type = "button"
543
- >
544
- Only
545
- </ OnlyButton >
546
- </ NetworkItem >
547
- ) ) }
563
+ { NETWORK_OPTIONS . map ( ( option ) => {
564
+ const ChainIcon = getChainIcon ( option . value ) ;
565
+ return (
566
+ < NetworkItem key = { option . value } >
567
+ < NetworkLabel >
568
+ < Checkbox
569
+ checked = { selectedNetworks . includes ( option . value ) }
570
+ onChange = { ( e ) => handleNetworkChange ( option . value , e . target . checked ) }
571
+ />
572
+ { ChainIcon && < ChainIcon /> }
573
+ { option . label }
574
+ </ NetworkLabel >
575
+ < OnlyButton
576
+ className = "only-button"
577
+ onClick = { ( ) => handleNetworkOnly ( option . value ) }
578
+ type = "button"
579
+ >
580
+ Only
581
+ </ OnlyButton >
582
+ </ NetworkItem >
583
+ ) ;
584
+ } ) }
548
585
</ NetworkGrid >
549
586
</ FilterSection >
550
587
0 commit comments