Files
Igor StuevandGitHub 238e1e7513 testnet label and network logo fixes (#3153)
* testnet label and network logo fixes

* fix tests
2025-12-01 21:35:29 +07:00

54 lines
1.3 KiB
TypeScript

import { chakra } from '@chakra-ui/react';
import React from 'react';
import { route } from 'nextjs-routes';
import config from 'configs/app';
import { useColorModeValue } from 'toolkit/chakra/color-mode';
import { Image } from 'toolkit/chakra/image';
import IconSvg from 'ui/shared/IconSvg';
import { INVERT_FILTER } from './consts';
const IconFallback = () => {
return (
<IconSvg
name="networks/icon-placeholder"
w="30px"
h="30px"
color={{ base: 'blue.600', _dark: 'white' }}
aria-label="Network icon placeholder"
/>
);
};
type Props = {
className?: string;
};
const NetworkIcon = ({ className }: Props) => {
const iconSrc = useColorModeValue(config.UI.navigation.icon.default, config.UI.navigation.icon.dark || config.UI.navigation.icon.default);
return (
<chakra.a
className={ className }
href={ route({ pathname: '/' }) }
aria-label="Link to main page"
>
<Image
w="30px"
h="30px"
src={ iconSrc }
alt={ `${ config.chain.name } network icon` }
fallback={ <IconFallback/> }
filter={{ _dark: !config.UI.navigation.icon.dark ? INVERT_FILTER : undefined }}
objectFit="contain"
objectPosition="left"
/>
</chakra.a>
);
};
export default React.memo(chakra(NetworkIcon));