diff --git a/native/chat/settings/thread-settings.react.js b/native/chat/settings/thread-settings.react.js
--- a/native/chat/settings/thread-settings.react.js
+++ b/native/chat/settings/thread-settings.react.js
@@ -80,6 +80,7 @@
ThreadSettingsAddMember,
ThreadSettingsAddSubchannel,
} from './thread-settings-list-action.react';
+import ThreadSettingsMediaGallery from './thread-settings-media-gallery.react';
import ThreadSettingsMember from './thread-settings-member.react';
import ThreadSettingsName from './thread-settings-name.react';
import ThreadSettingsParent from './thread-settings-parent.react';
@@ -187,6 +188,11 @@
+itemType: 'addMember',
+key: string,
}
+ | {
+ +itemType: 'mediaGallery',
+ +key: string,
+ +threadInfo: ThreadInfo,
+ }
| {
+itemType: 'promoteSidebar' | 'leaveThread' | 'deleteThread',
+key: string,
@@ -611,6 +617,30 @@
},
);
+ mediaGalleryListDataSelector = createSelector(
+ (propsAndState: PropsAndState) => propsAndState.threadInfo,
+ (threadInfo: ThreadInfo) => {
+ const listData: ChatSettingsItem[] = [];
+
+ if (threadInfo.parentThreadID === '1') {
+ listData.push({
+ itemType: 'header',
+ key: 'mediaGalleryHeader',
+ title: 'Media Gallery',
+ categoryType: 'outline',
+ });
+
+ listData.push({
+ itemType: 'mediaGallery',
+ key: 'mediaGallery',
+ threadInfo,
+ });
+ }
+
+ return listData;
+ },
+ );
+
actionsListDataSelector = createSelector(
(propsAndState: PropsAndState) => propsAndState.threadInfo,
(propsAndState: PropsAndState) => propsAndState.parentThreadInfo,
@@ -731,18 +761,21 @@
this.subchannelsListDataSelector,
this.sidebarsListDataSelector,
this.threadMembersListDataSelector,
+ this.mediaGalleryListDataSelector,
this.actionsListDataSelector,
(
threadBasicsListData: ChatSettingsItem[],
subchannelsListData: ChatSettingsItem[],
sidebarsListData: ChatSettingsItem[],
threadMembersListData: ChatSettingsItem[],
+ mediaGalleryListData: ChatSettingsItem[],
actionsListData: ChatSettingsItem[],
) => [
...threadBasicsListData,
...subchannelsListData,
...sidebarsListData,
...threadMembersListData,
+ ...mediaGalleryListData,
...actionsListData,
],
);
@@ -885,6 +918,8 @@
);
} else if (item.itemType === 'addMember') {
return ;
+ } else if (item.itemType === 'mediaGallery') {
+ return ;
} else if (item.itemType === 'leaveThread') {
return (