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 (