diff --git a/native/avatars/user-avatar.react.js b/native/avatars/user-avatar.react.js index 9cbda8f52..29fc32909 100644 --- a/native/avatars/user-avatar.react.js +++ b/native/avatars/user-avatar.react.js @@ -1,35 +1,38 @@ // @flow import * as React from 'react'; import { getAvatarForUser, useENSResolvedAvatar, } from 'lib/shared/avatar-utils.js'; import type { GenericUserInfoWithAvatar } from 'lib/types/avatar-types.js'; import Avatar from './avatar.react.js'; import { useSelector } from '../redux/redux-utils.js'; type Size = 'micro' | 'small' | 'large' | 'profile'; type Props = | { +userID: ?string, +size: Size } | { +userInfo: ?GenericUserInfoWithAvatar, +size: Size }; function UserAvatar(props: Props): React.Node { const { userID, userInfo: userInfoProp, size } = props; - const currentUserInfo = useSelector(state => state.currentUserInfo); - const userInfo = useSelector(state => - userID ? state.userStore.userInfos[userID] : userInfoProp, - ); - - const avatarUserInfo = - userID === currentUserInfo?.id ? currentUserInfo : userInfo; - const avatarInfo = getAvatarForUser(avatarUserInfo); + const userInfo = useSelector(state => { + if (!userID) { + return userInfoProp; + } else if (userID === state.currentUserInfo?.id) { + return state.currentUserInfo; + } else { + return state.userStore.userInfos[userID]; + } + }); + + const avatarInfo = getAvatarForUser(userInfo); const resolvedUserAvatar = useENSResolvedAvatar(avatarInfo, userInfo); return ; } export default UserAvatar;