Skip to content

Commit d990429

Browse files
authored
feat: apply isMultipleFilesMessageEnabled to Channel&Thread (#817)
1 parent 297a768 commit d990429

File tree

6 files changed

+17
-4
lines changed

6 files changed

+17
-4
lines changed

scripts/index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1118,6 +1118,7 @@ declare module "SendbirdUIKitGlobal" {
11181118
onBeforeSendMultipleFilesMessage?: (files: Array<File>, quotedMessage?: SendableMessageType) => MultipleFilesMessageCreateParams;
11191119
disableUserProfile?: boolean;
11201120
renderUserProfile?: (props: { user: User, close: () => void }) => React.ReactElement;
1121+
isMultipleFilesMessageEnabled?: boolean;
11211122
}
11221123

11231124
export interface ThreadContextInitialState {

src/modules/Channel/components/MessageInput/index.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const MessageInputWrapper = (
3535
renderSendMessageIcon,
3636
} = props;
3737
const propDisabled = props.disabled;
38+
const channelContext = useChannelContext();
3839
const {
3940
currentGroupChannel,
4041
initialized,
@@ -46,7 +47,7 @@ const MessageInputWrapper = (
4647
setQuoteMessage,
4748
messageInputRef,
4849
renderUserMentionItem,
49-
} = useChannelContext();
50+
} = channelContext;
5051
const globalStore = useSendbirdStateContext();
5152
const { isMobile } = useMediaQueryContext();
5253
const channel = currentGroupChannel;
@@ -57,8 +58,11 @@ const MessageInputWrapper = (
5758
userMention,
5859
isVoiceMessageEnabled,
5960
logger,
60-
isMultipleFilesMessageEnabled,
6161
} = globalStore.config;
62+
const isMultipleFilesMessageEnabled = (
63+
channelContext.isMultipleFilesMessageEnabled
64+
?? globalStore.config.isMultipleFilesMessageEnabled
65+
);
6266
const maxUserMentionCount = userMention?.maxMentionCount || 10;
6367
const maxUserSuggestionCount = userMention?.maxSuggestionCount || 15;
6468

src/modules/Channel/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const Channel: React.FC<ChannelProps> = (props: ChannelProps) => {
1515
channelUrl={props?.channelUrl}
1616
isReactionEnabled={props?.isReactionEnabled}
1717
isMessageGroupingEnabled={props?.isMessageGroupingEnabled}
18+
isMultipleFilesMessageEnabled={props?.isMultipleFilesMessageEnabled}
1819
showSearchIcon={props?.showSearchIcon}
1920
animatedMessage={props?.animatedMessage}
2021
highlightedMessage={props?.highlightedMessage}

src/modules/Thread/components/ThreadMessageInput/index.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ const ThreadMessageInput = (
4242
userMention,
4343
isVoiceMessageEnabled,
4444
logger,
45-
isMultipleFilesMessageEnabled,
4645
} = config;
46+
const threadContext = useThreadContext();
4747
const {
4848
currentChannel,
4949
parentMessage,
@@ -54,8 +54,12 @@ const ThreadMessageInput = (
5454
isMuted,
5555
isChannelFrozen,
5656
allThreadMessages,
57-
} = useThreadContext();
57+
} = threadContext;
5858
const messageInputRef = useRef();
59+
const isMultipleFilesMessageEnabled = (
60+
threadContext.isMultipleFilesMessageEnabled
61+
?? config.isMultipleFilesMessageEnabled
62+
);
5963

6064
const disabled = propsDisabled
6165
|| isMuted

src/modules/Thread/context/ThreadProvider.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ export type ThreadProviderProps = {
4848
// User Profile
4949
disableUserProfile?: boolean;
5050
renderUserProfile?: (props: { user: User, close: () => void }) => ReactElement;
51+
isMultipleFilesMessageEnabled?: boolean;
5152
};
5253
export interface ThreadProviderInterface extends ThreadProviderProps, ThreadContextInitialState {
5354
// hooks for fetching threads

src/modules/Thread/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ const Thread: React.FC<ThreadProps> = (props: ThreadProps) => {
1919
message,
2020
onHeaderActionClick,
2121
onMoveToParentMessage,
22+
isMultipleFilesMessageEnabled,
2223
// onBeforeSend~~~Message
2324
onBeforeSendUserMessage,
2425
onBeforeSendFileMessage,
@@ -47,6 +48,7 @@ const Thread: React.FC<ThreadProps> = (props: ThreadProps) => {
4748
onBeforeSendFileMessage={onBeforeSendFileMessage}
4849
onBeforeSendVoiceMessage={onBeforeSendVoiceMessage}
4950
onBeforeSendMultipleFilesMessage={onBeforeSendMultipleFilesMessage}
51+
isMultipleFilesMessageEnabled={isMultipleFilesMessageEnabled}
5052
>
5153
<ThreadUI
5254
renderHeader={renderHeader}

0 commit comments

Comments
 (0)