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
@@ -60,6 +60,7 @@
ThreadSettingsAddMember,
ThreadSettingsAddSubchannel,
} from './thread-settings-list-action.react.js';
+import ThreadSettingsMediaGallery from './thread-settings-media-gallery.react.js';
import ThreadSettingsMember from './thread-settings-member.react.js';
import ThreadSettingsName from './thread-settings-name.react.js';
import ThreadSettingsParent from './thread-settings-parent.react.js';
@@ -193,6 +194,11 @@
+itemType: 'addMember',
+key: string,
}
+ | {
+ +itemType: 'mediaGallery',
+ +key: string,
+ +threadInfo: ThreadInfo,
+ }
| {
+itemType: 'promoteSidebar' | 'leaveThread' | 'deleteThread',
+key: string,
@@ -617,6 +623,34 @@
},
);
+ mediaGalleryListDataSelector = createSelector(
+ (propsAndState: PropsAndState) => propsAndState.threadInfo,
+ (threadInfo: ThreadInfo) => {
+ const listData: ChatSettingsItem[] = [];
+
+ listData.push({
+ itemType: 'header',
+ key: 'mediaGalleryHeader',
+ title: 'Media Gallery',
+ categoryType: 'outline',
+ });
+
+ listData.push({
+ itemType: 'mediaGallery',
+ key: 'mediaGallery',
+ threadInfo,
+ });
+
+ listData.push({
+ itemType: 'footer',
+ key: 'mediaGalleryFooter',
+ categoryType: 'outline',
+ });
+
+ return listData;
+ },
+ );
+
actionsListDataSelector = createSelector(
(propsAndState: PropsAndState) => propsAndState.threadInfo,
(propsAndState: PropsAndState) => propsAndState.parentThreadInfo,
@@ -736,18 +770,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,
],
);
@@ -890,6 +927,8 @@
);
} else if (item.itemType === 'addMember') {
return ;
+ } else if (item.itemType === 'mediaGallery') {
+ return ;
} else if (item.itemType === 'leaveThread') {
return (