@tencentcloud/chat-uikit-react 2.2.6 → 2.2.7

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.
Files changed (215) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cjs/assets/fonts/iconfont.ttf +0 -0
  3. package/dist/cjs/assets/fonts/iconfont.woff +0 -0
  4. package/dist/cjs/assets/fonts/iconfont.woff2 +0 -0
  5. package/dist/cjs/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
  6. package/dist/cjs/components/ConversationPreview/ConversationPreviewContent.js +1 -1
  7. package/dist/cjs/components/ConversationPreview/utils.js +1 -1
  8. package/dist/cjs/components/ConversationSearch/ConversationSearchResult.js +1 -1
  9. package/dist/cjs/components/Icon/config.js +1 -1
  10. package/dist/cjs/components/Icon/images/video-call.svg.js +1 -0
  11. package/dist/cjs/components/Icon/images/voice-call.svg.js +1 -0
  12. package/dist/cjs/components/Icon/type.d.ts +3 -1
  13. package/dist/cjs/components/Icon/type.js +1 -1
  14. package/dist/cjs/components/TUIChat/TUIChat.d.ts +3 -2
  15. package/dist/cjs/components/TUIChat/TUIChat.js +1 -1
  16. package/dist/cjs/components/TUIChat/TUIChatState.js +1 -1
  17. package/dist/cjs/components/TUIChat/index.js +1 -0
  18. package/dist/cjs/components/TUIChat/server.js +1 -0
  19. package/dist/cjs/components/TUIChat/utils.js +1 -0
  20. package/dist/cjs/components/TUIChatHeader/TUIChatHeader.d.ts +1 -0
  21. package/dist/cjs/components/TUIChatHeader/TUIChatHeader.js +1 -1
  22. package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.d.ts +2 -1
  23. package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
  24. package/dist/cjs/components/TUIContact/TUIContactList/TUIContactList.js +1 -1
  25. package/dist/cjs/components/TUIContact/hooks/useTUIContact.js +1 -1
  26. package/dist/cjs/components/TUIMessage/MessageAvatar.js +1 -1
  27. package/dist/cjs/components/TUIMessage/MessageCustom.js +1 -1
  28. package/dist/cjs/components/TUIMessage/MessageStatus.js +1 -1
  29. package/dist/cjs/components/TUIMessage/hooks/useMessageHandler.js +1 -1
  30. package/dist/cjs/components/TUIMessage/hooks/useMessageReply.js +1 -1
  31. package/dist/cjs/components/TUIMessage/utils/index.js +1 -1
  32. package/dist/cjs/components/TUIMessageInput/InputPluginsDefalut.js +1 -1
  33. package/dist/cjs/components/TUIMessageInput/hooks/useHandleForwardMessage.js +1 -1
  34. package/dist/cjs/components/TUIMessageInput/hooks/useMessageInputText.js +1 -1
  35. package/dist/cjs/components/TUIMessageInput/hooks/useUploadPicker.js +1 -1
  36. package/dist/cjs/components/TUIMessageList/hooks/useMessageListElement.js +1 -1
  37. package/dist/cjs/components/TUIProfile/TUIProfileDefault.js +1 -1
  38. package/dist/cjs/components/{untils.js → utils.js} +1 -1
  39. package/dist/cjs/context/LanguageContext.js +1 -1
  40. package/dist/cjs/context/TUIChatActionContext.d.ts +2 -1
  41. package/dist/cjs/context/TUIConversationContext.js +1 -1
  42. package/dist/cjs/context/ThemeContext.js +1 -1
  43. package/dist/cjs/context/UIKitContext.d.ts +2 -2
  44. package/dist/cjs/context/UIKitContext.js +1 -1
  45. package/dist/cjs/index.css +1 -1
  46. package/dist/cjs/index.d.css +589 -259
  47. package/dist/cjs/index.js +1 -1
  48. package/dist/cjs/locales/en-US/index.js +1 -1
  49. package/dist/cjs/locales/index.js +1 -1
  50. package/dist/cjs/locales/ja-JP/index.js +1 -1
  51. package/dist/cjs/locales/ko-KR/index.js +1 -1
  52. package/dist/cjs/locales/zh-CN/index.js +1 -1
  53. package/dist/cjs/locales/zh-TW/TUIChat.js +1 -0
  54. package/dist/cjs/locales/zh-TW/TUIContact.js +1 -0
  55. package/dist/cjs/locales/zh-TW/TUIConversation.js +1 -0
  56. package/dist/cjs/locales/zh-TW/TUIProfile.js +1 -0
  57. package/dist/cjs/locales/zh-TW/index.js +1 -0
  58. package/dist/esm/assets/fonts/iconfont.ttf +0 -0
  59. package/dist/esm/assets/fonts/iconfont.woff +0 -0
  60. package/dist/esm/assets/fonts/iconfont.woff2 +0 -0
  61. package/dist/esm/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
  62. package/dist/esm/components/ConversationPreview/ConversationPreviewContent.js +1 -1
  63. package/dist/esm/components/ConversationPreview/utils.js +1 -1
  64. package/dist/esm/components/ConversationSearch/ConversationSearchResult.js +1 -1
  65. package/dist/esm/components/Icon/config.js +1 -1
  66. package/dist/esm/components/Icon/images/video-call.svg.js +1 -0
  67. package/dist/esm/components/Icon/images/voice-call.svg.js +1 -0
  68. package/dist/esm/components/Icon/type.d.ts +3 -1
  69. package/dist/esm/components/Icon/type.js +1 -1
  70. package/dist/esm/components/TUIChat/TUIChat.d.ts +3 -2
  71. package/dist/esm/components/TUIChat/TUIChat.js +1 -1
  72. package/dist/esm/components/TUIChat/TUIChatState.js +1 -1
  73. package/dist/esm/components/TUIChat/index.js +1 -0
  74. package/dist/esm/components/TUIChat/server.js +1 -0
  75. package/dist/esm/components/TUIChat/utils.js +1 -0
  76. package/dist/esm/components/TUIChatHeader/TUIChatHeader.d.ts +1 -0
  77. package/dist/esm/components/TUIChatHeader/TUIChatHeader.js +1 -1
  78. package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.d.ts +2 -1
  79. package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
  80. package/dist/esm/components/TUIContact/TUIContactList/TUIContactList.js +1 -1
  81. package/dist/esm/components/TUIContact/hooks/useTUIContact.js +1 -1
  82. package/dist/esm/components/TUIMessage/MessageAvatar.js +1 -1
  83. package/dist/esm/components/TUIMessage/MessageCustom.js +1 -1
  84. package/dist/esm/components/TUIMessage/MessageStatus.js +1 -1
  85. package/dist/esm/components/TUIMessage/hooks/useMessageHandler.js +1 -1
  86. package/dist/esm/components/TUIMessage/hooks/useMessageReply.js +1 -1
  87. package/dist/esm/components/TUIMessage/utils/index.js +1 -1
  88. package/dist/esm/components/TUIMessageInput/InputPluginsDefalut.js +1 -1
  89. package/dist/esm/components/TUIMessageInput/hooks/useHandleForwardMessage.js +1 -1
  90. package/dist/esm/components/TUIMessageInput/hooks/useMessageInputText.js +1 -1
  91. package/dist/esm/components/TUIMessageInput/hooks/useUploadPicker.js +1 -1
  92. package/dist/esm/components/TUIMessageList/hooks/useMessageListElement.js +1 -1
  93. package/dist/esm/components/TUIProfile/TUIProfileDefault.js +1 -1
  94. package/dist/esm/components/utils.js +1 -0
  95. package/dist/esm/context/LanguageContext.js +1 -1
  96. package/dist/esm/context/TUIChatActionContext.d.ts +2 -1
  97. package/dist/esm/context/TUIConversationContext.js +1 -1
  98. package/dist/esm/context/ThemeContext.js +1 -1
  99. package/dist/esm/context/UIKitContext.d.ts +2 -2
  100. package/dist/esm/context/UIKitContext.js +1 -1
  101. package/dist/esm/index.css +1 -1
  102. package/dist/esm/index.d.css +589 -259
  103. package/dist/esm/index.js +1 -1
  104. package/dist/esm/locales/en-US/index.js +1 -1
  105. package/dist/esm/locales/index.js +1 -1
  106. package/dist/esm/locales/ja-JP/index.js +1 -1
  107. package/dist/esm/locales/ko-KR/index.js +1 -1
  108. package/dist/esm/locales/zh-CN/index.js +1 -1
  109. package/dist/esm/locales/zh-TW/TUIChat.js +1 -0
  110. package/dist/esm/locales/zh-TW/TUIContact.js +1 -0
  111. package/dist/esm/locales/zh-TW/TUIConversation.js +1 -0
  112. package/dist/esm/locales/zh-TW/TUIProfile.js +1 -0
  113. package/dist/esm/locales/zh-TW/index.js +1 -0
  114. package/package.json +2 -1
  115. package/rollup.config.js +1 -1
  116. package/src/assets/fonts/iconfont.ttf +0 -0
  117. package/src/assets/fonts/iconfont.woff +0 -0
  118. package/src/assets/fonts/iconfont.woff2 +0 -0
  119. package/src/components/Avatar/styles/index.scss +11 -4
  120. package/src/components/Checkbox/styles/color.scss +17 -6
  121. package/src/components/ConversationCreate/hooks/useConversationCreate.tsx +5 -5
  122. package/src/components/ConversationCreate/styles/ConversationCreatGroupDetail.scss +7 -16
  123. package/src/components/ConversationCreate/styles/conversationCreateSelectView.scss +13 -8
  124. package/src/components/ConversationCreate/styles/conversationGroupTypeInfo.scss +20 -21
  125. package/src/components/ConversationCreate/styles/index.scss +30 -17
  126. package/src/components/ConversationPreview/ConversationPreviewContent.tsx +1 -0
  127. package/src/components/ConversationPreview/styles/index.scss +20 -20
  128. package/src/components/ConversationPreview/utils.tsx +3 -2
  129. package/src/components/DivWithEdit/styles/index.scss +30 -10
  130. package/src/components/Icon/config.ts +14 -4
  131. package/src/components/Icon/images/video-call.svg +3 -0
  132. package/src/components/Icon/images/voice-call.svg +3 -0
  133. package/src/components/Icon/type.ts +2 -0
  134. package/src/components/Input/styles/index.scss +22 -6
  135. package/src/components/Plugins/styles/color.scss +3 -11
  136. package/src/components/Profile/styles/index.scss +12 -3
  137. package/src/components/TUIChat/TUIChat.tsx +36 -32
  138. package/src/components/TUIChat/TUIChatState.tsx +41 -41
  139. package/src/components/TUIChat/index.ts +3 -0
  140. package/src/components/TUIChat/server.ts +44 -0
  141. package/src/components/TUIChat/styles/layout.scss +7 -2
  142. package/src/components/TUIChat/utils.ts +72 -0
  143. package/src/components/TUIChatHeader/TUIChatHeader.tsx +10 -7
  144. package/src/components/TUIChatHeader/TUIChatHeaderDefault.tsx +72 -29
  145. package/src/components/TUIChatHeader/styles/layout.scss +16 -9
  146. package/src/components/TUIContact/TUIContactInfo/index.scss +44 -21
  147. package/src/components/TUIContact/TUIContactList/TUIContactList.tsx +75 -71
  148. package/src/components/TUIContact/TUIContactList/index.scss +40 -20
  149. package/src/components/TUIContact/hooks/useTUIContact.tsx +3 -3
  150. package/src/components/TUIContact/index.scss +30 -11
  151. package/src/components/TUIContactSearch/index.scss +12 -3
  152. package/src/components/TUIConversationList/index.scss +3 -4
  153. package/src/components/TUIManage/styles/index.scss +20 -14
  154. package/src/components/TUIMessage/MessageAvatar.tsx +7 -7
  155. package/src/components/TUIMessage/MessageBubble.tsx +22 -21
  156. package/src/components/TUIMessage/MessageCustom.tsx +26 -5
  157. package/src/components/TUIMessage/MessageStatus.tsx +5 -5
  158. package/src/components/TUIMessage/hooks/useMessageHandler.ts +6 -6
  159. package/src/components/TUIMessage/hooks/useMessageReply.ts +6 -5
  160. package/src/components/TUIMessage/styles/color.scss +6 -5
  161. package/src/components/TUIMessage/styles/layout.scss +111 -42
  162. package/src/components/TUIMessage/utils/index.ts +23 -12
  163. package/src/components/TUIMessageInput/InputPluginsDefalut.tsx +12 -12
  164. package/src/components/TUIMessageInput/hooks/useHandleForwardMessage.tsx +5 -4
  165. package/src/components/TUIMessageInput/hooks/useMessageInputText.tsx +12 -12
  166. package/src/components/TUIMessageInput/hooks/useUploadPicker.tsx +4 -4
  167. package/src/components/TUIMessageInput/styles/color.scss +15 -11
  168. package/src/components/TUIMessageInput/styles/layout.scss +33 -17
  169. package/src/components/TUIMessageList/hooks/useMessageListElement.tsx +13 -9
  170. package/src/components/TUIMessageList/styles/layout.scss +16 -9
  171. package/src/components/TUIProfile/TUIProfileDefault.tsx +12 -11
  172. package/src/components/TUIProfile/styles/color.scss +6 -5
  173. package/src/components/TUIProfile/styles/layout.scss +16 -14
  174. package/src/components/{untils.ts → utils.ts} +5 -4
  175. package/src/context/LanguageContext.tsx +5 -4
  176. package/src/context/TUIChatActionContext.tsx +14 -13
  177. package/src/context/ThemeContext.tsx +12 -5
  178. package/src/context/UIKitContext.tsx +11 -2
  179. package/src/locales/en-US/index.ts +0 -3
  180. package/src/locales/index.ts +6 -2
  181. package/src/locales/ja-JP/index.ts +0 -2
  182. package/src/locales/ko-KR/index.ts +0 -2
  183. package/src/locales/zh-CN/index.ts +0 -2
  184. package/src/locales/zh-TW/TUIChat.ts +27 -0
  185. package/src/locales/zh-TW/TUIContact.ts +29 -0
  186. package/src/locales/zh-TW/TUIConversation.ts +32 -0
  187. package/src/locales/zh-TW/TUIProfile.ts +15 -0
  188. package/src/locales/zh-TW/index.ts +11 -0
  189. package/src/styles/colors/_color-dark.scss +31 -21
  190. package/src/styles/colors/_color-light.scss +31 -21
  191. package/src/styles/colors/_color-theme.scss +32 -21
  192. package/src/styles/normalize.scss +6 -0
  193. package/dist/cjs/components/Icon/images/down-arrow.png.js +0 -1
  194. package/dist/cjs/components/Icon/images/right-arrow.svg.js +0 -1
  195. package/dist/cjs/components/TUIChat/unitls.js +0 -1
  196. package/dist/cjs/locales/en-US/TUIGlobal.js +0 -1
  197. package/dist/cjs/locales/ja-JP/TUIGlobal.js +0 -1
  198. package/dist/cjs/locales/ko-KR/TUIGlobal.js +0 -1
  199. package/dist/cjs/locales/zh-CN/TUIGlobal.js +0 -1
  200. package/dist/esm/components/Icon/images/down-arrow.png.js +0 -1
  201. package/dist/esm/components/Icon/images/right-arrow.svg.js +0 -1
  202. package/dist/esm/components/TUIChat/unitls.js +0 -1
  203. package/dist/esm/components/untils.js +0 -1
  204. package/dist/esm/locales/en-US/TUIGlobal.js +0 -1
  205. package/dist/esm/locales/ja-JP/TUIGlobal.js +0 -1
  206. package/dist/esm/locales/ko-KR/TUIGlobal.js +0 -1
  207. package/dist/esm/locales/zh-CN/TUIGlobal.js +0 -1
  208. package/scripts/publish-github.js +0 -60
  209. package/scripts/publish-intl-demo.js +0 -14
  210. package/scripts/publish-intl-experience-demo.js +0 -14
  211. package/src/components/TUIChat/unitls.ts +0 -39
  212. package/src/locales/en-US/TUIGlobal.ts +0 -6
  213. package/src/locales/ja-JP/TUIGlobal.ts +0 -6
  214. package/src/locales/ko-KR/TUIGlobal.ts +0 -6
  215. package/src/locales/zh-CN/TUIGlobal.ts +0 -6
@@ -1,10 +1,17 @@
1
+ @use "../../../styles/colors/color-theme" as *;
2
+
1
3
  .tui-manage {
2
4
  display: flex;
3
5
  flex-direction: column;
4
6
  width: 22%;
5
7
  max-width: 300px;
6
8
  min-width: 200px;
7
- border-left: 1px solid #f9fafb;
9
+
10
+ @include theme() {
11
+ background-color: get(bg-color-operate);
12
+ color: get(text-color-primary);
13
+ border-left: 1px solid get(stroke-color-primary);
14
+ }
8
15
 
9
16
  .red {
10
17
  color: #ff584c !important;
@@ -19,8 +26,6 @@
19
26
  margin-right: 10px;
20
27
  font-weight: 700;
21
28
  font-size: 14px;
22
- font-family: PingFangSC-Medium;
23
- line-height: 17px;
24
29
  }
25
30
  }
26
31
 
@@ -39,16 +44,11 @@
39
44
  text-align: center;
40
45
  font-weight: 700;
41
46
  font-size: 24px;
42
- font-family: PingFangSC-Medium;
43
- line-height: 29px;
44
47
  margin-bottom: 10px;
45
48
  }
46
49
 
47
50
  .info-id {
48
- font-weight: 400;
49
51
  font-size: 12px;
50
- font-family: PingFangSC-Medium;
51
- line-height: 14px;
52
52
  color: #666;
53
53
  margin-bottom: 30px;
54
54
  text-align: center;
@@ -58,11 +58,13 @@
58
58
  .tui-manage-handle {
59
59
  .manage-handle-box {
60
60
  display: flex;
61
- background: rgba(249, 249, 249, 94%);
62
61
  align-items: center;
63
62
  justify-content: space-between;
64
63
  padding: 10px;
65
- box-sizing: border-box;
64
+
65
+ @include theme() {
66
+ background: get(bg-color-operate);
67
+ }
66
68
 
67
69
  &:nth-child(2) {
68
70
  margin-top: 10px;
@@ -71,9 +73,10 @@
71
73
 
72
74
  .manage-handle-title {
73
75
  font-size: 16px;
74
- font-family: PingFangSC-Medium;
75
- line-height: 22px;
76
- color: rgba(0, 0, 0, 60%);
76
+
77
+ @include theme() {
78
+ color: get(text-color-primary);
79
+ }
77
80
  }
78
81
  }
79
82
  }
@@ -91,5 +94,8 @@
91
94
  max-width: 100%;
92
95
  min-width: 100%;
93
96
  z-index: 1;
94
- background: #fff;
97
+
98
+ @include theme() {
99
+ background: get(bg-color-operate);
100
+ }
95
101
  }
@@ -5,18 +5,18 @@ import TencentCloudChat, { Message } from '@tencentcloud/chat';
5
5
  import { MESSAGE_FLOW } from '../../constants';
6
6
  import { messageShowType } from '../../context';
7
7
  import { Avatar } from '../Avatar';
8
- import { handleDisplayAvatar } from '../untils';
8
+ import { handleDisplayAvatar } from '../utils';
9
9
 
10
10
  export interface MessageAvatarProps {
11
- CustomAvatar?: React.ReactElement,
12
- className?: string,
13
- message: Message,
14
- showType?: messageShowType,
11
+ CustomAvatar?: React.ReactElement;
12
+ className?: string;
13
+ message: Message;
14
+ showType?: messageShowType;
15
15
  }
16
16
 
17
- export function MessageAvatar <T extends MessageAvatarProps>(
17
+ export function MessageAvatar<T extends MessageAvatarProps>(
18
18
  props: PropsWithChildren<T>,
19
- ):React.ReactElement {
19
+ ): React.ReactElement {
20
20
  const {
21
21
  className,
22
22
  CustomAvatar,
@@ -6,22 +6,23 @@ import React, {
6
6
  } from 'react';
7
7
  import TencentCloudChat, { Message } from '@tencentcloud/chat';
8
8
  import { MESSAGE_STATUS } from '../../constants';
9
+ import { isCallMessage } from './utils';
9
10
  import { useTUIChatActionContext, useTUIChatStateContext } from '../../context';
10
11
  import { Icon, IconTypes } from '../Icon';
11
12
  import { useMessageReply } from './hooks/useMessageReply';
12
13
  import { MessageProgress } from './MessageProgress';
13
14
 
14
15
  export interface MessageBubbleProps {
15
- message?: Message,
16
- className?: string,
17
- children?: ReactNode,
18
- Context?: React.ComponentType<any>,
19
- Plugins?: React.ComponentType<any> | undefined,
16
+ message?: Message;
17
+ className?: string;
18
+ children?: ReactNode;
19
+ Context?: React.ComponentType<any>;
20
+ Plugins?: React.ComponentType<any> | undefined;
20
21
  }
21
22
 
22
- function MessageBubbleWithContext <T extends MessageBubbleProps>(
23
+ function MessageBubbleWithContext<T extends MessageBubbleProps>(
23
24
  props: PropsWithChildren<T>,
24
- ):React.ReactElement {
25
+ ): React.ReactElement {
25
26
  const {
26
27
  message,
27
28
  children,
@@ -68,7 +69,7 @@ function MessageBubbleWithContext <T extends MessageBubbleProps>(
68
69
  const handleReplyMessage = () => {
69
70
  // eslint-disable-next-line
70
71
  // @ts-ignore
71
- setHighlightedMessageId && setHighlightedMessageId(replyMessage?.ID);
72
+ setHighlightedMessageId && setHighlightedMessageId(replyMessage?.ID);
72
73
  };
73
74
 
74
75
  return (
@@ -90,15 +91,15 @@ function MessageBubbleWithContext <T extends MessageBubbleProps>(
90
91
  >
91
92
  {
92
93
  messageReply && (
93
- <div
94
- className="meesage-bubble-reply-main"
95
- role="menuitem"
96
- tabIndex={0}
97
- onClick={handleReplyMessage}
98
- >
99
- <header className="title">{sender}</header>
100
- {Context && <Context message={replyMessage} />}
101
- </div>
94
+ <div
95
+ className="meesage-bubble-reply-main"
96
+ role="menuitem"
97
+ tabIndex={0}
98
+ onClick={handleReplyMessage}
99
+ >
100
+ <header className="title">{sender}</header>
101
+ {Context && <Context message={replyMessage} />}
102
+ </div>
102
103
  )
103
104
  }
104
105
  {children}
@@ -106,9 +107,9 @@ function MessageBubbleWithContext <T extends MessageBubbleProps>(
106
107
  </div>
107
108
  {
108
109
  Plugins && (
109
- <div className="message-plugin">
110
- {PluginsShow && <Plugins message={message} />}
111
- </div>
110
+ <div className="message-plugin">
111
+ {PluginsShow && <Plugins message={message} />}
112
+ </div>
112
113
  )
113
114
  }
114
115
  </div>
@@ -129,7 +130,7 @@ function MessageBubbleWithContext <T extends MessageBubbleProps>(
129
130
  const MemoizedMessageBubble = React.memo(MessageBubbleWithContext) as
130
131
  typeof MessageBubbleWithContext;
131
132
 
132
- export function MessageBubble(props:MessageBubbleProps):React.ReactElement {
133
+ export function MessageBubble(props: MessageBubbleProps): React.ReactElement {
133
134
  return (
134
135
  <MemoizedMessageBubble {...props} />
135
136
  );
@@ -1,20 +1,26 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
2
  import TencentCloudChat from '@tencentcloud/chat';
3
3
  import { useTranslation } from 'react-i18next';
4
- import { JSONStringToParse } from '../untils';
4
+ import { JSONStringToParse } from '../utils';
5
+ import { isCallMessage } from './utils';
5
6
  import type { MessageContextProps } from './MessageText';
6
- import { useComponentContext } from '../../context';
7
+ import { useComponentContext, useTUIChatActionContext } from '../../context';
8
+ import { useUIManager } from '../../context';
9
+ import { CallMessage } from '@tencentcloud/call-uikit-react';
10
+ import { startCall } from '../TUIChat/utils';
7
11
 
8
- function MessageCustomWithContext <T extends MessageContextProps>(
12
+ function MessageCustomWithContext<T extends MessageContextProps>(
9
13
  props: PropsWithChildren<T>,
10
- ):React.ReactElement {
14
+ ): React.ReactElement {
11
15
  const {
12
16
  context,
13
17
  message,
14
18
  children,
15
19
  } = props;
16
20
  const { t } = useTranslation();
21
+ const { callButtonClicked } = useTUIChatActionContext('TUIChat');
17
22
  const { MessageCustomPlugins } = useComponentContext('MessageCustom');
23
+ const { conversation } = useUIManager('MessageCustom');
18
24
  const handleContext = (data: any) => {
19
25
  if (data.data === 'Hyperlink') {
20
26
  const extension = JSONStringToParse(data?.extension);
@@ -43,6 +49,21 @@ function MessageCustomWithContext <T extends MessageContextProps>(
43
49
  <MessageCustomPlugins data={JSONStringToParse(data.data).content} />
44
50
  );
45
51
  }
52
+
53
+ if (conversation?.type === 'C2C' && message && isCallMessage(message)) {
54
+ const callType = conversation?.type;
55
+ const userID = conversation?.userProfile.userID;
56
+ return (
57
+ <CallMessage
58
+ callType={callType}
59
+ message={message}
60
+ onClick={({ callMediaType }: any) =>
61
+ startCall({ callType, callMediaType, userIDList: [userID], callButtonClicked })}
62
+ >
63
+ </CallMessage>
64
+ );
65
+ }
66
+
46
67
  return `[${t('TUIChat.Custom message')}]`;
47
68
  };
48
69
 
@@ -57,7 +78,7 @@ function MessageCustomWithContext <T extends MessageContextProps>(
57
78
  const MemoizedMessageCustom = React.memo(MessageCustomWithContext) as
58
79
  typeof MessageCustomWithContext;
59
80
 
60
- export function MessageCustom(props:MessageContextProps):React.ReactElement {
81
+ export function MessageCustom(props: MessageContextProps): React.ReactElement {
61
82
  return (
62
83
  <MemoizedMessageCustom {...props} />
63
84
  );
@@ -1,15 +1,15 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
2
  import { Message } from '@tencentcloud/chat';
3
3
  import { useTUIMessageContext, useUIKit } from '../../context';
4
- import { getTimeStamp } from '../untils';
4
+ import { getTimeStamp } from '../utils';
5
5
 
6
6
  export interface MessageContextProps {
7
- message?: Message,
7
+ message?: Message;
8
8
  }
9
9
 
10
- function MessageStatustWithContext <T extends MessageContextProps>(
10
+ function MessageStatustWithContext<T extends MessageContextProps>(
11
11
  props: PropsWithChildren<T>,
12
- ):React.ReactElement {
12
+ ): React.ReactElement {
13
13
  const {
14
14
  message,
15
15
  } = props;
@@ -30,7 +30,7 @@ function MessageStatustWithContext <T extends MessageContextProps>(
30
30
  const MemoizedMessageStatus = React.memo(MessageStatustWithContext) as
31
31
  typeof MessageStatustWithContext;
32
32
 
33
- export function MessageStatus(props:MessageContextProps):React.ReactElement {
33
+ export function MessageStatus(props: MessageContextProps): React.ReactElement {
34
34
  return (
35
35
  <MemoizedMessageStatus
36
36
  {...props}
@@ -3,13 +3,13 @@ import { useTranslation } from 'react-i18next';
3
3
  import { Message } from '@tencentcloud/chat';
4
4
  import { TUIStore } from '@tencentcloud/chat-uikit-engine';
5
5
  import { CONSTANT_DISPATCH_TYPE, MESSAGE_FLOW, MESSAGE_OPERATE } from '../../../constants';
6
- import { enableSampleTaskStatus } from '../../untils';
6
+ import { enableSampleTaskStatus } from '../../utils';
7
7
  import { useTUIChatActionContext, useUIKit } from '../../../context';
8
8
  import { Toast } from '../../Toast';
9
9
 
10
10
  interface MessageHandlerProps {
11
- handleError?: (error: any) => void,
12
- message?: Message,
11
+ handleError?: (error: any) => void;
12
+ message?: Message;
13
13
  }
14
14
 
15
15
  export const useMessageHandler = (props: MessageHandlerProps) => {
@@ -54,7 +54,7 @@ export const useMessageHandler = (props: MessageHandlerProps) => {
54
54
  });
55
55
  }, [message]);
56
56
 
57
- const handleReplyMessage = useCallback((event?:any) => {
57
+ const handleReplyMessage = useCallback((event?: any) => {
58
58
  event.preventDefault();
59
59
  if (!message?.ID || !chat || !operateMessage) {
60
60
  return;
@@ -64,7 +64,7 @@ export const useMessageHandler = (props: MessageHandlerProps) => {
64
64
  });
65
65
  }, [message]);
66
66
 
67
- const handleCopyMessage = useCallback((event?:any) => {
67
+ const handleCopyMessage = useCallback((event?: any) => {
68
68
  event.preventDefault();
69
69
  if (navigator.clipboard) {
70
70
  // clipboard api
@@ -103,7 +103,7 @@ export const useMessageHandler = (props: MessageHandlerProps) => {
103
103
  }
104
104
  }, [message]);
105
105
 
106
- const handleForWardMessage = useCallback(async (event?:any) => {
106
+ const handleForWardMessage = useCallback(async (event?: any) => {
107
107
  event.preventDefault();
108
108
  if (!message?.ID || !chat || !operateMessage) {
109
109
  return;
@@ -1,10 +1,10 @@
1
1
  import { useLayoutEffect, useState } from 'react';
2
2
  import TencentCloudChat, { Message } from '@tencentcloud/chat';
3
3
  import { useTUIChatStateContext, useUIKit } from '../../../context';
4
- import { JSONStringToParse } from '../../untils';
4
+ import { JSONStringToParse } from '../../utils';
5
5
 
6
6
  interface messageContextParams {
7
- message?: Message,
7
+ message?: Message;
8
8
  }
9
9
 
10
10
  const replyType: any = {
@@ -17,7 +17,7 @@ const replyType: any = {
17
17
  [TencentCloudChat.TYPES.MSG_CUSTOM]: 2,
18
18
  };
19
19
 
20
- export const useMessageReply = <T extends messageContextParams>(params:T) => {
20
+ export const useMessageReply = <T extends messageContextParams>(params: T) => {
21
21
  const {
22
22
  message,
23
23
  } = params;
@@ -33,7 +33,7 @@ export const useMessageReply = <T extends messageContextParams>(params:T) => {
33
33
  message && handleMessageReply(message);
34
34
  }, [message]);
35
35
 
36
- const handleMessageReply = (data:Message) => {
36
+ const handleMessageReply = (data: Message) => {
37
37
  if (!data?.cloudCustomData) {
38
38
  return;
39
39
  }
@@ -49,7 +49,8 @@ export const useMessageReply = <T extends messageContextParams>(params:T) => {
49
49
  const isSomeID = item.ID === reply?.messageID;
50
50
  const isSomeType = isSomeID && replyType[item.type] === reply.messageType;
51
51
  const isSomeContent = item.type === TencentCloudChat.TYPES.MSG_TEXT
52
- ? item.payload.text === reply.messageAbstract : true;
52
+ ? item.payload.text === reply.messageAbstract
53
+ : true;
53
54
  return isSomeID && isSomeType && isSomeContent;
54
55
  });
55
56
  // eslint-disable-next-line
@@ -1,21 +1,22 @@
1
1
  @use "../../../styles/colors/color-theme" as *;
2
2
 
3
- .message-text,
4
3
  .message-custom {
5
4
  @include theme() {
6
- border: 1px solid get(border-5);
5
+ border: 1px solid get(stroke-color-primary);
7
6
  }
8
7
  }
9
8
 
10
9
  .bubble {
11
10
  @include theme() {
12
- background-color: get(bg-primary);
11
+ background-color: get(bg-color-bubble-reciprocal);
12
+ color: get(text-color-primary);
13
13
  }
14
14
 
15
15
  &-out {
16
16
  @include theme() {
17
17
  border: none;
18
- background-color: get(bg-secondary);
18
+ background-color: get(bg-color-bubble-own);
19
+ color: get(text-color-anti-primary);
19
20
  }
20
21
  }
21
22
  }
@@ -30,7 +31,7 @@
30
31
 
31
32
  .message-tip {
32
33
  @include theme() {
33
- color: get(text-secondary);
34
+ color: get(text-color-secondary);
34
35
  }
35
36
  }
36
37