Skip to content

Commit 15e258d

Browse files
authored
feat: link aptos market (#2528)
1 parent 936eec4 commit 15e258d

File tree

3 files changed

+48
-3
lines changed

3 files changed

+48
-3
lines changed

public/icons/markets/aptos.svg

Lines changed: 1 addition & 0 deletions
Loading

src/components/MarketSwitcher.tsx

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { ChevronDownIcon } from '@heroicons/react/outline';
2+
import { ExternalLinkIcon } from '@heroicons/react/solid';
23
import { Trans } from '@lingui/macro';
34
import {
45
Box,
@@ -130,8 +131,16 @@ export const MarketSwitcher = () => {
130131
.some((item) => !!item);
131132

132133
const handleMarketSelect = (e: React.ChangeEvent<HTMLInputElement>) => {
133-
trackEvent(DASHBOARD.CHANGE_MARKET, { market: e.target.value });
134-
setCurrentMarket(e.target.value as unknown as CustomMarket);
134+
const selectedMarket = e.target.value as CustomMarket;
135+
const market = marketsData[selectedMarket];
136+
trackEvent(DASHBOARD.CHANGE_MARKET, { market: selectedMarket });
137+
138+
if (market.externalUrl) {
139+
window.open(market.externalUrl, '_blank');
140+
return;
141+
}
142+
143+
setCurrentMarket(selectedMarket);
135144
};
136145

137146
const marketBlurbs: { [key: string]: JSX.Element } = {
@@ -397,10 +406,28 @@ export const MarketSwitcher = () => {
397406
<ListItemText sx={{ mr: 0 }}>
398407
{marketNaming.name} {market.isFork ? 'Fork' : ''}
399408
</ListItemText>
400-
<ListItemText sx={{ textAlign: 'right' }}>
409+
<ListItemText
410+
sx={{
411+
textAlign: 'right',
412+
display: 'flex',
413+
alignItems: 'center',
414+
flexDirection: 'row-reverse',
415+
gap: 1,
416+
}}
417+
>
401418
<Typography color="text.muted" variant="description">
402419
{marketNaming.testChainName}
403420
</Typography>
421+
{market.externalUrl && (
422+
<SvgIcon
423+
sx={{
424+
fontSize: '16px',
425+
color: 'text.muted',
426+
}}
427+
>
428+
<ExternalLinkIcon />
429+
</SvgIcon>
430+
)}
404431
</ListItemText>
405432
</MenuItem>
406433
);

src/ui-config/marketsConfig.tsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ export type MarketDataType = {
5555
disableCharts?: boolean;
5656
subgraphUrl?: string;
5757
logo?: string;
58+
externalUrl?: string; // URL for external markets like Aptos
5859
addresses: {
5960
LENDING_POOL_ADDRESS_PROVIDER: string;
6061
LENDING_POOL: string;
@@ -101,6 +102,7 @@ export enum CustomMarket {
101102
proto_sonic_v3 = 'proto_sonic_v3',
102103
proto_celo_v3 = 'proto_celo_v3',
103104
proto_soneium_v3 = 'proto_soneium_v3',
105+
proto_aptos_v3 = 'proto_aptos_v3',
104106
// v2
105107
proto_mainnet = 'proto_mainnet',
106108
proto_avalanche = 'proto_avalanche',
@@ -678,6 +680,21 @@ export const marketsData: {
678680
COLLECTOR: AaveV3ZkSync.COLLECTOR,
679681
},
680682
},
683+
[CustomMarket.proto_aptos_v3]: {
684+
marketTitle: 'Aptos',
685+
market: CustomMarket.proto_aptos_v3,
686+
v3: true,
687+
chainId: ChainId.mainnet, // Using mainnet since Aptos is external
688+
logo: '/icons/markets/aptos.svg',
689+
externalUrl: 'https://aptos.aave.com',
690+
addresses: {
691+
LENDING_POOL_ADDRESS_PROVIDER: '',
692+
LENDING_POOL: '',
693+
WALLET_BALANCE_PROVIDER: '',
694+
UI_POOL_DATA_PROVIDER: '',
695+
UI_INCENTIVE_DATA_PROVIDER: '',
696+
},
697+
},
681698
[CustomMarket.proto_linea_v3]: {
682699
marketTitle: 'Linea',
683700
market: CustomMarket.proto_linea_v3,

0 commit comments

Comments
 (0)