@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,55 +1,77 @@
1
+ @use "../../../styles/colors/color-theme" as *;
2
+
1
3
  .tui-contact-info {
2
4
  width: 100%;
3
5
  height: 100%;
4
6
  display: flex;
5
7
  padding: 60px;
6
- box-sizing: border-box;
7
8
  flex-direction: column;
8
9
  overflow: hidden;
10
+
11
+ @include theme() {
12
+ background-color: get(bg-color-operate);
13
+ }
14
+
9
15
  .tui-contact-info-header {
10
16
  padding-bottom: 15px;
11
17
  border-bottom: 1px solid #ddd;
12
18
  overflow: hidden;
13
19
  box-sizing: border-box;
14
20
  width: 100%;
21
+
15
22
  .header-container {
16
23
  flex: 1;
24
+
17
25
  .header-container-avatar {
18
26
  display: flex;
19
27
  align-items: center;
20
28
  padding: 10px;
21
29
  }
30
+
22
31
  .header-container-name {
23
32
  font-size: 24px;
24
33
  padding: 15px;
34
+
35
+ @include theme() {
36
+ color: get(text-color-primary);
37
+ }
25
38
  }
39
+
26
40
  .header-container-text {
41
+ margin-top: 20px;
27
42
  font-size: 16px;
28
- line-height: 50px;
29
- font-weight: 400;
30
- color: #999999;
31
43
  word-break: break-all;
44
+
45
+ @include theme() {
46
+ color: get(text-color-secondary);
47
+ }
32
48
  }
33
49
  }
34
50
  }
51
+
35
52
  .tui-contact-info-content {
36
53
  padding: 15px 0;
37
54
  overflow: hidden;
55
+
56
+ @include theme() {
57
+ color: get(text-color-secondary);
58
+ }
59
+
38
60
  .content-item {
39
61
  display: flex;
40
62
  flex-direction: row;
41
63
  align-items: center;
42
64
  padding: 6px 0;
43
65
  font-size: 16px;
44
- font-weight: 400;
45
66
  min-height: 56px;
46
67
  }
68
+
47
69
  .content-item-wording {
48
70
  padding: 6px 0;
49
71
  font-size: 16px;
50
- font-weight: 400;
51
72
  min-height: 56px;
52
73
  }
74
+
53
75
  .content-item-wording-text {
54
76
  margin-top: 5px;
55
77
  flex: 1;
@@ -61,53 +83,54 @@
61
83
  height: 100px;
62
84
  width: 95%;
63
85
  }
86
+
64
87
  .content-item-label {
65
- color: #999;
66
88
  margin-right: 5px;
67
89
  }
90
+
68
91
  .content-item-text {
69
92
  flex: 1;
70
93
  display: flex;
71
94
  flex-direction: row;
72
- color: #333;
73
95
  overflow: hidden;
74
96
  }
97
+
75
98
  .content-btn-container {
76
99
  display: flex;
77
100
  padding: 30px;
78
101
  justify-content: center;
102
+
79
103
  .content-item-btn {
80
104
  margin: 15px;
81
- width: 122px;
82
- height: 26px;
83
105
  padding: 8px 20px;
84
106
  border-radius: 25px;
85
107
  border: none;
86
108
  font-size: 14px;
87
109
  text-align: center;
88
- line-height: 26px;
89
- font-weight: 400;
90
110
  letter-spacing: 0;
91
111
  min-width: 100px;
92
112
  cursor: pointer;
93
113
  -webkit-user-select: none;
94
114
  user-select: none;
95
115
  }
116
+
96
117
  .delete-btn {
97
- border: 1px solid #e54545;
98
- background: transparent;
99
- color: #e54545;
118
+ @include theme() {
119
+ color: get(text-color-error);
120
+ border: 1px solid get(border-color-error);
121
+ }
100
122
  }
123
+
101
124
  .confirm-btn {
102
- border: 1px solid #006eff;
103
- background: #006eff;
104
- color: #fff;
125
+ @include theme() {
126
+ color: #fff;
127
+ background-color: get(text-color-link);
128
+ }
105
129
  }
106
-
107
130
  }
108
131
  }
109
132
  }
133
+
110
134
  .tui-contact-info-h5 {
111
135
  padding: 8px;
112
-
113
- }
136
+ }
@@ -11,11 +11,11 @@ import downArrow from '../../Icon/images/down-arrow.png';
11
11
  import './index.scss';
12
12
 
13
13
  interface RenderContactListProps {
14
- type: 'group' | 'block' | 'friend' ,
15
- isShow: boolean,
16
- title: string,
17
- list: Array<any> | undefined,
18
- setShow: (value: boolean) => void
14
+ type: 'group' | 'block' | 'friend';
15
+ isShow: boolean;
16
+ title: string;
17
+ list: any[] | undefined;
18
+ setShow: (value: boolean) => void;
19
19
  }
20
20
 
21
21
  function UnMemoizedTUIContactList<T>(): React.ReactElement {
@@ -39,21 +39,23 @@ function UnMemoizedTUIContactList<T>(): React.ReactElement {
39
39
  setActiveContact();
40
40
  };
41
41
 
42
- const RenderContactList = ({ type, isShow, setShow, list, title } : RenderContactListProps) => {
43
- return (
44
- <>
45
- <div
46
- className="tui-contacts-title"
47
- role="button"
48
- tabIndex={0}
49
- onClick={() => setShow(!isShow)}
50
- >
51
- <div className="tui-contacts-list-title">{title}</div>
52
- <div className="tui-contacts-list-icon">
53
- <img src={isShow ? downArrow : rightArrow} alt="" />
42
+ const RenderContactList = ({ type, isShow, setShow, list, title }: RenderContactListProps) => {
43
+ return (
44
+ <>
45
+ <div
46
+ className="tui-contacts-title"
47
+ role="button"
48
+ tabIndex={0}
49
+ onClick={() => setShow(!isShow)}
50
+ >
51
+ <div className="tui-contacts-list-title">{title}</div>
52
+ <div className="tui-contacts-list-icon">
53
+ {isShow
54
+ ? <i className="iconfont contacts-list-icon">&#xe605;</i>
55
+ : <i className="iconfont contacts-list-icon">&#xe606;</i>}
56
+ </div>
54
57
  </div>
55
- </div>
56
- {isShow
58
+ {isShow
57
59
  && list?.map((item: any) => {
58
60
  const { userID, groupID, avatar, name, nick } = item.profile || item;
59
61
  const showName = item.remark || nick || userID || name || groupID;
@@ -74,9 +76,9 @@ const RenderContactList = ({ type, isShow, setShow, list, title } : RenderContac
74
76
  </div>
75
77
  );
76
78
  })}
77
- </>
78
- );
79
- }
79
+ </>
80
+ );
81
+ };
80
82
  // eslint-disable-next-line
81
83
  // @ts-ignore
82
84
  return (
@@ -90,75 +92,77 @@ const RenderContactList = ({ type, isShow, setShow, list, title } : RenderContac
90
92
  >
91
93
  <p className="tui-contacts-list-title">{t('TUIContact.New Contacts')}</p>
92
94
  <div className="tui-contacts-list-icon">
93
- <img src={iShowFriendApplication ? downArrow : rightArrow} alt="" />
95
+ {iShowFriendApplication
96
+ ? <i className="iconfont contacts-list-icon">&#xe605;</i>
97
+ : <i className="iconfont contacts-list-icon">&#xe606;</i>}
94
98
  </div>
95
99
  </div>
96
100
  {iShowFriendApplication
97
- && friendApplicationList?.map((item, index) => {
98
- const {
99
- userID, avatar, nick, wording, type,
100
- } = item;
101
- return (
102
- <div
103
- role="button"
104
- tabIndex={0}
105
- className="tui-contacts-list-item"
106
- key={userID}
107
- onClick={(e) => {
108
- e.stopPropagation();
109
- setActiveContact({
110
- type: 'friendApplication',
111
- data: item,
112
- });
113
- }}
114
- >
115
- <Avatar size={30} image={avatar || defaultUserAvatar} />
116
- <div className="tui-contacts-list-item-card">
117
- <div>
118
- <p className="tui-contacts-list-item-name text-ellipsis">
119
- {nick || userID}
101
+ && friendApplicationList?.map((item, index) => {
102
+ const {
103
+ userID, avatar, nick, wording, type,
104
+ } = item;
105
+ return (
106
+ <div
107
+ role="button"
108
+ tabIndex={0}
109
+ className="tui-contacts-list-item"
110
+ key={userID}
111
+ onClick={(e) => {
112
+ e.stopPropagation();
113
+ setActiveContact({
114
+ type: 'friendApplication',
115
+ data: item,
116
+ });
117
+ }}
118
+ >
119
+ <Avatar size={30} image={avatar || defaultUserAvatar} />
120
+ <div className="tui-contacts-list-item-card">
121
+ <div>
122
+ <p className="tui-contacts-list-item-name text-ellipsis">
123
+ {nick || userID}
124
+ </p>
125
+ {wording !== '' && (
126
+ <p className="tui-contacts-list-item-text text-ellipsis">
127
+ {wording}
120
128
  </p>
121
- {wording !== '' && (
122
- <p className="tui-contacts-list-item-text text-ellipsis">
123
- {wording}
124
- </p>
125
- )}
126
- </div>
127
- {type === TencentCloudChat.TYPES.SNS_APPLICATION_SENT_BY_ME && (
128
- <p className="tui-contacts-list-btn-text text-ellipsis">{t('TUIContact.waiting for verification')}</p>
129
- )}
130
- {type === TencentCloudChat.TYPES.SNS_APPLICATION_SENT_TO_ME && (
131
- <div
132
- className="application-btn"
133
- role="button"
134
- tabIndex={0}
135
- onClick={(e) => {
136
- acceptFriendApplicationHandle(e, userID);
137
- }}
138
- >
139
- {t('TUIContact.Agree')}
140
- </div>
141
129
  )}
142
130
  </div>
131
+ {type === TencentCloudChat.TYPES.SNS_APPLICATION_SENT_BY_ME && (
132
+ <p className="tui-contacts-list-btn-text text-ellipsis">{t('TUIContact.waiting for verification')}</p>
133
+ )}
134
+ {type === TencentCloudChat.TYPES.SNS_APPLICATION_SENT_TO_ME && (
135
+ <div
136
+ className="application-btn"
137
+ role="button"
138
+ tabIndex={0}
139
+ onClick={(e) => {
140
+ acceptFriendApplicationHandle(e, userID);
141
+ }}
142
+ >
143
+ {t('TUIContact.Agree')}
144
+ </div>
145
+ )}
143
146
  </div>
144
- );
145
- })}
147
+ </div>
148
+ );
149
+ })}
146
150
  <RenderContactList
147
- type={'block'}
151
+ type="block"
148
152
  title={t('TUIContact.Blocked List')}
149
153
  isShow={isShowBlocklist}
150
154
  setShow={setShowBlocklist}
151
155
  list={blocklistProfile}
152
156
  />
153
157
  <RenderContactList
154
- type={'group'}
158
+ type="group"
155
159
  title={t('TUIContact.Group List')}
156
160
  setShow={setShowGrouplist}
157
161
  isShow={isShowGrouplist}
158
162
  list={groupList}
159
163
  />
160
164
  <RenderContactList
161
- type={'friend'}
165
+ type="friend"
162
166
  title={t('TUIContact.Friends')}
163
167
  setShow={setShowFriends}
164
168
  isShow={iShowFriends}
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/colors/color-theme" as *;
2
+
1
3
  .tui-contacts-list {
2
4
  flex: 1 1 auto;
3
5
  min-width: 360px;
@@ -5,33 +7,47 @@
5
7
  display: flex;
6
8
  flex-direction: column;
7
9
  position: relative;
8
- border-right: 1px solid #F9FAFB;
9
10
  text-align: initial;
10
- overflow-y: scroll;
11
- overflow-x: hidden;
11
+ overflow: hidden scroll;
12
+
13
+ @include theme() {
14
+ color: get(text-color-primary);
15
+ }
16
+
12
17
  .tui-contacts-title {
13
18
  display: flex;
14
19
  justify-content: space-between;
15
20
  }
21
+
16
22
  .tui-contacts-list-title {
17
23
  display: flex;
18
24
  padding: 10px 20px;
25
+ cursor: pointer;
19
26
  }
27
+
20
28
  .tui-contacts-list-icon {
21
29
  display: flex;
22
30
  align-items: center;
23
31
  justify-content: center;
24
32
  margin-right: 20px;
33
+
34
+ .contacts-list-icon {
35
+ font-size: 12px;
36
+
37
+ @include theme() {
38
+ color: get(text-color-primary);
39
+ }
40
+ }
25
41
  }
42
+
26
43
  .tui-contacts-list-item {
27
44
  align-items: center;
28
45
  cursor: pointer;
29
46
  display: flex;
30
47
  padding: 10px 20px;
31
48
  text-align: center;
32
- font-family: PingFangSC-Medium;
33
49
  font-size: 14px;
34
- line-height: 20px;
50
+
35
51
  .tui-contacts-list-item-card {
36
52
  display: flex;
37
53
  padding: 0 10px;
@@ -40,39 +56,41 @@
40
56
  justify-content: space-between;
41
57
  flex: 1;
42
58
  }
59
+
43
60
  .tui-contacts-list-item-container {
44
61
  margin-left: 10px;
45
62
  }
63
+
64
+ .text-ellipsis {
65
+ overflow: hidden;
66
+ text-overflow: ellipsis;
67
+ white-space: nowrap;
68
+ }
69
+
46
70
  .tui-contacts-list-item-text {
47
71
  color: #999;
48
72
  font-size: 12px;
49
73
  text-align: left;
50
- @extend .text-ellipsis
74
+
75
+ @extend .text-ellipsis;
51
76
  }
77
+
52
78
  .tui-contacts-list-btn-text {
53
79
  color: #999;
54
80
  font-size: 12px;
55
81
  text-align: left;
56
82
  }
83
+
57
84
  .tui-contacts-list-item-name {
58
- color: #000;
59
- font-weight: 400;
60
- text-align: left;
61
- @extend .text-ellipsis
85
+ @extend .text-ellipsis;
62
86
  }
63
-
64
- }
65
- .text-ellipsis {
66
- overflow: hidden;
67
- text-overflow: ellipsis;
68
- white-space: nowrap;
69
87
  }
88
+
70
89
  .application-btn {
71
90
  width: 30px;
72
91
  height: 14px;
73
92
  padding: 5px;
74
93
  border-radius: 15px;
75
- border: none;
76
94
  font-size: 10px;
77
95
  text-align: center;
78
96
  line-height: 14px;
@@ -80,16 +98,18 @@
80
98
  cursor: pointer;
81
99
  -webkit-user-select: none;
82
100
  user-select: none;
83
- border: 1px solid #006EFF;
84
- background: #006EFF;
101
+ border: 1px solid #006eff;
102
+ background: #006eff;
85
103
  color: #fff;
86
104
  }
87
105
  }
106
+
88
107
  ::-webkit-scrollbar {
89
108
  display: none;
90
109
  }
110
+
91
111
  .tui-contacts-list-h5 {
92
112
  min-width: 100%;
93
113
  width: 100%;
94
114
  max-width: 100%;
95
- }
115
+ }
@@ -43,13 +43,13 @@ function useTUIContact() {
43
43
  };
44
44
 
45
45
  const getFriendList = async () => {
46
- const { code, data } = await chat.getFriendList();
46
+ const { code, data } = await chat?.getFriendList();
47
47
  if (code === 0) {
48
48
  setFriendList(data);
49
49
  }
50
50
  };
51
51
  const getBlocklist = async () => {
52
- const { data: _blocklist } = await chat.getBlacklist();
52
+ const { data: _blocklist } = await chat?.getBlacklist();
53
53
  if (_blocklist.length === 0) {
54
54
  return;
55
55
  }
@@ -57,7 +57,7 @@ function useTUIContact() {
57
57
  getBlocklistProfile(_blocklist);
58
58
  };
59
59
 
60
- const getBlocklistProfile = async (_blocklist: Array<string>) => {
60
+ const getBlocklistProfile = async (_blocklist: string[]) => {
61
61
  const { data } = await chat.getUserProfile({
62
62
  userIDList: _blocklist,
63
63
  });
@@ -1,3 +1,5 @@
1
+ @use "../../styles/colors/color-theme" as *;
2
+
1
3
  .tui-contacts {
2
4
  height: 100%;
3
5
  min-width: 360px;
@@ -7,66 +9,83 @@
7
9
  position: relative;
8
10
  text-align: initial;
9
11
  overflow: hidden;
12
+
13
+ @include theme() {
14
+ background-color: get(bg-color-operate);
15
+ }
16
+
10
17
  .tui-contacts-header {
11
18
  position: relative;
12
19
  display: flex;
13
20
  align-items: center;
14
21
  padding: 10px 20px 10px 10px;
15
22
  }
23
+
16
24
  .tui-contact-input {
17
25
  width: 100%;
18
26
  }
27
+
19
28
  .tui-contacts-add {
20
- display: flex;
21
- color: #147AFF;
29
+ color: #147aff;
22
30
  font-size: 20px;
23
31
  align-items: center;
24
32
  cursor: pointer;
25
33
  display: flex;
26
34
  text-align: center;
35
+
27
36
  .tui-conversation-create-icon {
28
37
  display: flex;
29
38
  align-items: center;
30
39
  justify-content: center;
31
40
  }
32
41
  }
42
+
33
43
  .tui-contacts-add-header {
34
44
  align-items: center;
35
- background-color: #f9fafb;
36
45
  display: flex;
37
46
  flex-direction: row;
38
47
  padding: 16px 20px;
39
48
  text-align: center;
40
49
  margin-bottom: 10px;
50
+
51
+ @include theme() {
52
+ background-color: get(bg-color-operate);
53
+ }
54
+
41
55
  .tui-contacts-add-header-title {
42
- color: #000;
43
- font-family: PingFangSC-Medium;
44
56
  font-size: 20px;
45
57
  font-weight: 600;
46
- letter-spacing: -.41px;
47
- line-height: 32px;
48
58
  margin-left: 10px;
59
+
60
+ @include theme() {
61
+ color: get(text-color-primary);
62
+ }
49
63
  }
50
64
  }
65
+
51
66
  .no-result {
52
67
  padding: 0 20px;
53
68
  display: flex;
54
69
  flex-direction: column;
55
70
  align-items: center;
71
+
56
72
  &-icon {
57
73
  margin: 100px auto 50px;
58
74
  }
75
+
59
76
  &-message {
60
- color: #999999;
61
- font-weight: 400;
62
77
  font-size: 16px;
63
- font-family: PingFangSC-Medium;
64
78
  line-height: 22px;
79
+
80
+ @include theme() {
81
+ color: get(text-color-secondary);
82
+ }
65
83
  }
66
84
  }
67
85
  }
86
+
68
87
  .tui-contacts-h5 {
69
88
  min-width: 100%;
70
89
  width: 100%;
71
90
  max-width: 100%;
72
- }
91
+ }
@@ -1,24 +1,33 @@
1
+ @use "../../styles/colors/color-theme" as *;
2
+
1
3
  .tui-contact-search {
2
4
  width: 100%;
3
5
  position: relative;
4
6
  text-align: initial;
5
7
  align-items: center;
6
8
  justify-content: space-between;
9
+
7
10
  .tui-contact-search-input {
8
11
  margin: 0 10px;
9
12
  }
13
+
10
14
  .tui-contact-search-text {
11
- color: #147AFF;
15
+ color: #147aff;
12
16
  font-size: 14px;
13
17
  }
18
+
14
19
  .tui-contact-search-item {
15
20
  position: absolute;
16
21
  margin: 10px 20px;
17
22
  display: flex;
18
23
  align-items: center;
24
+
25
+ @include theme() {
26
+ color: get(text-color-primary);
27
+ }
28
+
19
29
  .search-item-name {
20
- padding-left: 10px;
30
+ padding-left: 10px;
21
31
  }
22
32
  }
23
33
  }
24
-
@@ -1,17 +1,16 @@
1
1
  @use "../../styles/colors/color-theme" as *;
2
2
 
3
3
  .tui-conversation {
4
- flex: 1;
5
- box-sizing: border-box;
6
- overflow: hidden;
4
+ flex: 1 1 auto;
7
5
  min-width: 0;
8
6
  display: flex;
9
7
  flex-direction: column;
10
8
  position: relative;
11
9
  text-align: initial;
10
+ overflow: auto;
12
11
 
13
12
  @include theme() {
14
- background-color: get(bg-primary);
13
+ background-color: get(bg-color-operate);
15
14
  }
16
15
 
17
16
  .tui-conversation-header {