@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.
- package/CHANGELOG.md +10 -0
- package/dist/cjs/assets/fonts/iconfont.ttf +0 -0
- package/dist/cjs/assets/fonts/iconfont.woff +0 -0
- package/dist/cjs/assets/fonts/iconfont.woff2 +0 -0
- package/dist/cjs/components/ConversationCreate/hooks/useConversationCreate.js +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.js +1 -1
- package/dist/cjs/components/Icon/config.js +1 -1
- package/dist/cjs/components/Icon/images/video-call.svg.js +1 -0
- package/dist/cjs/components/Icon/images/voice-call.svg.js +1 -0
- package/dist/cjs/components/Icon/type.d.ts +3 -1
- package/dist/cjs/components/Icon/type.js +1 -1
- package/dist/cjs/components/TUIChat/TUIChat.d.ts +3 -2
- package/dist/cjs/components/TUIChat/TUIChat.js +1 -1
- package/dist/cjs/components/TUIChat/TUIChatState.js +1 -1
- package/dist/cjs/components/TUIChat/index.js +1 -0
- package/dist/cjs/components/TUIChat/server.js +1 -0
- package/dist/cjs/components/TUIChat/utils.js +1 -0
- package/dist/cjs/components/TUIChatHeader/TUIChatHeader.d.ts +1 -0
- package/dist/cjs/components/TUIChatHeader/TUIChatHeader.js +1 -1
- package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.d.ts +2 -1
- package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
- package/dist/cjs/components/TUIContact/TUIContactList/TUIContactList.js +1 -1
- package/dist/cjs/components/TUIContact/hooks/useTUIContact.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageAvatar.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageCustom.js +1 -1
- package/dist/cjs/components/TUIMessage/MessageStatus.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/InputPluginsDefalut.js +1 -1
- package/dist/cjs/components/TUIMessageInput/hooks/useHandleForwardMessage.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/hooks/useMessageListElement.js +1 -1
- package/dist/cjs/components/TUIProfile/TUIProfileDefault.js +1 -1
- package/dist/cjs/components/{untils.js → utils.js} +1 -1
- package/dist/cjs/context/LanguageContext.js +1 -1
- package/dist/cjs/context/TUIChatActionContext.d.ts +2 -1
- package/dist/cjs/context/TUIConversationContext.js +1 -1
- package/dist/cjs/context/ThemeContext.js +1 -1
- package/dist/cjs/context/UIKitContext.d.ts +2 -2
- package/dist/cjs/context/UIKitContext.js +1 -1
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.d.css +589 -259
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/locales/en-US/index.js +1 -1
- package/dist/cjs/locales/index.js +1 -1
- package/dist/cjs/locales/ja-JP/index.js +1 -1
- package/dist/cjs/locales/ko-KR/index.js +1 -1
- package/dist/cjs/locales/zh-CN/index.js +1 -1
- package/dist/cjs/locales/zh-TW/TUIChat.js +1 -0
- package/dist/cjs/locales/zh-TW/TUIContact.js +1 -0
- package/dist/cjs/locales/zh-TW/TUIConversation.js +1 -0
- package/dist/cjs/locales/zh-TW/TUIProfile.js +1 -0
- package/dist/cjs/locales/zh-TW/index.js +1 -0
- package/dist/esm/assets/fonts/iconfont.ttf +0 -0
- package/dist/esm/assets/fonts/iconfont.woff +0 -0
- package/dist/esm/assets/fonts/iconfont.woff2 +0 -0
- package/dist/esm/components/ConversationCreate/hooks/useConversationCreate.js +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.js +1 -1
- package/dist/esm/components/Icon/config.js +1 -1
- package/dist/esm/components/Icon/images/video-call.svg.js +1 -0
- package/dist/esm/components/Icon/images/voice-call.svg.js +1 -0
- package/dist/esm/components/Icon/type.d.ts +3 -1
- package/dist/esm/components/Icon/type.js +1 -1
- package/dist/esm/components/TUIChat/TUIChat.d.ts +3 -2
- package/dist/esm/components/TUIChat/TUIChat.js +1 -1
- package/dist/esm/components/TUIChat/TUIChatState.js +1 -1
- package/dist/esm/components/TUIChat/index.js +1 -0
- package/dist/esm/components/TUIChat/server.js +1 -0
- package/dist/esm/components/TUIChat/utils.js +1 -0
- package/dist/esm/components/TUIChatHeader/TUIChatHeader.d.ts +1 -0
- package/dist/esm/components/TUIChatHeader/TUIChatHeader.js +1 -1
- package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.d.ts +2 -1
- package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
- package/dist/esm/components/TUIContact/TUIContactList/TUIContactList.js +1 -1
- package/dist/esm/components/TUIContact/hooks/useTUIContact.js +1 -1
- package/dist/esm/components/TUIMessage/MessageAvatar.js +1 -1
- package/dist/esm/components/TUIMessage/MessageCustom.js +1 -1
- package/dist/esm/components/TUIMessage/MessageStatus.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/InputPluginsDefalut.js +1 -1
- package/dist/esm/components/TUIMessageInput/hooks/useHandleForwardMessage.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/hooks/useMessageListElement.js +1 -1
- package/dist/esm/components/TUIProfile/TUIProfileDefault.js +1 -1
- package/dist/esm/components/utils.js +1 -0
- package/dist/esm/context/LanguageContext.js +1 -1
- package/dist/esm/context/TUIChatActionContext.d.ts +2 -1
- package/dist/esm/context/TUIConversationContext.js +1 -1
- package/dist/esm/context/ThemeContext.js +1 -1
- package/dist/esm/context/UIKitContext.d.ts +2 -2
- package/dist/esm/context/UIKitContext.js +1 -1
- package/dist/esm/index.css +1 -1
- package/dist/esm/index.d.css +589 -259
- package/dist/esm/index.js +1 -1
- package/dist/esm/locales/en-US/index.js +1 -1
- package/dist/esm/locales/index.js +1 -1
- package/dist/esm/locales/ja-JP/index.js +1 -1
- package/dist/esm/locales/ko-KR/index.js +1 -1
- package/dist/esm/locales/zh-CN/index.js +1 -1
- package/dist/esm/locales/zh-TW/TUIChat.js +1 -0
- package/dist/esm/locales/zh-TW/TUIContact.js +1 -0
- package/dist/esm/locales/zh-TW/TUIConversation.js +1 -0
- package/dist/esm/locales/zh-TW/TUIProfile.js +1 -0
- package/dist/esm/locales/zh-TW/index.js +1 -0
- package/package.json +2 -1
- package/rollup.config.js +1 -1
- package/src/assets/fonts/iconfont.ttf +0 -0
- package/src/assets/fonts/iconfont.woff +0 -0
- package/src/assets/fonts/iconfont.woff2 +0 -0
- package/src/components/Avatar/styles/index.scss +11 -4
- package/src/components/Checkbox/styles/color.scss +17 -6
- package/src/components/ConversationCreate/hooks/useConversationCreate.tsx +5 -5
- package/src/components/ConversationCreate/styles/ConversationCreatGroupDetail.scss +7 -16
- package/src/components/ConversationCreate/styles/conversationCreateSelectView.scss +13 -8
- package/src/components/ConversationCreate/styles/conversationGroupTypeInfo.scss +20 -21
- package/src/components/ConversationCreate/styles/index.scss +30 -17
- package/src/components/ConversationPreview/ConversationPreviewContent.tsx +1 -0
- package/src/components/ConversationPreview/styles/index.scss +20 -20
- package/src/components/ConversationPreview/utils.tsx +3 -2
- package/src/components/DivWithEdit/styles/index.scss +30 -10
- package/src/components/Icon/config.ts +14 -4
- package/src/components/Icon/images/video-call.svg +3 -0
- package/src/components/Icon/images/voice-call.svg +3 -0
- package/src/components/Icon/type.ts +2 -0
- package/src/components/Input/styles/index.scss +22 -6
- package/src/components/Plugins/styles/color.scss +3 -11
- package/src/components/Profile/styles/index.scss +12 -3
- package/src/components/TUIChat/TUIChat.tsx +36 -32
- package/src/components/TUIChat/TUIChatState.tsx +41 -41
- package/src/components/TUIChat/index.ts +3 -0
- package/src/components/TUIChat/server.ts +44 -0
- package/src/components/TUIChat/styles/layout.scss +7 -2
- package/src/components/TUIChat/utils.ts +72 -0
- package/src/components/TUIChatHeader/TUIChatHeader.tsx +10 -7
- package/src/components/TUIChatHeader/TUIChatHeaderDefault.tsx +72 -29
- package/src/components/TUIChatHeader/styles/layout.scss +16 -9
- package/src/components/TUIContact/TUIContactInfo/index.scss +44 -21
- package/src/components/TUIContact/TUIContactList/TUIContactList.tsx +75 -71
- package/src/components/TUIContact/TUIContactList/index.scss +40 -20
- package/src/components/TUIContact/hooks/useTUIContact.tsx +3 -3
- package/src/components/TUIContact/index.scss +30 -11
- package/src/components/TUIContactSearch/index.scss +12 -3
- package/src/components/TUIConversationList/index.scss +3 -4
- package/src/components/TUIManage/styles/index.scss +20 -14
- package/src/components/TUIMessage/MessageAvatar.tsx +7 -7
- package/src/components/TUIMessage/MessageBubble.tsx +22 -21
- package/src/components/TUIMessage/MessageCustom.tsx +26 -5
- package/src/components/TUIMessage/MessageStatus.tsx +5 -5
- package/src/components/TUIMessage/hooks/useMessageHandler.ts +6 -6
- package/src/components/TUIMessage/hooks/useMessageReply.ts +6 -5
- package/src/components/TUIMessage/styles/color.scss +6 -5
- package/src/components/TUIMessage/styles/layout.scss +111 -42
- package/src/components/TUIMessage/utils/index.ts +23 -12
- package/src/components/TUIMessageInput/InputPluginsDefalut.tsx +12 -12
- package/src/components/TUIMessageInput/hooks/useHandleForwardMessage.tsx +5 -4
- package/src/components/TUIMessageInput/hooks/useMessageInputText.tsx +12 -12
- package/src/components/TUIMessageInput/hooks/useUploadPicker.tsx +4 -4
- package/src/components/TUIMessageInput/styles/color.scss +15 -11
- package/src/components/TUIMessageInput/styles/layout.scss +33 -17
- package/src/components/TUIMessageList/hooks/useMessageListElement.tsx +13 -9
- package/src/components/TUIMessageList/styles/layout.scss +16 -9
- package/src/components/TUIProfile/TUIProfileDefault.tsx +12 -11
- package/src/components/TUIProfile/styles/color.scss +6 -5
- package/src/components/TUIProfile/styles/layout.scss +16 -14
- package/src/components/{untils.ts → utils.ts} +5 -4
- package/src/context/LanguageContext.tsx +5 -4
- package/src/context/TUIChatActionContext.tsx +14 -13
- package/src/context/ThemeContext.tsx +12 -5
- package/src/context/UIKitContext.tsx +11 -2
- package/src/locales/en-US/index.ts +0 -3
- package/src/locales/index.ts +6 -2
- package/src/locales/ja-JP/index.ts +0 -2
- package/src/locales/ko-KR/index.ts +0 -2
- package/src/locales/zh-CN/index.ts +0 -2
- package/src/locales/zh-TW/TUIChat.ts +27 -0
- package/src/locales/zh-TW/TUIContact.ts +29 -0
- package/src/locales/zh-TW/TUIConversation.ts +32 -0
- package/src/locales/zh-TW/TUIProfile.ts +15 -0
- package/src/locales/zh-TW/index.ts +11 -0
- package/src/styles/colors/_color-dark.scss +31 -21
- package/src/styles/colors/_color-light.scss +31 -21
- package/src/styles/colors/_color-theme.scss +32 -21
- package/src/styles/normalize.scss +6 -0
- package/dist/cjs/components/Icon/images/down-arrow.png.js +0 -1
- package/dist/cjs/components/Icon/images/right-arrow.svg.js +0 -1
- package/dist/cjs/components/TUIChat/unitls.js +0 -1
- package/dist/cjs/locales/en-US/TUIGlobal.js +0 -1
- package/dist/cjs/locales/ja-JP/TUIGlobal.js +0 -1
- package/dist/cjs/locales/ko-KR/TUIGlobal.js +0 -1
- package/dist/cjs/locales/zh-CN/TUIGlobal.js +0 -1
- package/dist/esm/components/Icon/images/down-arrow.png.js +0 -1
- package/dist/esm/components/Icon/images/right-arrow.svg.js +0 -1
- package/dist/esm/components/TUIChat/unitls.js +0 -1
- package/dist/esm/components/untils.js +0 -1
- package/dist/esm/locales/en-US/TUIGlobal.js +0 -1
- package/dist/esm/locales/ja-JP/TUIGlobal.js +0 -1
- package/dist/esm/locales/ko-KR/TUIGlobal.js +0 -1
- package/dist/esm/locales/zh-CN/TUIGlobal.js +0 -1
- package/scripts/publish-github.js +0 -60
- package/scripts/publish-intl-demo.js +0 -14
- package/scripts/publish-intl-experience-demo.js +0 -14
- package/src/components/TUIChat/unitls.ts +0 -39
- package/src/locales/en-US/TUIGlobal.ts +0 -6
- package/src/locales/ja-JP/TUIGlobal.ts +0 -6
- package/src/locales/ko-KR/TUIGlobal.ts +0 -6
- 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
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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:
|
|
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 }
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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"></i>
|
|
55
|
+
: <i className="iconfont contacts-list-icon"></i>}
|
|
56
|
+
</div>
|
|
54
57
|
</div>
|
|
55
|
-
|
|
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
|
-
|
|
95
|
+
{iShowFriendApplication
|
|
96
|
+
? <i className="iconfont contacts-list-icon"></i>
|
|
97
|
+
: <i className="iconfont contacts-list-icon"></i>}
|
|
94
98
|
</div>
|
|
95
99
|
</div>
|
|
96
100
|
{iShowFriendApplication
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
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=
|
|
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=
|
|
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=
|
|
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
|
|
11
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 #
|
|
84
|
-
background: #
|
|
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
|
|
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
|
|
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:
|
|
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
|
-
|
|
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: #
|
|
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
|
-
|
|
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-
|
|
13
|
+
background-color: get(bg-color-operate);
|
|
15
14
|
}
|
|
16
15
|
|
|
17
16
|
.tui-conversation-header {
|