Files
tom goriunovandGitHub 25a4c2a97e Replace OP Superchain feature with generic Multichain explorer (#3299)
* rename feature

* rename evn preset

* types, mocks and stubs renaming

* rename UI components
2026-02-25 18:02:52 +01:00

47 lines
1.5 KiB
TypeScript

import { Box, HStack, VStack } from '@chakra-ui/react';
import React from 'react';
import { route } from 'nextjs-routes';
import multichainConfig from 'configs/multichain';
import useApiQuery from 'lib/api/useApiQuery';
import { MultichainProvider } from 'lib/contexts/multichain';
import { Link } from 'toolkit/chakra/link';
import HeroBanner from 'ui/home/HeroBanner';
import ChainWidget from './ChainWidget';
import LatestTxs from './LatestTxs';
import Stats from './Stats';
const MultichainHome = () => {
const chains = multichainConfig()?.chains;
const chainMetricsQuery = useApiQuery('multichainAggregator:chain_metrics');
return (
<Box as="main">
<HeroBanner/>
<Stats/>
<LatestTxs/>
{ chains && chains.length > 0 && (
<VStack rowGap={ 3 } alignItems="stretch">
<HStack gap={{ base: 2, lg: 3 }} w="100%" flexWrap="wrap" alignItems="stretch">
{ chains.slice(0, 4).map((chain) => (
<MultichainProvider key={ chain.id } chainId={ chain.id }>
<ChainWidget
data={ chain }
isLoading={ chainMetricsQuery.isLoading }
metrics={ chainMetricsQuery.data?.items.find((metric) => metric.chain_id === chain.id) }
/>
</MultichainProvider>
)) }
</HStack>
<Link textStyle="sm" justifyContent="center" href={ route({ pathname: '/ecosystems' }) }>View all chains</Link>
</VStack>
) }
</Box>
);
};
export default React.memo(MultichainHome);