From 1c4916a3a59f1b0bc4775bcd15e8d564d4ee8233 Mon Sep 17 00:00:00 2001 From: HoonBaek Date: Mon, 25 Oct 2021 15:41:38 +0900 Subject: [PATCH 1/2] Add a quote message as a param of onBeforeSendUserMessage and onBeforeSendFileMessage --- src/index.d.ts | 6 +++--- .../Conversation/hooks/useSendFileMessageCallback.js | 2 +- .../Conversation/hooks/useSendMessageCallback.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/index.d.ts b/src/index.d.ts index aeebf1738..fbaa05fd2 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -4,7 +4,7 @@ * git: https://github.com/sendbird/SendBird-UIKIT-JavaScript */ import React from 'react'; -import Sendbird from 'sendbird'; +import Sendbird, { FileMessage, UserMessage } from 'sendbird'; export type OpenChannelType = Sendbird.OpenChannel; export type GroupChannelType = Sendbird.GroupChannel; @@ -376,8 +376,8 @@ interface ChannelProps { onSearchClick?(): void; highlightedMessage?: string | number; startingPoint?: number; - onBeforeSendUserMessage?(text: string): Sendbird.UserMessageParams; - onBeforeSendFileMessage?(file: File): Sendbird.FileMessageParams; + onBeforeSendUserMessage?(text: string, quoteMessage?: UserMessage | FileMessage): Sendbird.UserMessageParams; + onBeforeSendFileMessage?(file: File, quoteMessage?: UserMessage | FileMessage): Sendbird.FileMessageParams; onBeforeUpdateUserMessage?(text: string): Sendbird.UserMessageParams; onChatHeaderActionClick?(event: React.MouseEvent): void; renderCustomMessage?: RenderCustomMessage; diff --git a/src/smart-components/Conversation/hooks/useSendFileMessageCallback.js b/src/smart-components/Conversation/hooks/useSendFileMessageCallback.js index 7ee98524a..7370a96a9 100644 --- a/src/smart-components/Conversation/hooks/useSendFileMessageCallback.js +++ b/src/smart-components/Conversation/hooks/useSendFileMessageCallback.js @@ -72,7 +72,7 @@ export default function useSendFileMessageCallback({ logger.info('Channel: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage); } const params = createCustomParams - ? onBeforeSendFileMessage(compressedFile) + ? onBeforeSendFileMessage(compressedFile, quoteMessage) : createParamsDefault(compressedFile); logger.info('Channel: Uploading file message start!', params); const pendingMessage = currentGroupChannel.sendFileMessage( diff --git a/src/smart-components/Conversation/hooks/useSendMessageCallback.js b/src/smart-components/Conversation/hooks/useSendMessageCallback.js index 88eb232f2..0918040d2 100644 --- a/src/smart-components/Conversation/hooks/useSendMessageCallback.js +++ b/src/smart-components/Conversation/hooks/useSendMessageCallback.js @@ -34,7 +34,7 @@ export default function useSendMessageCallback({ currentGroupChannel, onBeforeSe } const params = onBeforeSendUserMessage - ? onBeforeSendUserMessage(text) + ? onBeforeSendUserMessage(text, quoteMessage) : createParamsDefault(text); logger.info('Channel: Sending message has started', params); From ffd52e2dae777eb020cfa33139a9823d2cf7e4fe Mon Sep 17 00:00:00 2001 From: HoonBaek Date: Mon, 25 Oct 2021 15:47:37 +0900 Subject: [PATCH 2/2] Add a quoteMessage as a prop of the renderMessageInput props --- src/index.d.ts | 1 + .../Conversation/components/MessageInputWrapper.tsx | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/index.d.ts b/src/index.d.ts index fbaa05fd2..8b824e630 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -166,6 +166,7 @@ export interface RenderGroupChannelMessageInputProps { channel: Sendbird.GroupChannel; user: Sendbird.User; disabled: boolean; + quoteMessage?: UserMessage | FileMessage; } export interface ClientMessageSearchQuery extends SendBird.MessageSearchQuery { diff --git a/src/smart-components/Conversation/components/MessageInputWrapper.tsx b/src/smart-components/Conversation/components/MessageInputWrapper.tsx index 653c0ab79..c414719f8 100644 --- a/src/smart-components/Conversation/components/MessageInputWrapper.tsx +++ b/src/smart-components/Conversation/components/MessageInputWrapper.tsx @@ -46,7 +46,7 @@ const MessageInputWrapper = ({ // custom message if (renderMessageInput) { - return renderMessageInput({ channel, user, disabled }); + return renderMessageInput({ channel, user, disabled, quoteMessage }); } // broadcast channel + not operator