import type { Chain, StaticToken } from '@lifi/sdk'; import type { SxProps, Theme } from '@mui/material'; import { Avatar, Badge, Skeleton } from '@mui/material'; import { useChain, useToken } from '../../hooks'; import { SmallAvatar, SmallAvatarSkeleton } from '../SmallAvatar'; import { AvatarDefault, AvatarDefaultBadge } from './TokenAvatar.style'; export const TokenAvatarFallback: React.FC<{ token?: StaticToken; isLoading?: boolean; sx?: SxProps; }> = ({ token, isLoading, sx }) => { const { chain } = useChain(token?.chainId); const { token: chainToken, isLoading: isLoadingToken } = useToken( token?.chainId, token?.address, ); return ( ); }; export const TokenAvatarBase: React.FC<{ token?: StaticToken; chain?: Chain; isLoading?: boolean; sx?: SxProps; }> = ({ token, chain, isLoading, sx }) => { return isLoading ? ( ) : ( {chain.name[0]} ) : ( ) } sx={sx} > {token?.symbol?.[0]} ); }; export const TokenAvatar: React.FC<{ token?: StaticToken; chain?: Chain; isLoading?: boolean; sx?: SxProps; }> = ({ token, chain, isLoading, sx }) => { if (!chain || !token?.logoURI) { return ; } return ( ); }; export const TokenAvatarDefault: React.FC<{ sx?: SxProps; }> = ({ sx }) => { return ( } sx={sx} > ); }; export const TokenAvatarSkeleton: React.FC<{ sx?: SxProps; }> = ({ sx }) => { return ( } sx={sx} > ); };