import { Box, Text, chakra } from '@chakra-ui/react'; import React from 'react'; import type { FeaturedNetwork } from 'types/networks'; import { useColorModeValue } from 'toolkit/chakra/color-mode'; import { Image } from 'toolkit/chakra/image'; import IconSvg from 'ui/shared/IconSvg'; interface Props extends FeaturedNetwork { isActive?: boolean; isMobile?: boolean; } const NetworkMenuLink = ({ title, icon, isActive: isActiveProp, isMobile, url, invertIconInDarkMode }: Props) => { const darkModeFilter = { filter: 'brightness(0) invert(1)' }; const style = useColorModeValue({}, invertIconInDarkMode ? darkModeFilter : {}); const iconEl = icon ? ( { ) : ( ); const isActive = (() => { if (isActiveProp !== undefined) { return isActiveProp; } try { const itemOrigin = new URL(url).origin; const currentOrigin = window.location.origin; return itemOrigin === currentOrigin; } catch (error) { return false; } })(); return ( { iconEl } { title } { isActive && ( ) } ); }; export default React.memo(NetworkMenuLink);