import { Avatar } from 'native-base'; import API from '../API'; import { useQuery } from '../Queries'; import { useMemo } from 'react'; export const getInitials = (name: string) => { return name .split(' ') .map((n) => n[0]) .join(''); }; type UserAvatarProps = Pick[0], 'size'>; const UserAvatar = ({ size = 'md' }: UserAvatarProps) => { const user = useQuery(API.getUserInfo); const avatarUrl = useMemo(() => { if (!user.data) { return null; } // NOTE: We do this to avoid parsing URL with `new URL`, which is not compatible with related path // (which is used for production, on web) return `${user.data.data.avatar}?updatedAt=${user.dataUpdatedAt.toString()}`; }, [user.data]); return ( {user.data !== undefined && getInitials(user.data.name)} ); }; export default UserAvatar;