diff --git a/native/navigation/community-drawer-content.react.js b/native/navigation/community-drawer-content.react.js
--- a/native/navigation/community-drawer-content.react.js
+++ b/native/navigation/community-drawer-content.react.js
@@ -18,6 +18,7 @@
import CommunityDrawerItemCommunity from './community-drawer-item-community.react.js';
import { useNavigateToThread } from '../chat/message-list-types.js';
import { useStyles } from '../themes/colors.js';
+import { useShouldRenderAvatars } from '../utils/avatar-utils.js';
const maxDepth = 2;
const safeAreaEdges = Platform.select({
@@ -58,15 +59,24 @@
[navigateToThread, openCommunity, setOpenCommunityOrClose],
);
+ const shouldRenderAvatars = useShouldRenderAvatars();
+
const labelStylesObj = useStyles(labelUnboundStyles);
- const labelStyles = React.useMemo(
- () => [
+ const labelStyles = React.useMemo(() => {
+ let result = [
labelStylesObj.level0Label,
labelStylesObj.level1Label,
labelStylesObj.level2Label,
- ],
- [labelStylesObj],
- );
+ ];
+
+ result = result.map(style => {
+ if (shouldRenderAvatars) {
+ return { ...style, marginLeft: 8 };
+ }
+ return style;
+ });
+ return result;
+ }, [labelStylesObj, shouldRenderAvatars]);
const drawerItemsData = React.useMemo(
() =>
diff --git a/native/navigation/community-drawer-item.react.js b/native/navigation/community-drawer-item.react.js
--- a/native/navigation/community-drawer-item.react.js
+++ b/native/navigation/community-drawer-item.react.js
@@ -3,12 +3,14 @@
import * as React from 'react';
import { View, FlatList, TouchableOpacity } from 'react-native';
+import { useGetAvatarForThread } from 'lib/shared/avatar-utils.js';
import type { CommunityDrawerItemData } from 'lib/utils/drawer-utils.react.js';
import { useResolvedThreadInfo } from 'lib/utils/entity-helpers.js';
import { ExpandButton, ExpandButtonDisabled } from './expand-buttons.react.js';
import SubchannelsButton from './subchannels-button.react.js';
import type { MessageListParams } from '../chat/message-list-types.js';
+import Avatar from '../components/avatar.react.js';
import { SingleLine } from '../components/single-line.react.js';
import { useStyles } from '../themes/colors.js';
import type { TextStyle } from '../types/styles.js';
@@ -77,7 +79,13 @@
navigateToThread({ threadInfo });
}, [navigateToThread, threadInfo]);
- const { uiName } = useResolvedThreadInfo(threadInfo);
+ const resolvedThreadInfo = useResolvedThreadInfo(threadInfo);
+ const avatarInfo = useGetAvatarForThread(resolvedThreadInfo);
+
+ const avatar = React.useMemo(() => {
+ return ;
+ }, [avatarInfo]);
+
return (
@@ -87,7 +95,10 @@
style={styles.textTouchableWrapper}
onLongPress={onExpandToggled}
>
- {uiName}
+ {avatar}
+
+ {resolvedThreadInfo.uiName}
+
{children}
@@ -105,6 +116,8 @@
},
textTouchableWrapper: {
flex: 1,
+ flexDirection: 'row',
+ alignItems: 'center',
},
subchannelsButton: {
marginLeft: 24,