@tencentcloud/chat-uikit-react 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +69 -83
- package/dist/cjs/components/ConversationCreate/ConversationCreatGroupDetail.js +1 -1
- package/dist/cjs/components/ConversationCreate/ConversationCreate.js +1 -1
- package/dist/cjs/components/ConversationCreate/ConversationCreateUserSelectList.js +1 -1
- package/dist/cjs/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
- package/dist/cjs/components/ConversationPreview/ConversationListContainer.d.ts +1 -1
- package/dist/cjs/components/ConversationPreview/ConversationPreview.d.ts +1 -1
- package/dist/cjs/components/ConversationPreview/ConversationPreviewContent.js +1 -1
- package/dist/cjs/components/ConversationPreview/utils.js +1 -1
- package/dist/cjs/components/ConversationSearch/ConversationSearchResult.d.ts +1 -1
- package/dist/cjs/components/ConversationSearch/ConversationSearchResult.js +1 -1
- package/dist/cjs/components/TUIChat/TUIChat.d.ts +1 -1
- package/dist/cjs/components/TUIChat/TUIChat.js +1 -1
- package/dist/cjs/components/TUIChat/TUIChatState.js +1 -1
- package/dist/cjs/components/TUIChat/hooks/useCreateMessage.d.ts +2 -2
- package/dist/cjs/components/TUIChat/hooks/useCreateMessage.js +1 -1
- package/dist/cjs/components/TUIChat/hooks/useCreateTUIChatStateContext.js +1 -1
- package/dist/cjs/components/TUIChat/hooks/useHandleMessage.d.ts +1 -1
- package/dist/cjs/components/TUIChat/hooks/useHandleMessageList.js +1 -1
- package/dist/cjs/components/TUIChat/hooks/useMessageReceviedListener.js +1 -1
- package/dist/cjs/components/TUIChat/unitls.js +1 -1
- package/dist/cjs/components/TUIChatHeader/TUIChatHeader.d.ts +1 -1
- package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.d.ts +1 -1
- package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
- package/dist/cjs/components/TUIConversation/TUIConversation.d.ts +1 -1
- package/dist/cjs/components/TUIConversation/TUIConversation.js +1 -1
- package/dist/cjs/components/TUIConversationList/TUIConversationList.d.ts +1 -1
- package/dist/cjs/components/TUIConversationList/TUIConversationList.js +1 -1
- package/dist/cjs/components/TUIConversationList/hooks/useConversationList.js +1 -1
- package/dist/cjs/components/TUIConversationList/hooks/useConversationUpdate.js +1 -1
- package/dist/cjs/components/TUIKit/TUIKit.d.ts +2 -2
- package/dist/cjs/components/TUIKit/TUIKit.js +1 -1
- package/dist/cjs/components/TUIKit/hooks/useCreateTUIKitContext.d.ts +5 -5
- package/dist/cjs/components/TUIKit/hooks/useCreateTUIKitContext.js +1 -1
- package/dist/cjs/components/TUIKit/hooks/useTUIKit.d.ts +3 -3
- package/dist/cjs/components/TUIKit/hooks/useTUIKit.js +1 -1
- package/dist/cjs/components/TUIManage/TUIManage.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageBubble.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageContext.d.ts +1 -1
- package/dist/cjs/components/TUIMessage/MessageContext.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageCustom.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageFile.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageImage.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageMerger.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageName.js +1 -1
- package/dist/cjs/components/TUIMessage/MessagePlugins.d.ts +2 -2
- package/dist/cjs/components/TUIMessage/MessagePlugins.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageProgress.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageRevoke.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageText.js +1 -1
- package/dist/cjs/components/TUIMessage/TUIMessage.d.ts +1 -1
- package/dist/cjs/components/TUIMessage/TUIMessage.js +1 -1
- package/dist/cjs/components/TUIMessage/TUIMessageDefault.js +1 -1
- package/dist/cjs/components/TUIMessage/hooks/useMessageContextHandler.js +1 -1
- package/dist/cjs/components/TUIMessage/hooks/useMessageHandler.js +1 -1
- package/dist/cjs/components/TUIMessage/hooks/useMessageReply.js +1 -1
- package/dist/cjs/components/TUIMessage/utils/index.js +1 -1
- package/dist/cjs/components/TUIMessageInput/TUIMessageInput.js +1 -1
- package/dist/cjs/components/TUIMessageInput/hooks/useHandleForwardMessage.js +1 -1
- package/dist/cjs/components/TUIMessageInput/hooks/useHandleQuoteMessage.js +1 -1
- package/dist/cjs/components/TUIMessageInput/hooks/useMessageInputText.js +1 -1
- package/dist/cjs/components/TUIMessageInput/hooks/useUploadPicker.js +1 -1
- package/dist/cjs/components/TUIMessageList/TUIMessageList.d.ts +1 -1
- package/dist/cjs/components/TUIMessageList/TUIMessageList.js +1 -1
- package/dist/cjs/components/TUIMessageList/hooks/useMessageListElement.js +1 -1
- package/dist/cjs/components/TUIProfile/TUIProfileDefault.d.ts +1 -1
- package/dist/cjs/components/TUIProfile/TUIProfileDefault.js +1 -1
- package/dist/cjs/components/TUIProfile/hooks/useMyProfile.js +1 -1
- package/dist/cjs/components/untils.js +1 -1
- package/dist/cjs/constants.js +1 -1
- package/dist/cjs/context/TUIChatActionContext.d.ts +3 -3
- package/dist/cjs/context/TUIChatStateContext.d.ts +2 -2
- package/dist/cjs/context/TUIConversationContext.js +1 -1
- package/dist/cjs/context/TUIKitContext.d.ts +2 -2
- package/dist/cjs/context/TUIMessageContext.d.ts +1 -1
- package/dist/cjs/hooks/useConversation.d.ts +3 -3
- package/dist/cjs/hooks/useConversation.js +1 -1
- package/dist/cjs/hooks/useProfile.d.ts +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/esm/components/ConversationCreate/ConversationCreatGroupDetail.js +1 -1
- package/dist/esm/components/ConversationCreate/ConversationCreate.js +1 -1
- package/dist/esm/components/ConversationCreate/ConversationCreateUserSelectList.js +1 -1
- package/dist/esm/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
- package/dist/esm/components/ConversationPreview/ConversationListContainer.d.ts +1 -1
- package/dist/esm/components/ConversationPreview/ConversationPreview.d.ts +1 -1
- package/dist/esm/components/ConversationPreview/ConversationPreviewContent.js +1 -1
- package/dist/esm/components/ConversationPreview/utils.js +1 -1
- package/dist/esm/components/ConversationSearch/ConversationSearchResult.d.ts +1 -1
- package/dist/esm/components/ConversationSearch/ConversationSearchResult.js +1 -1
- package/dist/esm/components/TUIChat/TUIChat.d.ts +1 -1
- package/dist/esm/components/TUIChat/TUIChat.js +1 -1
- package/dist/esm/components/TUIChat/TUIChatState.js +1 -1
- package/dist/esm/components/TUIChat/hooks/useCreateMessage.d.ts +2 -2
- package/dist/esm/components/TUIChat/hooks/useCreateMessage.js +1 -1
- package/dist/esm/components/TUIChat/hooks/useCreateTUIChatStateContext.js +1 -1
- package/dist/esm/components/TUIChat/hooks/useHandleMessage.d.ts +1 -1
- package/dist/esm/components/TUIChat/hooks/useHandleMessageList.js +1 -1
- package/dist/esm/components/TUIChat/hooks/useMessageReceviedListener.js +1 -1
- package/dist/esm/components/TUIChat/unitls.js +1 -1
- package/dist/esm/components/TUIChatHeader/TUIChatHeader.d.ts +1 -1
- package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.d.ts +1 -1
- package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
- package/dist/esm/components/TUIConversation/TUIConversation.d.ts +1 -1
- package/dist/esm/components/TUIConversation/TUIConversation.js +1 -1
- package/dist/esm/components/TUIConversationList/TUIConversationList.d.ts +1 -1
- package/dist/esm/components/TUIConversationList/TUIConversationList.js +1 -1
- package/dist/esm/components/TUIConversationList/hooks/useConversationList.js +1 -1
- package/dist/esm/components/TUIConversationList/hooks/useConversationUpdate.js +1 -1
- package/dist/esm/components/TUIKit/TUIKit.d.ts +2 -2
- package/dist/esm/components/TUIKit/TUIKit.js +1 -1
- package/dist/esm/components/TUIKit/hooks/useCreateTUIKitContext.d.ts +5 -5
- package/dist/esm/components/TUIKit/hooks/useCreateTUIKitContext.js +1 -1
- package/dist/esm/components/TUIKit/hooks/useTUIKit.d.ts +3 -3
- package/dist/esm/components/TUIKit/hooks/useTUIKit.js +1 -1
- package/dist/esm/components/TUIManage/TUIManage.js +1 -1
- package/dist/esm/components/TUIMessage/MessageBubble.js +1 -1
- package/dist/esm/components/TUIMessage/MessageContext.d.ts +1 -1
- package/dist/esm/components/TUIMessage/MessageContext.js +1 -1
- package/dist/esm/components/TUIMessage/MessageCustom.js +1 -1
- package/dist/esm/components/TUIMessage/MessageFile.js +1 -1
- package/dist/esm/components/TUIMessage/MessageImage.js +1 -1
- package/dist/esm/components/TUIMessage/MessageMerger.js +1 -1
- package/dist/esm/components/TUIMessage/MessageName.js +1 -1
- package/dist/esm/components/TUIMessage/MessagePlugins.d.ts +2 -2
- package/dist/esm/components/TUIMessage/MessagePlugins.js +1 -1
- package/dist/esm/components/TUIMessage/MessageProgress.js +1 -1
- package/dist/esm/components/TUIMessage/MessageRevoke.js +1 -1
- package/dist/esm/components/TUIMessage/MessageText.js +1 -1
- package/dist/esm/components/TUIMessage/TUIMessage.d.ts +1 -1
- package/dist/esm/components/TUIMessage/TUIMessage.js +1 -1
- package/dist/esm/components/TUIMessage/TUIMessageDefault.js +1 -1
- package/dist/esm/components/TUIMessage/hooks/useMessageContextHandler.js +1 -1
- package/dist/esm/components/TUIMessage/hooks/useMessageHandler.js +1 -1
- package/dist/esm/components/TUIMessage/hooks/useMessageReply.js +1 -1
- package/dist/esm/components/TUIMessage/utils/index.js +1 -1
- package/dist/esm/components/TUIMessageInput/TUIMessageInput.js +1 -1
- package/dist/esm/components/TUIMessageInput/hooks/useHandleForwardMessage.js +1 -1
- package/dist/esm/components/TUIMessageInput/hooks/useHandleQuoteMessage.js +1 -1
- package/dist/esm/components/TUIMessageInput/hooks/useMessageInputText.js +1 -1
- package/dist/esm/components/TUIMessageInput/hooks/useUploadPicker.js +1 -1
- package/dist/esm/components/TUIMessageList/TUIMessageList.d.ts +1 -1
- package/dist/esm/components/TUIMessageList/TUIMessageList.js +1 -1
- package/dist/esm/components/TUIMessageList/hooks/useMessageListElement.js +1 -1
- package/dist/esm/components/TUIProfile/TUIProfileDefault.d.ts +1 -1
- package/dist/esm/components/TUIProfile/TUIProfileDefault.js +1 -1
- package/dist/esm/components/TUIProfile/hooks/useMyProfile.js +1 -1
- package/dist/esm/components/untils.js +1 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/context/TUIChatActionContext.d.ts +3 -3
- package/dist/esm/context/TUIChatStateContext.d.ts +2 -2
- package/dist/esm/context/TUIConversationContext.js +1 -1
- package/dist/esm/context/TUIKitContext.d.ts +2 -2
- package/dist/esm/context/TUIMessageContext.d.ts +1 -1
- package/dist/esm/hooks/useConversation.d.ts +3 -3
- package/dist/esm/hooks/useConversation.js +1 -1
- package/dist/esm/hooks/useProfile.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/package.json +2 -3
- package/src/components/ConversationCreate/ConversationCreatGroupDetail.tsx +5 -2
- package/src/components/ConversationCreate/ConversationCreate.tsx +3 -3
- package/src/components/ConversationCreate/ConversationCreateSelectView.tsx +1 -1
- package/src/components/ConversationCreate/ConversationCreateUserSelectList.tsx +4 -4
- package/src/components/ConversationCreate/ConversationGroupTypeInfo.tsx +5 -5
- package/src/components/ConversationCreate/hooks/useConversationCreate.tsx +6 -6
- package/src/components/ConversationPreview/ConversationListContainer.tsx +1 -1
- package/src/components/ConversationPreview/ConversationPreview.tsx +1 -1
- package/src/components/ConversationPreview/ConversationPreviewContent.tsx +2 -2
- package/src/components/ConversationPreview/utils.tsx +10 -10
- package/src/components/ConversationSearch/ConversationSearchResult.tsx +1 -1
- package/src/components/Profile/Profile.tsx +1 -1
- package/src/components/Profile/hooks/useProfile.tsx +5 -5
- package/src/components/TUIChat/TUIChat.tsx +23 -17
- package/src/components/TUIChat/TUIChatState.tsx +7 -7
- package/src/components/TUIChat/hooks/useCreateMessage.tsx +29 -29
- package/src/components/TUIChat/hooks/useCreateTUIChatStateContext.tsx +5 -5
- package/src/components/TUIChat/hooks/useHandleMessage.tsx +2 -2
- package/src/components/TUIChat/hooks/useHandleMessageList.tsx +28 -15
- package/src/components/TUIChat/hooks/useMessageReceviedListener.tsx +5 -5
- package/src/components/TUIChat/unitls.ts +3 -3
- package/src/components/TUIChatHeader/TUIChatHeader.tsx +1 -1
- package/src/components/TUIChatHeader/TUIChatHeaderDefault.tsx +7 -7
- package/src/components/TUIConversation/TUIConversation.tsx +1 -1
- package/src/components/TUIConversationList/TUIConversationList.tsx +3 -3
- package/src/components/TUIConversationList/hooks/useConversationList.tsx +5 -5
- package/src/components/TUIConversationList/hooks/useConversationUpdate.tsx +6 -6
- package/src/components/TUIKit/TUIKit.tsx +5 -5
- package/src/components/TUIKit/hooks/useCreateTUIKitContext.tsx +3 -3
- package/src/components/TUIKit/hooks/useTUIKit.tsx +8 -8
- package/src/components/TUIManage/TUIManage.tsx +2 -2
- package/src/components/TUIMessage/MessageAvatar.tsx +1 -1
- package/src/components/TUIMessage/MessageBubble.tsx +4 -4
- package/src/components/TUIMessage/MessageContext.tsx +19 -19
- package/src/components/TUIMessage/MessageCustom.tsx +2 -2
- package/src/components/TUIMessage/MessageFile.tsx +2 -2
- package/src/components/TUIMessage/MessageImage.tsx +2 -2
- package/src/components/TUIMessage/MessageMerger.tsx +2 -2
- package/src/components/TUIMessage/MessageName.tsx +2 -2
- package/src/components/TUIMessage/MessagePlugins.tsx +3 -3
- package/src/components/TUIMessage/MessageProgress.tsx +8 -8
- package/src/components/TUIMessage/MessageRevoke.tsx +2 -2
- package/src/components/TUIMessage/MessageStatus.tsx +1 -1
- package/src/components/TUIMessage/MessageText.tsx +2 -2
- package/src/components/TUIMessage/TUIMessage.tsx +1 -1
- package/src/components/TUIMessage/TUIMessageDefault.tsx +7 -8
- package/src/components/TUIMessage/hooks/useMessageContextHandler.ts +12 -12
- package/src/components/TUIMessage/hooks/useMessageHandler.ts +12 -12
- package/src/components/TUIMessage/hooks/useMessagePluginElement.tsx +2 -2
- package/src/components/TUIMessage/hooks/useMessageReply.ts +11 -11
- package/src/components/TUIMessage/utils/index.ts +16 -16
- package/src/components/TUIMessageInput/InputQuoteDefalut.tsx +1 -1
- package/src/components/TUIMessageInput/TUIForward.tsx +1 -1
- package/src/components/TUIMessageInput/TUIMessageInput.tsx +2 -2
- package/src/components/TUIMessageInput/hooks/useHandleForwardMessage.tsx +5 -5
- package/src/components/TUIMessageInput/hooks/useHandleQuoteMessage.tsx +15 -15
- package/src/components/TUIMessageInput/hooks/useMessageInputText.tsx +2 -2
- package/src/components/TUIMessageInput/hooks/useUploadPicker.tsx +2 -2
- package/src/components/TUIMessageList/TUIMessageList.tsx +2 -2
- package/src/components/TUIMessageList/hooks/useEnrichedMessageList.tsx +1 -1
- package/src/components/TUIMessageList/hooks/useMessageListElement.tsx +8 -11
- package/src/components/TUIProfile/TUIProfileDefault.tsx +6 -6
- package/src/components/TUIProfile/hooks/useMyProfile.tsx +9 -9
- package/src/components/untils.ts +4 -4
- package/src/constants.ts +1 -1
- package/src/context/TUIChatActionContext.tsx +3 -3
- package/src/context/TUIChatStateContext.tsx +2 -2
- package/src/context/TUIConversationContext.tsx +1 -1
- package/src/context/TUIKitContext.tsx +2 -2
- package/src/context/TUIMessageContext.tsx +1 -1
- package/src/hooks/useConversation.tsx +11 -11
- package/src/hooks/useProfile.tsx +2 -2
- package/readme.zh_cn.md +0 -60
- package/src/@types/index.d.ts +0 -1
- package/src/@types/index.js +0 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import TencentCloudChat, { Message } from '@tencentcloud/chat';
|
|
3
3
|
|
|
4
4
|
import { MessageAudio } from './MessageAudio';
|
|
5
5
|
import { MessageCustom } from './MessageCustom';
|
|
@@ -16,15 +16,15 @@ import { MessageStatus } from './MessageStatus';
|
|
|
16
16
|
import { useTUIMessageContext } from '../../context';
|
|
17
17
|
|
|
18
18
|
const components = {
|
|
19
|
-
[
|
|
20
|
-
[
|
|
21
|
-
[
|
|
22
|
-
[
|
|
23
|
-
[
|
|
24
|
-
[
|
|
25
|
-
[
|
|
26
|
-
[
|
|
27
|
-
[
|
|
19
|
+
[TencentCloudChat.TYPES.MSG_TEXT]: MessageText,
|
|
20
|
+
[TencentCloudChat.TYPES.MSG_FACE]: MessageFace,
|
|
21
|
+
[TencentCloudChat.TYPES.MSG_IMAGE]: MessageImage,
|
|
22
|
+
[TencentCloudChat.TYPES.MSG_AUDIO]: MessageAudio,
|
|
23
|
+
[TencentCloudChat.TYPES.MSG_VIDEO]: MessageVideo,
|
|
24
|
+
[TencentCloudChat.TYPES.MSG_FILE]: MessageFile,
|
|
25
|
+
[TencentCloudChat.TYPES.MSG_CUSTOM]: MessageCustom,
|
|
26
|
+
[TencentCloudChat.TYPES.MSG_MERGER]: MessageMerger,
|
|
27
|
+
[TencentCloudChat.TYPES.MSG_LOCATION]: MessageLocation,
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
export interface MessageContextProps {
|
|
@@ -52,15 +52,15 @@ function MessageContextWithContext <T extends MessageContextProps>(
|
|
|
52
52
|
} = useTUIMessageContext('MessageCustom');
|
|
53
53
|
|
|
54
54
|
const CustemComponents = {
|
|
55
|
-
[
|
|
56
|
-
[
|
|
57
|
-
[
|
|
58
|
-
[
|
|
59
|
-
[
|
|
60
|
-
[
|
|
61
|
-
[
|
|
62
|
-
[
|
|
63
|
-
[
|
|
55
|
+
[TencentCloudChat.TYPES.MSG_TEXT]: TextElement,
|
|
56
|
+
[TencentCloudChat.TYPES.MSG_FACE]: FaceElement,
|
|
57
|
+
[TencentCloudChat.TYPES.MSG_IMAGE]: ImageElement,
|
|
58
|
+
[TencentCloudChat.TYPES.MSG_AUDIO]: AudioElement,
|
|
59
|
+
[TencentCloudChat.TYPES.MSG_VIDEO]: VideoElement,
|
|
60
|
+
[TencentCloudChat.TYPES.MSG_FILE]: FileElement,
|
|
61
|
+
[TencentCloudChat.TYPES.MSG_CUSTOM]: CustemElement,
|
|
62
|
+
[TencentCloudChat.TYPES.MSG_MERGER]: MergerElement,
|
|
63
|
+
[TencentCloudChat.TYPES.MSG_LOCATION]: LocationElement,
|
|
64
64
|
};
|
|
65
65
|
|
|
66
66
|
const Elements = CustemComponents[message?.type] || components[message?.type];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import TencentCloudChat from '@tencentcloud/chat';
|
|
3
3
|
import { JSONStringToParse } from '../untils';
|
|
4
4
|
import type { MessageContextProps } from './MessageText';
|
|
5
5
|
|
|
@@ -36,7 +36,7 @@ function MessageCustomWithContext <T extends MessageContextProps>(
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
return (
|
|
39
|
-
<div className={`bubble message-custom bubble-${message.flow} ${message?.conversationType ===
|
|
39
|
+
<div className={`bubble message-custom bubble-${message.flow} ${message?.conversationType === TencentCloudChat.TYPES.CONV_GROUP ? 'group' : ''}`}>
|
|
40
40
|
{handleContext(context?.custom)}
|
|
41
41
|
{children}
|
|
42
42
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import TencentCloudChat from '@tencentcloud/chat';
|
|
3
3
|
import { Icon, IconTypes } from '../Icon';
|
|
4
4
|
import type { MessageContextProps } from './MessageText';
|
|
5
5
|
|
|
@@ -16,7 +16,7 @@ function MessageFileWithContext <T extends MessageContextProps>(
|
|
|
16
16
|
href={context.url}
|
|
17
17
|
download={context.name}
|
|
18
18
|
target="_parent"
|
|
19
|
-
className={`bubble message-file bubble-${message.flow} ${message?.conversationType ===
|
|
19
|
+
className={`bubble message-file bubble-${message.flow} ${message?.conversationType === TencentCloudChat.TYPES.CONV_GROUP ? 'group' : ''}`}
|
|
20
20
|
rel="noreferrer"
|
|
21
21
|
>
|
|
22
22
|
<main className="message-file-main">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren, useState } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import TencentCloudChat from '@tencentcloud/chat';
|
|
3
3
|
import { Model } from '../Model';
|
|
4
4
|
import type { MessageContextProps } from './MessageText';
|
|
5
5
|
|
|
@@ -19,7 +19,7 @@ function MessageImageWithContext <T extends MessageContextProps>(
|
|
|
19
19
|
return (
|
|
20
20
|
<div className="message-image">
|
|
21
21
|
<div role="button" tabIndex={0} onClick={() => { setShow(true); }}>
|
|
22
|
-
<img className={`img bubble-${message.flow} ${message?.conversationType ===
|
|
22
|
+
<img className={`img bubble-${message.flow} ${message?.conversationType === TencentCloudChat.TYPES.CONV_GROUP ? 'group' : ''}`} src={context.url} alt="" />
|
|
23
23
|
</div>
|
|
24
24
|
{children}
|
|
25
25
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import TencentCloudChat from '@tencentcloud/chat';
|
|
3
3
|
import type { MessageContextProps } from './MessageText';
|
|
4
4
|
|
|
5
5
|
function MessageMergerWithContext <T extends MessageContextProps>(
|
|
@@ -12,7 +12,7 @@ function MessageMergerWithContext <T extends MessageContextProps>(
|
|
|
12
12
|
} = props;
|
|
13
13
|
|
|
14
14
|
return (
|
|
15
|
-
<div className={`bubble message-merger bubble-${message.flow} ${message?.conversationType ===
|
|
15
|
+
<div className={`bubble message-merger bubble-${message.flow} ${message?.conversationType === TencentCloudChat.TYPES.CONV_GROUP ? 'group' : ''}`}>
|
|
16
16
|
<h3>{context.title}</h3>
|
|
17
17
|
<ul className="message-merger-list">
|
|
18
18
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, {
|
|
2
2
|
PropsWithChildren,
|
|
3
3
|
} from 'react';
|
|
4
|
-
import
|
|
4
|
+
import TencentCloudChat, { Message } from '@tencentcloud/chat';
|
|
5
5
|
import { MESSAGE_FLOW } from '../../constants';
|
|
6
6
|
import { messageShowType } from '../../context';
|
|
7
7
|
|
|
@@ -23,7 +23,7 @@ export function MessageName <T extends MessageNameProps>(
|
|
|
23
23
|
} = props;
|
|
24
24
|
|
|
25
25
|
const show = (showType === messageShowType.ALL || message?.flow === showType)
|
|
26
|
-
&& message?.conversationType ===
|
|
26
|
+
&& message?.conversationType === TencentCloudChat.TYPES.CONV_GROUP;
|
|
27
27
|
|
|
28
28
|
if (!show || showType === messageShowType.NONE) {
|
|
29
29
|
return null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren, useRef, useState } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import TencentCloudChat from '@tencentcloud/chat';
|
|
3
3
|
import './styles/index.scss';
|
|
4
4
|
|
|
5
5
|
import { Plugins, PluginsProps } from '../Plugins';
|
|
@@ -19,7 +19,7 @@ enum PluginsNameEnum {
|
|
|
19
19
|
export type MessagePluginConfigProps = {
|
|
20
20
|
[propsName in PluginsNameEnum]?: {
|
|
21
21
|
isShow?: boolean;
|
|
22
|
-
relateMessageType?:
|
|
22
|
+
relateMessageType?: TencentCloudChat.TYPES[],
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
25
|
|
|
@@ -64,7 +64,7 @@ export function MessagePlugins <T extends MessagePluginsProps>(
|
|
|
64
64
|
},
|
|
65
65
|
copy: {
|
|
66
66
|
isShow: true,
|
|
67
|
-
relateMessageType: [
|
|
67
|
+
relateMessageType: [TencentCloudChat.TYPES.MSG_TEXT],
|
|
68
68
|
...propsPluginConfig?.copy,
|
|
69
69
|
...contextPlugin?.config?.copy,
|
|
70
70
|
},
|
|
@@ -3,7 +3,7 @@ import React, {
|
|
|
3
3
|
useEffect,
|
|
4
4
|
useState,
|
|
5
5
|
} from 'react';
|
|
6
|
-
import
|
|
6
|
+
import TencentCloudChat, { Message } from '@tencentcloud/chat';
|
|
7
7
|
import { MESSAGE_STATUS } from '../../constants';
|
|
8
8
|
import { useTUIChatStateContext, useTUIMessageContext } from '../../context';
|
|
9
9
|
|
|
@@ -31,21 +31,21 @@ function MessageProgressWithContext <T extends MessageProgressProps>(
|
|
|
31
31
|
const [progressMessage, setProgressMessage] = useState<Message>();
|
|
32
32
|
const [progress, setProgress] = useState<number>(0);
|
|
33
33
|
|
|
34
|
-
const {
|
|
34
|
+
const { uploadPendingMessageList } = useTUIChatStateContext('MessageProgressWithContext');
|
|
35
35
|
const { isShowProgress: contextIsShow = false, Progress: contextProgress } = useTUIMessageContext('MessageProgressWithContext');
|
|
36
36
|
|
|
37
37
|
const Progress = propsProgress || contextProgress;
|
|
38
38
|
const isShow = propsIsShow || contextIsShow;
|
|
39
39
|
|
|
40
40
|
const handleLoading = () => !!((
|
|
41
|
-
message?.type ===
|
|
42
|
-
|| message?.type ===
|
|
43
|
-
|| message?.type ===
|
|
41
|
+
message?.type === TencentCloudChat.TYPES.MSG_IMAGE
|
|
42
|
+
|| message?.type === TencentCloudChat.TYPES.MSG_VIDEO
|
|
43
|
+
|| message?.type === TencentCloudChat.TYPES.MSG_FILE
|
|
44
44
|
) && message?.status === MESSAGE_STATUS.UNSEND);
|
|
45
45
|
|
|
46
46
|
useEffect(() => {
|
|
47
|
-
if (
|
|
48
|
-
|
|
47
|
+
if (uploadPendingMessageList && uploadPendingMessageList.length > 0) {
|
|
48
|
+
uploadPendingMessageList.map((item:MessageProgressItem) => {
|
|
49
49
|
if (item?.ID === message?.ID) {
|
|
50
50
|
setProgressMessage(item);
|
|
51
51
|
setProgress(item?.progress);
|
|
@@ -53,7 +53,7 @@ function MessageProgressWithContext <T extends MessageProgressProps>(
|
|
|
53
53
|
return item;
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
|
-
}, [
|
|
56
|
+
}, [uploadPendingMessageList]);
|
|
57
57
|
|
|
58
58
|
if (!isShow) {
|
|
59
59
|
return null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren, useCallback } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import TencentCloudChat from '@tencentcloud/chat';
|
|
3
3
|
import { MESSAGE_FLOW, MESSAGE_OPERATE } from '../../constants';
|
|
4
4
|
import { useTUIChatActionContext } from '../../context';
|
|
5
5
|
import type { MessageContextProps } from './MessageText';
|
|
@@ -30,7 +30,7 @@ function MessageRevokeWithContext <T extends MessageContextProps>(
|
|
|
30
30
|
<span> recalled a message</span>
|
|
31
31
|
{
|
|
32
32
|
message?.flow === MESSAGE_FLOW.OUT
|
|
33
|
-
&& message?.type ===
|
|
33
|
+
&& message?.type === TencentCloudChat.TYPES.MSG_TEXT
|
|
34
34
|
&& <span className="edit" role="button" tabIndex={0} onClick={handleRevoke}> Re-edit</span>
|
|
35
35
|
}
|
|
36
36
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import TencentCloudChat, { Message } from '@tencentcloud/chat';
|
|
3
3
|
import { UnknowPorps } from '../../context';
|
|
4
4
|
|
|
5
5
|
export interface MessageContextProps {
|
|
@@ -18,7 +18,7 @@ function MessageTextWithContext <T extends MessageContextProps>(
|
|
|
18
18
|
} = props;
|
|
19
19
|
|
|
20
20
|
return (
|
|
21
|
-
<div className={`bubble message-text bubble-${message.flow} ${message?.conversationType ===
|
|
21
|
+
<div className={`bubble message-text bubble-${message.flow} ${message?.conversationType === TencentCloudChat.TYPES.CONV_GROUP ? 'group' : ''}`}>
|
|
22
22
|
<div className="message-text-content">
|
|
23
23
|
{context.text.map((item, index) => {
|
|
24
24
|
const key = message.ID + index;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import TencentCloudChat from '@tencentcloud/chat';
|
|
3
3
|
import type { TUIMessageProps } from './TUIMessage';
|
|
4
4
|
|
|
5
5
|
import { MessageBubble } from './MessageBubble';
|
|
@@ -43,35 +43,34 @@ function TUIMessageDefaultWithContext <T extends TUIMessageProps>(
|
|
|
43
43
|
<div
|
|
44
44
|
className={
|
|
45
45
|
`message-default
|
|
46
|
-
${(message?.type ===
|
|
46
|
+
${(message?.type === TencentCloudChat.TYPES.MSG_GRP_TIP || message?.isRevoked) ? 'tip' : message?.flow}
|
|
47
47
|
${className}
|
|
48
48
|
`
|
|
49
49
|
}
|
|
50
50
|
>
|
|
51
51
|
{
|
|
52
|
-
message?.type ===
|
|
52
|
+
message?.type === TencentCloudChat.TYPES.MSG_GRP_TIP
|
|
53
53
|
&& (<MessageTip message={message} />)
|
|
54
54
|
}
|
|
55
55
|
{
|
|
56
|
-
message?.type ===
|
|
56
|
+
message?.type === TencentCloudChat.TYPES.MSG_GRP_SYS_NOTICE
|
|
57
57
|
&& (<MessageSystem message={message} />)
|
|
58
58
|
}
|
|
59
59
|
{
|
|
60
60
|
message?.isRevoked
|
|
61
61
|
&& (<MessageRevoke message={message} />)
|
|
62
62
|
}
|
|
63
|
-
{message?.type !==
|
|
64
|
-
&& message?.type !==
|
|
63
|
+
{message?.type !== TencentCloudChat.TYPES.MSG_GRP_TIP
|
|
64
|
+
&& message?.type !== TencentCloudChat.TYPES.MSG_GRP_SYS_NOTICE
|
|
65
65
|
&& !message?.isRevoked
|
|
66
66
|
&& (
|
|
67
67
|
<div
|
|
68
68
|
className={`${message?.flow}`}
|
|
69
69
|
key={message?.ID}
|
|
70
|
-
data-message-id={message?.ID}
|
|
71
70
|
>
|
|
72
71
|
{prefix}
|
|
73
72
|
<MessageAvatar message={message} CustomAvatar={customAvatar} showType={showAvatar} />
|
|
74
|
-
<main className="content">
|
|
73
|
+
<main data-message-id={message?.ID} className="content">
|
|
75
74
|
<MessageName message={message} CustomName={customName} showType={showName} />
|
|
76
75
|
<MessageBubble
|
|
77
76
|
message={message}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import TencentCloudChat, { Message } from '@tencentcloud/chat';
|
|
2
2
|
import {
|
|
3
3
|
handleAudioMessageShowContext,
|
|
4
4
|
handleCustomMessageShowContext,
|
|
@@ -24,37 +24,37 @@ export const useMessageContextHandler = <T extends messageContextParams>(params:
|
|
|
24
24
|
let context;
|
|
25
25
|
if (message) {
|
|
26
26
|
switch (message?.type) {
|
|
27
|
-
case
|
|
27
|
+
case TencentCloudChat.TYPES.MSG_TEXT:
|
|
28
28
|
context = handleTextMessageShowContext(message);
|
|
29
29
|
break;
|
|
30
|
-
case
|
|
30
|
+
case TencentCloudChat.TYPES.MSG_FACE:
|
|
31
31
|
context = handleFaceMessageShowContext(message);
|
|
32
32
|
break;
|
|
33
|
-
case
|
|
33
|
+
case TencentCloudChat.TYPES.MSG_IMAGE:
|
|
34
34
|
context = handleImageMessageShowContext(message);
|
|
35
35
|
break;
|
|
36
|
-
case
|
|
36
|
+
case TencentCloudChat.TYPES.MSG_AUDIO:
|
|
37
37
|
context = handleAudioMessageShowContext(message);
|
|
38
38
|
break;
|
|
39
|
-
case
|
|
39
|
+
case TencentCloudChat.TYPES.MSG_VIDEO:
|
|
40
40
|
context = handleVideoMessageShowContext(message);
|
|
41
41
|
break;
|
|
42
|
-
case
|
|
42
|
+
case TencentCloudChat.TYPES.MSG_FILE:
|
|
43
43
|
context = handleFileMessageShowContext(message);
|
|
44
44
|
break;
|
|
45
|
-
case
|
|
45
|
+
case TencentCloudChat.TYPES.MSG_CUSTOM:
|
|
46
46
|
context = handleCustomMessageShowContext(message);
|
|
47
47
|
break;
|
|
48
|
-
case
|
|
48
|
+
case TencentCloudChat.TYPES.MSG_MERGER:
|
|
49
49
|
context = handleMergerMessageShowContext(message);
|
|
50
50
|
break;
|
|
51
|
-
case
|
|
51
|
+
case TencentCloudChat.TYPES.MSG_LOCATION:
|
|
52
52
|
context = handleLocationMessageShowContext(message);
|
|
53
53
|
break;
|
|
54
|
-
case
|
|
54
|
+
case TencentCloudChat.TYPES.MSG_GRP_TIP:
|
|
55
55
|
context = handleTipMessageShowContext(message);
|
|
56
56
|
break;
|
|
57
|
-
case
|
|
57
|
+
case TencentCloudChat.TYPES.MSG_GRP_SYS_NOTICE:
|
|
58
58
|
context = translateGroupSystemNotice(message);
|
|
59
59
|
break;
|
|
60
60
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
|
-
import { Message } from '
|
|
2
|
+
import { Message } from '@tencentcloud/chat';
|
|
3
3
|
import { MESSAGE_FLOW, MESSAGE_OPERATE } from '../../../constants';
|
|
4
4
|
import { useTUIChatActionContext, useTUIKitContext } from '../../../context';
|
|
5
5
|
import { Toast } from '../../Toast';
|
|
@@ -17,20 +17,20 @@ export const useMessageHandler = (props?: MessageHandlerProps) => {
|
|
|
17
17
|
|
|
18
18
|
const {
|
|
19
19
|
removeMessage,
|
|
20
|
-
|
|
20
|
+
editLocalMessage,
|
|
21
21
|
operateMessage,
|
|
22
22
|
revokeMessage,
|
|
23
23
|
} = useTUIChatActionContext('useDeleteHandler');
|
|
24
|
-
const {
|
|
24
|
+
const { chat } = useTUIKitContext('useDeleteHandler');
|
|
25
25
|
|
|
26
26
|
const handleDelMessage = useCallback(async (event?) => {
|
|
27
27
|
event.preventDefault();
|
|
28
|
-
if (!message?.ID || !
|
|
28
|
+
if (!message?.ID || !chat || !removeMessage) {
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
try {
|
|
33
|
-
await
|
|
33
|
+
await chat.deleteMessage([message]);
|
|
34
34
|
removeMessage(message);
|
|
35
35
|
} catch (error) {
|
|
36
36
|
if (handleError) {
|
|
@@ -47,7 +47,7 @@ export const useMessageHandler = (props?: MessageHandlerProps) => {
|
|
|
47
47
|
|
|
48
48
|
const handleRevokeMessage = useCallback(async (event?) => {
|
|
49
49
|
event.preventDefault();
|
|
50
|
-
if (!message?.ID || !
|
|
50
|
+
if (!message?.ID || !chat || !editLocalMessage) {
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -55,9 +55,9 @@ export const useMessageHandler = (props?: MessageHandlerProps) => {
|
|
|
55
55
|
if (revokeMessage) {
|
|
56
56
|
await revokeMessage(message);
|
|
57
57
|
} else {
|
|
58
|
-
await
|
|
58
|
+
await chat.revokeMessage(message);
|
|
59
59
|
}
|
|
60
|
-
|
|
60
|
+
editLocalMessage(message);
|
|
61
61
|
} catch (error) {
|
|
62
62
|
if (handleError) {
|
|
63
63
|
handleError({
|
|
@@ -74,7 +74,7 @@ export const useMessageHandler = (props?: MessageHandlerProps) => {
|
|
|
74
74
|
|
|
75
75
|
const handleReplyMessage = useCallback((event?) => {
|
|
76
76
|
event.preventDefault();
|
|
77
|
-
if (!message?.ID || !
|
|
77
|
+
if (!message?.ID || !chat || !operateMessage) {
|
|
78
78
|
return;
|
|
79
79
|
}
|
|
80
80
|
operateMessage({
|
|
@@ -106,8 +106,8 @@ export const useMessageHandler = (props?: MessageHandlerProps) => {
|
|
|
106
106
|
|
|
107
107
|
const handleResendMessage = useCallback(async (event?) => {
|
|
108
108
|
try {
|
|
109
|
-
const res = await
|
|
110
|
-
|
|
109
|
+
const res = await chat.resendMessage(message);
|
|
110
|
+
editLocalMessage(res?.data?.message);
|
|
111
111
|
} catch (error) {
|
|
112
112
|
if (handleError) {
|
|
113
113
|
handleError({
|
|
@@ -123,7 +123,7 @@ export const useMessageHandler = (props?: MessageHandlerProps) => {
|
|
|
123
123
|
|
|
124
124
|
const handleForWardMessage = useCallback(async (event?) => {
|
|
125
125
|
event.preventDefault();
|
|
126
|
-
if (!message?.ID || !
|
|
126
|
+
if (!message?.ID || !chat || !operateMessage) {
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
129
129
|
operateMessage({
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import TencentCloudChat, { Message } from '@tencentcloud/chat';
|
|
3
3
|
|
|
4
4
|
interface MessagePluginElementProps {
|
|
5
5
|
handle?: (event?:React.SyntheticEvent<Element, Event>) => void,
|
|
6
6
|
children: React.ReactNode,
|
|
7
7
|
isShow?: boolean,
|
|
8
|
-
relateMessageType?:
|
|
8
|
+
relateMessageType?: TencentCloudChat.TYPES[],
|
|
9
9
|
message?: Message
|
|
10
10
|
}
|
|
11
11
|
export const useMessagePluginElement = <
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useLayoutEffect, useState } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import TencentCloudChat, { Message } from '@tencentcloud/chat';
|
|
3
3
|
import { useTUIChatStateContext, useTUIKitContext } from '../../../context';
|
|
4
4
|
import { JSONStringToParse } from '../../untils';
|
|
5
5
|
|
|
@@ -8,13 +8,13 @@ interface messageContextParams {
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
const replyType = {
|
|
11
|
-
[
|
|
12
|
-
[
|
|
13
|
-
[
|
|
14
|
-
[
|
|
15
|
-
[
|
|
16
|
-
[
|
|
17
|
-
[
|
|
11
|
+
[TencentCloudChat.TYPES.MSG_TEXT]: 1,
|
|
12
|
+
[TencentCloudChat.TYPES.MSG_FACE]: 8,
|
|
13
|
+
[TencentCloudChat.TYPES.MSG_IMAGE]: 3,
|
|
14
|
+
[TencentCloudChat.TYPES.MSG_AUDIO]: 4,
|
|
15
|
+
[TencentCloudChat.TYPES.MSG_VIDEO]: 5,
|
|
16
|
+
[TencentCloudChat.TYPES.MSG_FILE]: 6,
|
|
17
|
+
[TencentCloudChat.TYPES.MSG_CUSTOM]: 2,
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
export const useMessageReply = <T extends messageContextParams>(params:T) => {
|
|
@@ -26,7 +26,7 @@ export const useMessageReply = <T extends messageContextParams>(params:T) => {
|
|
|
26
26
|
const [replyMessage, setReplyMessage] = useState(null);
|
|
27
27
|
const [messageID, setMessageID] = useState('');
|
|
28
28
|
|
|
29
|
-
const {
|
|
29
|
+
const { chat } = useTUIKitContext('TUIChat');
|
|
30
30
|
const { messageList } = useTUIChatStateContext('useMessageReply');
|
|
31
31
|
|
|
32
32
|
useLayoutEffect(() => {
|
|
@@ -48,11 +48,11 @@ export const useMessageReply = <T extends messageContextParams>(params:T) => {
|
|
|
48
48
|
const replyData = messageList.filter((item) => {
|
|
49
49
|
const isSomeID = item.ID === reply?.messageID;
|
|
50
50
|
const isSomeType = isSomeID && replyType[item.type] === reply.messageType;
|
|
51
|
-
const isSomeContent = item.type ===
|
|
51
|
+
const isSomeContent = item.type === TencentCloudChat.TYPES.MSG_TEXT
|
|
52
52
|
? item.payload.text === reply.messageAbstract : true;
|
|
53
53
|
return isSomeID && isSomeType && isSomeContent;
|
|
54
54
|
});
|
|
55
|
-
setReplyMessage(replyData[0] ||
|
|
55
|
+
setReplyMessage(replyData[0] || chat.findMessage(reply?.messageID));
|
|
56
56
|
};
|
|
57
57
|
|
|
58
58
|
return {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import TencentCloudChat, { Conversation, Group, Message } from '@tencentcloud/chat';
|
|
2
2
|
import { decodeText } from './decodeText';
|
|
3
3
|
import constant, { MESSAGE_STATUS } from '../../../constants';
|
|
4
4
|
import { JSONStringToParse } from '../../untils';
|
|
@@ -12,12 +12,12 @@ function t(params:string) {
|
|
|
12
12
|
export function handleAvatar(item: any) {
|
|
13
13
|
let avatar = '';
|
|
14
14
|
switch (item.type) {
|
|
15
|
-
case
|
|
15
|
+
case TencentCloudChat.TYPES.CONV_C2C:
|
|
16
16
|
avatar = isUrl(item?.userProfile?.avatar)
|
|
17
17
|
? item?.userProfile?.avatar
|
|
18
18
|
: 'https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png';
|
|
19
19
|
break;
|
|
20
|
-
case
|
|
20
|
+
case TencentCloudChat.TYPES.CONV_GROUP:
|
|
21
21
|
avatar = isUrl(item?.groupProfile?.avatar)
|
|
22
22
|
? item?.groupProfile?.avatar
|
|
23
23
|
: 'https://sdk-web-1252463788.cos.ap-hongkong.myqcloud.com/im/demo/TUIkit/web/img/constomer.svg';
|
|
@@ -35,10 +35,10 @@ export function handleAvatar(item: any) {
|
|
|
35
35
|
export function handleName(item: Conversation) {
|
|
36
36
|
let name = '';
|
|
37
37
|
switch (item.type) {
|
|
38
|
-
case
|
|
38
|
+
case TencentCloudChat.TYPES.CONV_C2C:
|
|
39
39
|
name = item?.userProfile.nick || item?.userProfile?.userID || '';
|
|
40
40
|
break;
|
|
41
|
-
case
|
|
41
|
+
case TencentCloudChat.TYPES.CONV_GROUP:
|
|
42
42
|
name = item.groupProfile.name || item?.groupProfile?.groupID || '';
|
|
43
43
|
break;
|
|
44
44
|
default:
|
|
@@ -71,7 +71,7 @@ export function handleShowLastMessage(item: Conversation) {
|
|
|
71
71
|
// Judge the number of unread messages and display them only
|
|
72
72
|
// when the message is enabled without interruption.
|
|
73
73
|
const showUnreadCount = conversation.unreadCount > 0
|
|
74
|
-
&& conversation.messageRemindType ===
|
|
74
|
+
&& conversation.messageRemindType === TencentCloudChat.TYPES.MSG_REMIND_ACPT_NOT_NOTE
|
|
75
75
|
? t(`[${conversation.unreadCount > 99 ? '99+' : conversation.unreadCount}条]`)
|
|
76
76
|
: '';
|
|
77
77
|
if (!lastMessage.lastTime) {
|
|
@@ -79,7 +79,7 @@ export function handleShowLastMessage(item: Conversation) {
|
|
|
79
79
|
}
|
|
80
80
|
// Determine the lastmessage sender of the group.
|
|
81
81
|
// Namecard / Nick / userid is displayed by priority
|
|
82
|
-
if (conversation.type ===
|
|
82
|
+
if (conversation.type === TencentCloudChat.TYPES.CONV_GROUP) {
|
|
83
83
|
if (lastMessage.fromAccount === conversation.groupProfile.selfInfo.userID) {
|
|
84
84
|
showNick = t('TUIConversation.我');
|
|
85
85
|
} else {
|
|
@@ -87,7 +87,7 @@ export function handleShowLastMessage(item: Conversation) {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
// Display content of lastmessage message body
|
|
90
|
-
if (lastMessage.type ===
|
|
90
|
+
if (lastMessage.type === TencentCloudChat.TYPES.MSG_TEXT) {
|
|
91
91
|
lastMessagePayload = lastMessage.payload.text;
|
|
92
92
|
} else {
|
|
93
93
|
lastMessagePayload = lastMessage.messageForShow;
|
|
@@ -97,7 +97,7 @@ export function handleShowLastMessage(item: Conversation) {
|
|
|
97
97
|
lastMessagePayload = t('TUIChat.撤回了一条消息');
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
if (conversation.type ===
|
|
100
|
+
if (conversation.type === TencentCloudChat.TYPES.CONV_GROUP && lastMessage.type === TencentCloudChat.TYPES.MSG_GRP_TIP) {
|
|
101
101
|
return lastMessagePayload;
|
|
102
102
|
}
|
|
103
103
|
// Specific display content of message box
|
|
@@ -120,28 +120,28 @@ export function handleTipMessageShowContext(message: Message) {
|
|
|
120
120
|
userName = userName.slice(0, -1);
|
|
121
121
|
}
|
|
122
122
|
switch (message.payload.operationType) {
|
|
123
|
-
case
|
|
123
|
+
case TencentCloudChat.TYPES.GRP_TIP_MBR_JOIN:
|
|
124
124
|
options.text = `${userName} ${t('message.tip.Join in group')}`;
|
|
125
125
|
break;
|
|
126
|
-
case
|
|
126
|
+
case TencentCloudChat.TYPES.GRP_TIP_MBR_QUIT:
|
|
127
127
|
options.text = `${t('message.tip.member')}:${userName} ${t('message.tip.quit group')}`;
|
|
128
128
|
break;
|
|
129
|
-
case
|
|
129
|
+
case TencentCloudChat.TYPES.GRP_TIP_MBR_KICKED_OUT:
|
|
130
130
|
options.text = `${t('message.tip.member')}:${userName} ${t('message.tip.by')}${message.payload.operatorID}${t(
|
|
131
131
|
'message.tip.kicked out of group',
|
|
132
132
|
)}`;
|
|
133
133
|
break;
|
|
134
|
-
case
|
|
134
|
+
case TencentCloudChat.TYPES.GRP_TIP_MBR_SET_ADMIN:
|
|
135
135
|
options.text = `${t('message.tip.member')}:${userName} ${t('message.tip.become admin')}`;
|
|
136
136
|
break;
|
|
137
|
-
case
|
|
137
|
+
case TencentCloudChat.TYPES.GRP_TIP_MBR_CANCELED_ADMIN:
|
|
138
138
|
options.text = `${t('message.tip.member')}:${userName} ${t('message.tip.by revoked administrator')}`;
|
|
139
139
|
break;
|
|
140
|
-
case
|
|
140
|
+
case TencentCloudChat.TYPES.GRP_TIP_GRP_PROFILE_UPDATED:
|
|
141
141
|
// options.text = `${userName} 修改群组资料`;
|
|
142
142
|
options.text = handleTipGrpUpdated(message);
|
|
143
143
|
break;
|
|
144
|
-
case
|
|
144
|
+
case TencentCloudChat.TYPES.GRP_TIP_MBR_PROFILE_UPDATED:
|
|
145
145
|
message.payload.memberList.map((member:any) => {
|
|
146
146
|
if (member.muteTime > 0) {
|
|
147
147
|
options.text = `${t('message.tip.member')}:${member.userID}${t('message.tip.muted')}`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { PropsWithChildren, useCallback, useEffect } from 'react';
|
|
2
2
|
import './styles/index.scss';
|
|
3
3
|
|
|
4
|
-
import { Message } from '
|
|
4
|
+
import { Message } from '@tencentcloud/chat';
|
|
5
5
|
import { useTUIChatActionContext } from '../../context';
|
|
6
6
|
import { Icon, IconTypes } from '../Icon';
|
|
7
7
|
import { MESSAGE_OPERATE } from '../../constants';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, {
|
|
2
2
|
PropsWithChildren, useCallback, useEffect, useState,
|
|
3
3
|
} from 'react';
|
|
4
|
-
import { Conversation, Message } from '
|
|
4
|
+
import { Conversation, Message } from '@tencentcloud/chat';
|
|
5
5
|
import { useTUIChatActionContext } from '../../context';
|
|
6
6
|
import './styles/index.scss';
|
|
7
7
|
import { Model } from '../Model';
|