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 LogoFallback = () => {
return (
<IconSvg
name="networks/logo-placeholder"
width="120px"
height="24px"
color={{ base: 'blue.600', _dark: 'white' }}
aria-label="Network logo placeholder"
/>
);
};
type Props = {
className?: string;
};
const NetworkLogo = ({ className }: Props) => {
const logoSrc = useColorModeValue(config.UI.navigation.logo.default, config.UI.navigation.logo.dark || config.UI.navigation.logo.default);
return (
<chakra.a
className={ className }
href={ route({ pathname: '/' }) }
aria-label="Link to main page"
>
<Image
h="24px"
skeletonWidth="120px"
src={ logoSrc }
alt={ `${ config.chain.name } network logo` }
fallback={ <LogoFallback/> }
filter={{ _dark: !config.UI.navigation.logo.dark ? INVERT_FILTER : undefined }}
objectFit="contain"
objectPosition="left"
/>
</chakra.a>
);
};
export default React.memo(chakra(NetworkLogo));