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 (