import type { Chain, StaticToken } from '@lifi/sdk' import type { SxProps, Theme } from '@mui/material' import { Badge } from '@mui/material' import { useChain } from '../../hooks/useChain.js' import { useToken } from '../../hooks/useToken.js' import { AvatarBadgedSkeleton } from './Avatar.js' import { AvatarMasked } from './Avatar.style.js' import { ChainBadgeContent } from './ChainBadgeContent.js' export const TokenAvatar: React.FC<{ token?: StaticToken chain?: Chain isLoading?: boolean sx?: SxProps tokenAvatarSize?: number chainAvatarSize?: number }> = ({ token, chain, isLoading, sx, tokenAvatarSize = 40, chainAvatarSize = 16, }) => { if (!chain || !token?.logoURI) { return ( ) } return ( ) } const TokenAvatarFallback: React.FC<{ token?: StaticToken isLoading?: boolean sx?: SxProps tokenAvatarSize: number chainAvatarSize: number }> = ({ token, isLoading, sx, tokenAvatarSize, chainAvatarSize }) => { const { chain } = useChain(token?.chainId) const { token: chainToken, isLoading: isLoadingToken } = useToken( token?.chainId, token?.address ) return ( ) } const TokenAvatarBase: React.FC<{ token?: StaticToken chain?: Chain isLoading?: boolean sx?: SxProps avatarSize: number badgeSize: number }> = ({ token, chain, isLoading, sx, avatarSize, badgeSize }) => { return isLoading ? ( ) : ( } sx={sx} > {token?.symbol?.[0]} ) }