diff --git a/native/chat/message-reactions-modal.react.js b/native/chat/message-reactions-modal.react.js --- a/native/chat/message-reactions-modal.react.js +++ b/native/chat/message-reactions-modal.react.js @@ -7,8 +7,10 @@ import { SafeAreaView } from 'react-native-safe-area-context'; import type { ReactionInfo } from 'lib/selectors/chat-selectors.js'; +import { getAvatarForUser } from 'lib/shared/avatar-utils.js'; import { useMessageReactionsList } from 'lib/shared/reaction-utils.js'; +import Avatar from '../components/avatar.react.js'; import Modal from '../components/modal.react.js'; import type { RootNavigationProp } from '../navigation/root-navigator.react.js'; import type { NavigationRoute } from '../navigation/route-names.js'; @@ -38,9 +40,16 @@ const renderItem = React.useCallback( ({ item }) => { + const avatarInfo = getAvatarForUser(item); + return ( - {item.username} + + + + {item.username} + + {item.reaction} ); @@ -48,6 +57,7 @@ [ styles.reactionsListReactionText, styles.reactionsListRowContainer, + styles.reactionsListUserInfoContainer, styles.reactionsListUsernameText, ], ); @@ -118,9 +128,15 @@ flexDirection: 'row', justifyContent: 'space-between', }, + reactionsListUserInfoContainer: { + flex: 1, + flexDirection: 'row', + alignItems: 'center', + }, reactionsListUsernameText: { color: 'modalForegroundLabel', fontSize: 18, + marginLeft: 8, }, reactionsListReactionText: { fontSize: 18, diff --git a/native/chat/settings/thread-settings-member.react.js b/native/chat/settings/thread-settings-member.react.js --- a/native/chat/settings/thread-settings-member.react.js +++ b/native/chat/settings/thread-settings-member.react.js @@ -16,6 +16,7 @@ } from 'lib/actions/thread-actions.js'; import { useENSNames } from 'lib/hooks/ens-cache.js'; import { createLoadingStatusSelector } from 'lib/selectors/loading-selectors.js'; +import { getAvatarForUser } from 'lib/shared/avatar-utils.js'; import { memberIsAdmin, memberHasAdminPowers, @@ -29,6 +30,7 @@ } from 'lib/types/thread-types.js'; import type { ThreadSettingsNavigate } from './thread-settings.react.js'; +import Avatar from '../../components/avatar.react.js'; import PencilIcon from '../../components/pencil-icon.react.js'; import { SingleLine } from '../../components/single-line.react.js'; import { @@ -71,13 +73,14 @@ render() { const userText = stringForUser(this.props.memberInfo); - let userInfo = null; + const avatarInfo = getAvatarForUser(this.props.memberInfo); + let usernameInfo = null; if (this.props.memberInfo.username) { - userInfo = ( + usernameInfo = ( {userText} ); } else { - userInfo = ( + usernameInfo = ( @@ -145,7 +148,10 @@ - {userInfo} + + + {usernameInfo} + {editButton} {roleInfo} @@ -241,11 +247,17 @@ flex: 1, flexDirection: 'row', }, + userInfoContainer: { + flex: 1, + flexDirection: 'row', + alignItems: 'center', + }, username: { color: 'panelForegroundSecondaryLabel', flex: 1, fontSize: 16, lineHeight: 20, + marginLeft: 8, }, }; diff --git a/native/chat/typeahead-tooltip.react.js b/native/chat/typeahead-tooltip.react.js --- a/native/chat/typeahead-tooltip.react.js +++ b/native/chat/typeahead-tooltip.react.js @@ -4,6 +4,7 @@ import { Platform, Text } from 'react-native'; import { PanGestureHandler, FlatList } from 'react-native-gesture-handler'; +import { getAvatarForUser } from 'lib/shared/avatar-utils.js'; import { type TypeaheadMatchedStrings, type Selection, @@ -11,6 +12,7 @@ } from 'lib/shared/mention-utils.js'; import type { RelativeMemberInfo } from 'lib/types/thread-types.js'; +import Avatar from '../components/avatar.react.js'; import Button from '../components/button.react.js'; import { useStyles } from '../themes/colors.js'; @@ -49,8 +51,11 @@ }); }; + const avatarInfo = getAvatarForUser(item); + return (