tuikit-atomicx-vue3 3.3.0-beta.3 → 3.3.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/dist/AttachmentPicker.module-BesmtGyl.js +11 -0
- package/dist/FilePicker.vue_vue_type_script_setup_true_lang-CdJ4DUzE.js +76 -0
- package/dist/ImagePicker.vue_vue_type_script_setup_true_lang-CbNUofpK.js +76 -0
- package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-XRL7A5Gj.js → MessageInput.vue_vue_type_script_setup_true_lang-wUJPjWbx.js} +23 -18
- package/dist/VideoPicker.vue_vue_type_script_setup_true_lang-CmxjbNDJ.js +76 -0
- package/dist/chat/index.d.ts +3747 -2386
- package/dist/chat/index.js +12 -11
- package/dist/components/BarrageInput/BarrageInputH5.js +32 -8
- package/dist/components/BarrageInput/EmojiPicker/EmojiPicker.js +9 -5
- package/dist/components/BarrageInput/TextEditor/index.js +14 -6
- package/dist/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.vue.d.ts +4 -4
- package/dist/components/BarrageList/Message/TextMessage/TextMessage.js +12 -4
- package/dist/components/BarrageList/i18n/en-US/index.d.ts +1 -0
- package/dist/components/BarrageList/i18n/en-US/index.js +2 -1
- package/dist/components/BarrageList/i18n/zh-CN/index.d.ts +1 -0
- package/dist/components/BarrageList/i18n/zh-CN/index.js +2 -1
- package/dist/components/ChatSetting/GroupChatSetting/GroupActions/GroupActions.js +5 -3
- package/dist/components/ChatSetting/GroupChatSetting/GroupChatSetting.js +3 -3
- package/dist/components/ChatSetting/GroupChatSetting/GroupInfo/GroupInfo.js +3 -3
- package/dist/components/ChatSetting/GroupChatSetting/GroupManagement/GroupManagement.js +3 -3
- package/dist/components/ChatSetting/GroupChatSetting/GroupMembers/GroupMembers.js +3 -3
- package/dist/components/ChatSetting/SettingItem/SettingItem.js +21 -21
- package/dist/components/ChatSetting/i18n/en-US.js +3 -3
- package/dist/components/ChatSetting/i18n/zh-CN.js +3 -3
- package/dist/components/ChatSetting/index.d.ts +1 -4
- package/dist/components/ChatSetting/index.js +3 -6
- package/dist/components/CoGuestPanel/CoGuestPanel.js +1 -1
- package/dist/components/ContactList/ContactInfo/ContactInfo.js +17 -17
- package/dist/components/ContactList/ContactInfo/ContactInfo.vue.d.ts +26 -2
- package/dist/components/ContactList/ContactInfo/GroupInfo/GroupInfo.js +2 -1
- package/dist/components/ContactList/ContactList.js +19 -10
- package/dist/components/ContactList/ContactList.vue.d.ts +109 -1
- package/dist/components/ContactList/index.d.ts +158 -26
- package/dist/components/ConversationList/ConversationActions/ConversationActions.js +8 -9
- package/dist/components/ConversationList/ConversationCreate/ConversationCreate.js +2 -1
- package/dist/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.js +8 -8
- package/dist/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.js +1 -2
- package/dist/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.js +8 -8
- package/dist/components/ConversationList/ConversationList.js +18 -44
- package/dist/components/ConversationList/ConversationList.vue.d.ts +197 -1535
- package/dist/components/ConversationList/ConversationListContent/ConversationListContent.js +8 -11
- package/dist/components/ConversationList/ConversationListContent/ConversationListContent.vue.d.ts +22 -340
- package/dist/components/ConversationList/ConversationPreview/ConversationPreview.vue.d.ts +80 -134
- package/dist/components/ConversationList/ConversationPreview/ConversationPreviewAbstract.js +14 -14
- package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTimestamp.js +14 -14
- package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTitle.js +19 -30
- package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTitle.vue.d.ts +0 -2
- package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.js +14 -15
- package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue.d.ts +12 -24
- package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUnread.js +14 -14
- package/dist/components/ConversationList/ConversationPreview/index.d.ts +1 -1
- package/dist/components/ConversationList/ConversationPreview/index.js +17 -21
- package/dist/components/ConversationList/ConversationSearch/ConversationSearch.js +1 -0
- package/dist/components/ConversationList/index.d.ts +468 -2400
- package/dist/components/ConversationList/index.js +1 -1
- package/dist/components/LiveCoreView/index.js +113 -58
- package/dist/components/LiveCoreView/index.vue.d.ts +9 -0
- package/dist/components/LiveList/LiveList.js +7 -5
- package/dist/components/LiveList/LiveListH5.js +77 -71
- package/dist/components/LiveList/i18n/en-US/index.d.ts +5 -0
- package/dist/components/LiveList/i18n/en-US/index.js +6 -1
- package/dist/components/LiveList/i18n/zh-CN/index.d.ts +5 -0
- package/dist/components/LiveList/i18n/zh-CN/index.js +6 -1
- package/dist/components/LiveList/pullToRefresh.js +204 -0
- package/dist/components/LiveList/pullToRefresh.vue.d.ts +86 -0
- package/dist/components/LiveScenePanel/CameraSettingDialog.js +6 -5
- package/dist/components/LiveScenePanel/index.js +3 -3
- package/dist/components/MessageInput/AttachmentPicker/AttachmentPicker.vue.d.ts +0 -4
- package/dist/components/MessageInput/AttachmentPicker/FilePicker.js +1 -1
- package/dist/components/MessageInput/AttachmentPicker/ImagePicker.js +1 -1
- package/dist/components/MessageInput/AttachmentPicker/VideoPicker.js +1 -1
- package/dist/components/MessageInput/AttachmentPicker/index.js +14 -19
- package/dist/components/MessageInput/EmojiPicker/EmojiPicker.js +3 -3
- package/dist/components/MessageInput/MessageInput.js +1 -1
- package/dist/components/MessageInput/MessageInput.vue.d.ts +6 -9
- package/dist/components/MessageInput/TextEditor/TextEditor.vue.d.ts +2 -2
- package/dist/components/MessageInput/TextEditor/index.js +18 -9
- package/dist/components/MessageInput/index.d.ts +5 -41
- package/dist/components/MessageInput/index.js +4 -4
- package/dist/components/MessageList/Message/CustomMessage/index.js +2 -2
- package/dist/components/MessageList/Message/FaceMessage/FaceMessage.js +7 -5
- package/dist/components/MessageList/Message/FaceMessage/FaceMessage.vue.d.ts +8 -8
- package/dist/components/MessageList/Message/LocationMessage/LocationMessage.js +2 -1
- package/dist/components/MessageList/Message/MergerMessage/MergerMessage.js +2 -1
- package/dist/components/MessageList/Message/MessageLayout/MessageActionDropdown/MessageActionDropdown.js +12 -4
- package/dist/components/MessageList/Message/MessageLayout/MessageActionDropdown/MessageActionDropdown.vue.d.ts +3 -3
- package/dist/components/MessageList/MessageForward/MessageForward.js +2 -3
- package/dist/components/MessageList/MessageList.js +14 -7
- package/dist/components/MessageList/MessageList.vue.d.ts +1 -1
- package/dist/components/MessageList/MessageTimeDivider/MessageTimeDivider.js +5 -5
- package/dist/components/MessageList/MessageTimeDivider/MessageTimeDivider.vue.d.ts +10 -10
- package/dist/components/MessageList/index.d.ts +143 -5
- package/dist/components/MessageList/index.js +5 -5
- package/dist/components/Search/Search.js +1 -3
- package/dist/components/Search/SearchResults/EmptyResult/EmptyResult.js +4 -6
- package/dist/components/Search/SearchResults/Loading/Loading.js +2 -4
- package/dist/components/Search/SearchResults/SearchResults.js +20 -22
- package/dist/components/Search/SearchResults/SearchResultsItem/Conversation/Conversation.js +6 -8
- package/dist/components/Search/SearchResults/SearchResultsItem/Group/Group.js +5 -7
- package/dist/components/Search/SearchResults/SearchResultsItem/Message/Message.js +19 -21
- package/dist/components/Search/SearchResults/SearchResultsItem/SearchResultsItem.js +1 -3
- package/dist/components/Search/SearchResults/SearchResultsItem/User/User.js +5 -7
- package/dist/components/StreamMixer/LocalMixer/index.js +11 -5
- package/dist/components/StreamView/manager/mediaManager.js +1 -1
- package/dist/components/UserPicker/UserPicker.js +2 -2
- package/dist/components/UserPicker/UserPicker.vue.d.ts +7 -8
- package/dist/components/UserPicker/components/ListMode/ListMode.js +14 -17
- package/dist/components/UserPicker/components/ListMode/ListMode.vue.d.ts +2 -2
- package/dist/components/UserPicker/components/SelectedPanel/SelectedPanel.vue.d.ts +2 -2
- package/dist/components/UserPicker/components/TreeMode/TreeMode.vue.d.ts +3 -3
- package/dist/components/UserPicker/components/TreeMode/TreeNode.vue.d.ts +4 -4
- package/dist/components/UserPicker/hooks/useSearchFilter.d.ts +3 -3
- package/dist/components/UserPicker/hooks/useSelection.d.ts +8 -8
- package/dist/components/UserPicker/hooks/useTreeState.d.ts +3 -3
- package/dist/components/UserPicker/index.d.ts +134 -3
- package/dist/components/UserPicker/index.js +3 -2
- package/dist/components/UserPicker/type.d.ts +18 -18
- package/dist/index.js +6 -3
- package/dist/rtc/index.d.ts +9 -0
- package/dist/states/GroupSettingState/GroupSettingState.js +3 -3
- package/dist/states/LiveSeatState/usePlayStream/MixStreamPlayer.js +3 -0
- package/dist/states/LoginState.js +1 -0
- package/dist/states/MessageInputState/MessageInputState.js +25 -5
- package/dist/styles/index.css +1275 -3559
- package/dist/types/contact.d.ts +13 -12
- package/dist/types/conversation.d.ts +12 -14
- package/dist/types/engine.d.ts +12 -0
- package/dist/types/engine.js +15 -0
- package/dist/types/index.js +2 -1
- package/dist/utils/json.js +0 -1
- package/package.json +7 -3
- package/src/chat/index.ts +12 -4
- package/src/components/BarrageInput/BarrageInputH5.vue +50 -4
- package/src/components/BarrageInput/EmojiPicker/EmojiPicker.module.scss +1 -0
- package/src/components/BarrageInput/EmojiPicker/EmojiPicker.vue +1 -1
- package/src/components/BarrageInput/TextEditor/Editor.scss +1 -1
- package/src/components/BarrageInput/TextEditor/TextEditor.module.scss +2 -0
- package/src/components/BarrageInput/TextEditor/TextEditor.vue +6 -0
- package/src/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.vue +8 -8
- package/src/components/BarrageList/Message/TextMessage/TextMessage.vue +10 -0
- package/src/components/BarrageList/i18n/en-US/index.ts +1 -0
- package/src/components/BarrageList/i18n/zh-CN/index.ts +1 -0
- package/src/components/ChatSetting/GroupChatSetting/GroupActions/GroupActions.vue +5 -2
- package/src/components/ChatSetting/GroupChatSetting/GroupChatSetting.vue +5 -4
- package/src/components/ChatSetting/GroupChatSetting/GroupInfo/GroupInfo.vue +2 -2
- package/src/components/ChatSetting/GroupChatSetting/GroupManagement/GroupManagement.vue +3 -2
- package/src/components/ChatSetting/GroupChatSetting/GroupMembers/GroupMembers.vue +3 -3
- package/src/components/ChatSetting/SettingItem/SettingItem.vue +10 -7
- package/src/components/ChatSetting/i18n/en-US.ts +3 -3
- package/src/components/ChatSetting/i18n/zh-CN.ts +3 -3
- package/src/components/ChatSetting/index.ts +3 -3
- package/src/components/CoGuestPanel/CoGuestPanel.vue +9 -0
- package/src/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.scss +2 -0
- package/src/components/ContactList/ContactInfo/ContactInfo.vue +17 -9
- package/src/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.scss +2 -0
- package/src/components/ContactList/ContactInfo/FriendInfo/FriendInfo.scss +4 -3
- package/src/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.scss +2 -0
- package/src/components/ContactList/ContactInfo/GroupInfo/GroupInfo.scss +2 -0
- package/src/components/ContactList/ContactInfo/GroupInfo/GroupInfo.vue +1 -0
- package/src/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.scss +2 -2
- package/src/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.scss +3 -2
- package/src/components/ContactList/ContactList.scss +2 -1
- package/src/components/ContactList/ContactList.vue +18 -3
- package/src/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.scss +3 -3
- package/src/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.scss +5 -6
- package/src/components/ContactList/ContactListItem/FriendItem/FriendItem.scss +3 -3
- package/src/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.scss +5 -6
- package/src/components/ContactList/ContactListItem/GroupItem/GroupItem.scss +3 -3
- package/src/components/ConversationList/ConversationActions/ConversationActions.scss +2 -12
- package/src/components/ConversationList/ConversationActions/ConversationActions.vue +2 -2
- package/src/components/ConversationList/ConversationCreate/ConversationCreate.vue +1 -0
- package/src/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.scss +2 -1
- package/src/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.vue +2 -2
- package/src/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.scss +2 -1
- package/src/components/ConversationList/ConversationList.scss +0 -5
- package/src/components/ConversationList/ConversationList.vue +15 -41
- package/src/components/ConversationList/ConversationListContent/ConversationListContent.scss +1 -0
- package/src/components/ConversationList/ConversationListContent/ConversationListContent.vue +13 -18
- package/src/components/ConversationList/ConversationPreview/ConversationPreview.scss +11 -9
- package/src/components/ConversationList/ConversationPreview/ConversationPreview.vue +14 -16
- package/src/components/ConversationList/ConversationPreview/ConversationPreviewTitle.vue +2 -14
- package/src/components/ConversationList/ConversationPreview/index.ts +1 -1
- package/src/components/ConversationList/ConversationSearch/ConversationSearch.vue +1 -0
- package/src/components/LiveCoreView/index.vue +144 -78
- package/src/components/LiveList/LiveList.vue +3 -0
- package/src/components/LiveList/LiveListH5.vue +60 -85
- package/src/components/LiveList/i18n/en-US/index.ts +5 -0
- package/src/components/LiveList/i18n/zh-CN/index.ts +5 -0
- package/src/components/LiveList/pullToRefresh.vue +364 -0
- package/src/components/LiveScenePanel/CameraSettingDialog.vue +6 -5
- package/src/components/LiveScenePanel/index.vue +2 -2
- package/src/components/MessageInput/AttachmentPicker/AttachmentPicker.module.scss +4 -0
- package/src/components/MessageInput/AttachmentPicker/AttachmentPicker.vue +12 -17
- package/src/components/MessageInput/AttachmentPicker/FilePicker.vue +3 -2
- package/src/components/MessageInput/AttachmentPicker/ImagePicker.vue +3 -2
- package/src/components/MessageInput/AttachmentPicker/VideoPicker.vue +3 -2
- package/src/components/MessageInput/EmojiPicker/EmojiPicker.module.scss +1 -0
- package/src/components/MessageInput/MessageInput.vue +21 -15
- package/src/components/MessageInput/TextEditor/Editor.scss +1 -0
- package/src/components/MessageInput/TextEditor/TextEditor.vue +16 -6
- package/src/components/MessageInput/types.d.ts +3 -4
- package/src/components/MessageList/Message/CustomMessage/CustomMessage.vue +1 -1
- package/src/components/MessageList/Message/FaceMessage/FaceMessage.vue +10 -7
- package/src/components/MessageList/Message/LocationMessage/LocationMessage.vue +3 -1
- package/src/components/MessageList/Message/MergerMessage/MergerMessage.vue +1 -1
- package/src/components/MessageList/Message/MessageLayout/MessageActionDropdown/MessageActionDropdown.vue +2 -2
- package/src/components/MessageList/MessageForward/MessageForward.vue +3 -3
- package/src/components/MessageList/MessageList.vue +17 -5
- package/src/components/MessageList/MessageTimeDivider/MessageTimeDivider.vue +9 -9
- package/src/components/MessageList/index.ts +5 -4
- package/src/components/Search/Search.scss +0 -3
- package/src/components/Search/SearchResults/EmptyResult/EmptyResult.scss +0 -3
- package/src/components/Search/SearchResults/Loading/Loading.scss +0 -3
- package/src/components/Search/SearchResults/SearchResults.scss +7 -16
- package/src/components/Search/SearchResults/SearchResultsItem/Conversation/Conversation.scss +5 -11
- package/src/components/Search/SearchResults/SearchResultsItem/Group/Group.scss +5 -11
- package/src/components/Search/SearchResults/SearchResultsItem/Message/Message.scss +5 -11
- package/src/components/Search/SearchResults/SearchResultsItem/SearchResultsItem.scss +0 -3
- package/src/components/Search/SearchResults/SearchResultsItem/User/User.scss +5 -6
- package/src/components/StreamMixer/LocalMixer/index.vue +9 -4
- package/src/components/StreamView/manager/mediaManager.ts +1 -1
- package/src/components/UserPicker/UserPicker.vue +6 -9
- package/src/components/UserPicker/components/ListMode/ListMode.vue +3 -7
- package/src/components/UserPicker/components/SelectedPanel/SelectedPanel.vue +2 -2
- package/src/components/UserPicker/components/TreeMode/TreeMode.vue +3 -3
- package/src/components/UserPicker/components/TreeMode/TreeNode.vue +3 -3
- package/src/components/UserPicker/hooks/useSearchFilter.ts +15 -14
- package/src/components/UserPicker/hooks/useSelection.ts +32 -32
- package/src/components/UserPicker/hooks/useTreeState.ts +4 -4
- package/src/components/UserPicker/index.ts +16 -14
- package/src/components/UserPicker/type.ts +18 -18
- package/src/types/contact.ts +13 -12
- package/src/types/conversation.ts +12 -14
- package/src/types/engine.ts +15 -0
- package/src/utils/json.ts +0 -4
- package/dist/AttachmentPicker.module-0_DWsAtr.js +0 -11
- package/dist/FilePicker.vue_vue_type_script_setup_true_lang-CaSj3Gh_.js +0 -72
- package/dist/ImagePicker.vue_vue_type_script_setup_true_lang-CrzGMmrh.js +0 -72
- package/dist/VideoPicker.vue_vue_type_script_setup_true_lang-DTv6TJKr.js +0 -72
- package/dist/states/UIOpenControlState/UIOpenControlState.d.ts +0 -15
- package/dist/states/UIOpenControlState/UIOpenControlState.js +0 -28
- package/dist/states/UIOpenControlState/index.d.ts +0 -1
- package/dist/states/UIOpenControlState/index.js +0 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
2
|
import { ref, computed, onMounted, onUnmounted } from 'vue';
|
|
3
|
-
import { IconArrowStrokeRight, IconMinus,
|
|
3
|
+
import { IconArrowStrokeRight, IconMinus, IconPlus, useUIKit } from '@tencentcloud/uikit-base-component-vue3';
|
|
4
4
|
import {
|
|
5
5
|
useGroupSettingState,
|
|
6
6
|
GroupPermission,
|
|
@@ -13,7 +13,7 @@ interface GroupMembersProps {
|
|
|
13
13
|
showAddButton: boolean; // Whether to show add button
|
|
14
14
|
showRemoveButton: boolean; // Whether to show remove button
|
|
15
15
|
// Basic configuration
|
|
16
|
-
title?: string; // Title
|
|
16
|
+
title?: string; // Title
|
|
17
17
|
members?: GroupMember[] | undefined; // Member list
|
|
18
18
|
memberCount?: number; // Total member count
|
|
19
19
|
maxDisplayCount?: number; // Mini version display count, default 6
|
|
@@ -239,7 +239,7 @@ onUnmounted(() => {
|
|
|
239
239
|
@click="handleAddMember"
|
|
240
240
|
>
|
|
241
241
|
<div class="group-members__action-btn__icon">
|
|
242
|
-
<
|
|
242
|
+
<IconPlus />
|
|
243
243
|
</div>
|
|
244
244
|
<div class="group-members__action-btn__label">
|
|
245
245
|
{{ t('ChatSetting.add') }}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
2
|
import { ref, nextTick, useCssModule } from 'vue';
|
|
3
|
-
import cs from 'classnames';
|
|
4
3
|
import { IconEditNameCard, TUIButton, useUIKit } from '@tencentcloud/uikit-base-component-vue3';
|
|
4
|
+
import cs from 'classnames';
|
|
5
5
|
|
|
6
6
|
// Base props shared by all types
|
|
7
7
|
interface BaseSettingItemProps {
|
|
@@ -59,7 +59,6 @@ const SettingItemType = {
|
|
|
59
59
|
DISPLAY: 'display',
|
|
60
60
|
} as const;
|
|
61
61
|
|
|
62
|
-
|
|
63
62
|
const { t } = useUIKit();
|
|
64
63
|
const classes = useCssModule();
|
|
65
64
|
|
|
@@ -464,15 +463,19 @@ function handleSwitchChange(event: Event) {
|
|
|
464
463
|
&:focus {
|
|
465
464
|
outline: none;
|
|
466
465
|
|
|
467
|
-
border-color: var(--
|
|
466
|
+
border-color: var(--text-color-link);
|
|
468
467
|
}
|
|
469
468
|
|
|
470
469
|
&::placeholder {
|
|
471
|
-
color: var(--text-color-
|
|
470
|
+
color: var(--text-color-secondary);
|
|
472
471
|
}
|
|
473
472
|
|
|
474
473
|
&--error {
|
|
475
|
-
border-color: var(--
|
|
474
|
+
border-color: var(--text-color-error);
|
|
475
|
+
|
|
476
|
+
&:focus {
|
|
477
|
+
border-color: var(--text-color-error);
|
|
478
|
+
}
|
|
476
479
|
}
|
|
477
480
|
}
|
|
478
481
|
|
|
@@ -485,7 +488,7 @@ function handleSwitchChange(event: Event) {
|
|
|
485
488
|
font-size: 12px;
|
|
486
489
|
margin-top: 4px;
|
|
487
490
|
|
|
488
|
-
color: var(--
|
|
491
|
+
color: var(--text-color-error);
|
|
489
492
|
}
|
|
490
493
|
|
|
491
494
|
&__actions {
|
|
@@ -504,7 +507,7 @@ function handleSwitchChange(event: Event) {
|
|
|
504
507
|
</style>
|
|
505
508
|
|
|
506
509
|
<style lang="scss">
|
|
507
|
-
.unique-icon-btn {
|
|
510
|
+
span.unique-icon-btn {
|
|
508
511
|
display: flex;
|
|
509
512
|
align-items: center;
|
|
510
513
|
justify-content: center;
|
|
@@ -44,13 +44,13 @@ const ChatSetting = {
|
|
|
44
44
|
// Validation messages
|
|
45
45
|
group_name_required_string: 'Group name must be a string',
|
|
46
46
|
group_name_required: 'Group name cannot be empty',
|
|
47
|
-
group_name_max_length: 'Group name cannot exceed
|
|
47
|
+
group_name_max_length: 'Group name cannot exceed 30 characters',
|
|
48
48
|
group_name_unchanged: 'Please modify the group name before submitting',
|
|
49
49
|
group_introduction_required_string: 'Group introduction must be a string',
|
|
50
|
-
group_introduction_max_length: 'Group introduction cannot exceed
|
|
50
|
+
group_introduction_max_length: 'Group introduction cannot exceed 130 characters',
|
|
51
51
|
group_introduction_unchanged: 'Please modify the group introduction before submitting',
|
|
52
52
|
group_notification_required_string: 'Group notification must be a string',
|
|
53
|
-
group_notification_max_length: 'Group notification cannot exceed
|
|
53
|
+
group_notification_max_length: 'Group notification cannot exceed 130 characters',
|
|
54
54
|
group_notification_unchanged: 'Please modify the group notification before submitting',
|
|
55
55
|
group_name_card_required_string: 'Name card must be a string',
|
|
56
56
|
group_name_card_unchanged: 'Please modify the name card before submitting',
|
|
@@ -44,13 +44,13 @@ const ChatSetting = {
|
|
|
44
44
|
// Validation messages
|
|
45
45
|
group_name_required_string: '群名称必须是字符串',
|
|
46
46
|
group_name_required: '群名称不能为空',
|
|
47
|
-
group_name_max_length: '群名称不能超过
|
|
47
|
+
group_name_max_length: '群名称不能超过30个字符',
|
|
48
48
|
group_name_unchanged: '请修改群名称后再提交',
|
|
49
49
|
group_introduction_required_string: '群简介必须是字符串',
|
|
50
|
-
group_introduction_max_length: '群简介不能超过
|
|
50
|
+
group_introduction_max_length: '群简介不能超过130个字符',
|
|
51
51
|
group_introduction_unchanged: '请修改群简介后再提交',
|
|
52
52
|
group_notification_required_string: '群公告必须是字符串',
|
|
53
|
-
group_notification_max_length: '群公告不能超过
|
|
53
|
+
group_notification_max_length: '群公告不能超过130个字符',
|
|
54
54
|
group_notification_unchanged: '请修改群公告后再提交',
|
|
55
55
|
group_name_card_required_string: '群名片必须是字符串',
|
|
56
56
|
group_name_card_unchanged: '请修改群名片后再提交',
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ChatSettingComponent from './ChatSetting.vue';
|
|
2
2
|
import { addI18n } from '../../i18n';
|
|
3
3
|
import { resources } from './i18n';
|
|
4
4
|
|
|
5
5
|
addI18n('zh-CN', { translation: { ChatSetting: resources['zh-CN'] } });
|
|
6
6
|
addI18n('en-US', { translation: { ChatSetting: resources['en-US'] } });
|
|
7
7
|
|
|
8
|
+
const ChatSetting = ChatSettingComponent;
|
|
9
|
+
|
|
8
10
|
export { ChatSetting };
|
|
9
|
-
export { C2CChatSetting } from './C2CChatSetting';
|
|
10
|
-
export { GroupChatSetting } from './GroupChatSetting';
|
|
@@ -384,8 +384,17 @@ const handleDisconnect = async (userId: string) => {
|
|
|
384
384
|
font-size: 16px;
|
|
385
385
|
font-weight: 500;
|
|
386
386
|
color: var(--text-color-primary);
|
|
387
|
+
overflow: hidden;
|
|
388
|
+
text-overflow: ellipsis;
|
|
389
|
+
white-space: nowrap;
|
|
390
|
+
max-width: 200px;
|
|
387
391
|
}
|
|
388
392
|
}
|
|
393
|
+
|
|
394
|
+
.user-actions {
|
|
395
|
+
display: flex;
|
|
396
|
+
gap: 6px;
|
|
397
|
+
}
|
|
389
398
|
}
|
|
390
399
|
}
|
|
391
400
|
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
font-weight: 400;
|
|
31
31
|
color: var(--text-color-primary);
|
|
32
32
|
max-width: 100%;
|
|
33
|
+
|
|
33
34
|
@include mixins.text-ellipsis();
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -39,6 +40,7 @@
|
|
|
39
40
|
color: var(--text-color-tertiary);
|
|
40
41
|
width: 100%;
|
|
41
42
|
word-break: break-word;
|
|
43
|
+
|
|
42
44
|
@include mixins.multi-line-ellipsis(3);
|
|
43
45
|
}
|
|
44
46
|
|
|
@@ -59,6 +59,14 @@ import type { ContactInfoProps, ContactGroupItem, FriendApplication, GroupApplic
|
|
|
59
59
|
|
|
60
60
|
const props = withDefaults(defineProps<ContactInfoProps>(), {
|
|
61
61
|
showActions: true,
|
|
62
|
+
PlaceholderEmpty: undefined,
|
|
63
|
+
FriendInfoComponent: undefined,
|
|
64
|
+
GroupInfoComponent: undefined,
|
|
65
|
+
BlacklistInfoComponent: undefined,
|
|
66
|
+
FriendApplicationInfoComponent: undefined,
|
|
67
|
+
GroupApplicationInfoComponent: undefined,
|
|
68
|
+
SearchGroupInfoComponent: undefined,
|
|
69
|
+
SearchUserInfoComponent: undefined,
|
|
62
70
|
});
|
|
63
71
|
|
|
64
72
|
const emit = defineEmits<{
|
|
@@ -67,7 +75,7 @@ const emit = defineEmits<{
|
|
|
67
75
|
deleteFriend: [data: Friend];
|
|
68
76
|
addToBlacklist: [data: Friend];
|
|
69
77
|
removeFromBlacklist: [data: UserProfile];
|
|
70
|
-
updateFriendRemark: [data: Friend];
|
|
78
|
+
updateFriendRemark: [data: Friend, remark: string];
|
|
71
79
|
enterGroup: [data: GroupModel];
|
|
72
80
|
leaveGroup: [data: GroupModel];
|
|
73
81
|
dismissGroup: [data: GroupModel];
|
|
@@ -189,19 +197,19 @@ watch(
|
|
|
189
197
|
const getComponentByType = (type?: ContactItemType) => {
|
|
190
198
|
switch (type) {
|
|
191
199
|
case ContactItemType.FRIEND:
|
|
192
|
-
return FriendInfo;
|
|
200
|
+
return props.FriendInfoComponent || FriendInfo;
|
|
193
201
|
case ContactItemType.GROUP:
|
|
194
|
-
return GroupInfo;
|
|
202
|
+
return props.GroupInfoComponent || GroupInfo;
|
|
195
203
|
case ContactItemType.BLACK:
|
|
196
|
-
return BlacklistInfo;
|
|
204
|
+
return props.BlacklistInfoComponent || BlacklistInfo;
|
|
197
205
|
case ContactItemType.FRIEND_REQUEST:
|
|
198
|
-
return FriendApplicationInfo;
|
|
206
|
+
return props.FriendApplicationInfoComponent || FriendApplicationInfo;
|
|
199
207
|
case ContactItemType.GROUP_REQUEST:
|
|
200
|
-
return GroupApplicationInfo;
|
|
208
|
+
return props.GroupApplicationInfoComponent || GroupApplicationInfo;
|
|
201
209
|
case ContactItemType.SEARCH_USER:
|
|
202
|
-
return SearchUserInfo;
|
|
210
|
+
return props.SearchUserInfoComponent || SearchUserInfo;
|
|
203
211
|
case ContactItemType.SEARCH_GROUP:
|
|
204
|
-
return SearchGroupInfo;
|
|
212
|
+
return props.SearchGroupInfoComponent || SearchGroupInfo;
|
|
205
213
|
default:
|
|
206
214
|
return 'div';
|
|
207
215
|
}
|
|
@@ -241,7 +249,7 @@ const handleSendMessage = (data: Friend) => emit('sendMessage', data);
|
|
|
241
249
|
const handleDeleteFriend = (data: Friend) => emit('deleteFriend', data);
|
|
242
250
|
const handleAddToBlacklist = (data: Friend) => emit('addToBlacklist', data);
|
|
243
251
|
const handleRemoveFromBlacklist = (data: UserProfile) => emit('removeFromBlacklist', data);
|
|
244
|
-
const handleUpdateFriendRemark = (data: Friend) => emit('updateFriendRemark', data);
|
|
252
|
+
const handleUpdateFriendRemark = (data: Friend, remark: string) => emit('updateFriendRemark', data, remark);
|
|
245
253
|
const handleEnterGroup = (data: GroupModel) => emit('enterGroup', data);
|
|
246
254
|
const handleLeaveGroup = (data: GroupModel) => emit('leaveGroup', data);
|
|
247
255
|
const handleDismissGroup = (data: GroupModel) => emit('dismissGroup', data);
|
package/src/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.scss
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
font-weight: 400;
|
|
31
31
|
color: var(--text-color-primary);
|
|
32
32
|
max-width: 100%;
|
|
33
|
+
|
|
33
34
|
@include mixins.text-ellipsis();
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -39,6 +40,7 @@
|
|
|
39
40
|
color: var(--text-color-tertiary);
|
|
40
41
|
width: 100%;
|
|
41
42
|
word-break: break-word;
|
|
43
|
+
|
|
42
44
|
@include mixins.multi-line-ellipsis(3);
|
|
43
45
|
}
|
|
44
46
|
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
font-weight: 400;
|
|
31
31
|
color: var(--text-color-primary);
|
|
32
32
|
max-width: 100%;
|
|
33
|
+
|
|
33
34
|
@include mixins.text-ellipsis();
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -39,6 +40,7 @@
|
|
|
39
40
|
color: var(--text-color-tertiary);
|
|
40
41
|
width: 100%;
|
|
41
42
|
word-break: break-word;
|
|
43
|
+
|
|
42
44
|
@include mixins.multi-line-ellipsis(3);
|
|
43
45
|
}
|
|
44
46
|
|
|
@@ -76,10 +78,9 @@
|
|
|
76
78
|
|
|
77
79
|
.remark-edit {
|
|
78
80
|
max-width: 100%;
|
|
79
|
-
overflow: hidden;
|
|
80
|
-
text-overflow: ellipsis;
|
|
81
|
-
white-space: nowrap;
|
|
82
81
|
word-break: break-all;
|
|
82
|
+
|
|
83
|
+
@include mixins.text-ellipsis();
|
|
83
84
|
}
|
|
84
85
|
.remark-edit-icon {
|
|
85
86
|
min-width: 16px;
|
package/src/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.scss
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
font-weight: 400;
|
|
31
31
|
color: var(--text-color-primary);
|
|
32
32
|
max-width: 100%;
|
|
33
|
+
|
|
33
34
|
@include mixins.text-ellipsis();
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -39,6 +40,7 @@
|
|
|
39
40
|
color: var(--text-color-tertiary);
|
|
40
41
|
width: 100%;
|
|
41
42
|
word-break: break-word;
|
|
43
|
+
|
|
42
44
|
@include mixins.multi-line-ellipsis(3);
|
|
43
45
|
}
|
|
44
46
|
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
font-weight: 400;
|
|
31
31
|
color: var(--text-color-primary);
|
|
32
32
|
max-width: 100%;
|
|
33
|
+
|
|
33
34
|
@include mixins.text-ellipsis();
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -39,6 +40,7 @@
|
|
|
39
40
|
color: var(--text-color-tertiary);
|
|
40
41
|
width: 100%;
|
|
41
42
|
word-break: break-word;
|
|
43
|
+
|
|
42
44
|
@include mixins.multi-line-ellipsis(3);
|
|
43
45
|
}
|
|
44
46
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
@use '../../../../styles/mixins/_scrollbar.scss' as scrollbar;
|
|
2
1
|
@use '../../../../styles/mixins' as mixins;
|
|
3
2
|
.contact-search-group-info {
|
|
4
3
|
height: 100%;
|
|
@@ -88,7 +87,8 @@
|
|
|
88
87
|
font-size: 14px;
|
|
89
88
|
color: var(--text-color-primary);
|
|
90
89
|
resize: none;
|
|
91
|
-
|
|
90
|
+
|
|
91
|
+
@include mixins.scrollbar-hidden();
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
.contact-search-group-info__form-input:focus {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
@use '../../../../styles/mixins/_scrollbar.scss' as scrollbar;
|
|
2
1
|
@use '../../../../styles/mixins' as mixins;
|
|
3
2
|
.contact-search-user-info {
|
|
4
3
|
height: 100%;
|
|
@@ -40,6 +39,7 @@
|
|
|
40
39
|
color: var(--text-color-tertiary);
|
|
41
40
|
width: 100%;
|
|
42
41
|
word-break: break-word;
|
|
42
|
+
|
|
43
43
|
@include mixins.multi-line-ellipsis(3);
|
|
44
44
|
}
|
|
45
45
|
|
|
@@ -88,7 +88,8 @@
|
|
|
88
88
|
font-size: 14px;
|
|
89
89
|
color: var(--text-color-primary);
|
|
90
90
|
resize: none;
|
|
91
|
-
|
|
91
|
+
|
|
92
|
+
@include mixins.scrollbar-hidden();
|
|
92
93
|
}
|
|
93
94
|
|
|
94
95
|
.contact-search-user-info__form-input:focus {
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
<div class="contact-list">
|
|
3
3
|
<div class="contact-list__container">
|
|
4
4
|
<div class="contact-list__main">
|
|
5
|
-
<
|
|
5
|
+
<component
|
|
6
|
+
:is="ContactSearch"
|
|
6
7
|
v-if="enableSearch"
|
|
7
8
|
:placeholder="searchPlaceholder"
|
|
8
9
|
@result-click="(item: ContactGroupItem) => {
|
|
@@ -51,7 +52,7 @@
|
|
|
51
52
|
class="contact-list__group-content"
|
|
52
53
|
>
|
|
53
54
|
<component
|
|
54
|
-
:is="
|
|
55
|
+
:is="ContactItem"
|
|
55
56
|
v-for="(contactItem, index) in group.items"
|
|
56
57
|
:key="`${group.type}_${getItemId(contactItem)}_${index}`"
|
|
57
58
|
:contact-item="{ type: group.type, data: contactItem }"
|
|
@@ -99,12 +100,17 @@ import type {
|
|
|
99
100
|
ContactListProps,
|
|
100
101
|
ContactGroup,
|
|
101
102
|
CustomGroupConfig,
|
|
102
|
-
ContactItem
|
|
103
|
+
ContactItem,
|
|
104
|
+
} from '../../types/contact';
|
|
103
105
|
|
|
104
106
|
const props = withDefaults(defineProps<ContactListProps>(), {
|
|
105
107
|
enableSearch: true,
|
|
106
108
|
searchPlaceholder: undefined,
|
|
107
109
|
emptyText: undefined,
|
|
110
|
+
ContactItem: () => ContactListItem,
|
|
111
|
+
ContactSearchComponent: () => ContactSearch,
|
|
112
|
+
GroupHeader: undefined,
|
|
113
|
+
PlaceholderEmptyList: () => undefined,
|
|
108
114
|
});
|
|
109
115
|
|
|
110
116
|
const emit = defineEmits<{
|
|
@@ -182,6 +188,9 @@ const handleContactClick = (type: ContactItemType, item: ContactItem) => {
|
|
|
182
188
|
const contactGroupItem: ContactGroupItem = { type, data: item };
|
|
183
189
|
emit('contact-item-click', contactGroupItem);
|
|
184
190
|
setActiveContact(contactGroupItem);
|
|
191
|
+
if (props.onContactItemClick) {
|
|
192
|
+
props.onContactItemClick(contactGroupItem);
|
|
193
|
+
}
|
|
185
194
|
};
|
|
186
195
|
|
|
187
196
|
const handleFriendApplicationAction = async (
|
|
@@ -198,6 +207,9 @@ const handleFriendApplicationAction = async (
|
|
|
198
207
|
await refuseFriendApplication(application.userID);
|
|
199
208
|
}
|
|
200
209
|
emit('friend-application-action', action, application);
|
|
210
|
+
if (props.onFriendApplicationAction) {
|
|
211
|
+
props.onFriendApplicationAction(action, application);
|
|
212
|
+
}
|
|
201
213
|
} catch (error) {
|
|
202
214
|
console.error(`[ContactList handleFriendApplicationAction] Failed to ${action} friend application:`, error);
|
|
203
215
|
}
|
|
@@ -219,6 +231,9 @@ const handleGroupApplicationAction = async (
|
|
|
219
231
|
await refuseGroupApplication(params);
|
|
220
232
|
}
|
|
221
233
|
emit('group-application-action', action, application);
|
|
234
|
+
if (props.onGroupApplicationAction) {
|
|
235
|
+
props.onGroupApplicationAction(action, application);
|
|
236
|
+
}
|
|
222
237
|
} catch (error) {
|
|
223
238
|
console.error(`[ContactList handleGroupApplicationAction] Failed to ${action} group application:`, error);
|
|
224
239
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use '../../../../styles//mixins' as mixins;
|
|
1
2
|
.blacklist-item {
|
|
2
3
|
display: flex;
|
|
3
4
|
align-items: center;
|
|
@@ -32,8 +33,7 @@
|
|
|
32
33
|
&__name {
|
|
33
34
|
font-size: 14px;
|
|
34
35
|
color: var(--text-color-primary);
|
|
35
|
-
|
|
36
|
-
text-
|
|
37
|
-
white-space: nowrap;
|
|
36
|
+
|
|
37
|
+
@include mixins.text-ellipsis();
|
|
38
38
|
}
|
|
39
39
|
}
|
package/src/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.scss
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use '../../../../styles/mixins' as mixins;
|
|
1
2
|
.friendApplicationItem {
|
|
2
3
|
padding: 12px 20px;
|
|
3
4
|
display: flex;
|
|
@@ -35,20 +36,18 @@
|
|
|
35
36
|
font-size: 12px;
|
|
36
37
|
line-height: 14px;
|
|
37
38
|
font-weight: 400;
|
|
38
|
-
overflow: hidden;
|
|
39
|
-
text-overflow: ellipsis;
|
|
40
|
-
white-space: nowrap;
|
|
41
39
|
color: var(--text-color-primary);
|
|
40
|
+
|
|
41
|
+
@include mixins.text-ellipsis();
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
&__text {
|
|
45
45
|
font-size: 12px;
|
|
46
46
|
line-height: 14px;
|
|
47
47
|
font-weight: 400;
|
|
48
|
-
overflow: hidden;
|
|
49
|
-
text-overflow: ellipsis;
|
|
50
|
-
white-space: nowrap;
|
|
51
48
|
color: var(--text-color-tertiary);
|
|
49
|
+
|
|
50
|
+
@include mixins.text-ellipsis();
|
|
52
51
|
}
|
|
53
52
|
|
|
54
53
|
&__actions {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use '../../../../styles/mixins' as mixins;
|
|
1
2
|
.friend-item {
|
|
2
3
|
display: flex;
|
|
3
4
|
align-items: center;
|
|
@@ -32,8 +33,7 @@
|
|
|
32
33
|
&__name {
|
|
33
34
|
font-size: 14px;
|
|
34
35
|
color: var(--text-color-primary);
|
|
35
|
-
|
|
36
|
-
text-
|
|
37
|
-
white-space: nowrap;
|
|
36
|
+
|
|
37
|
+
@include mixins.text-ellipsis();
|
|
38
38
|
}
|
|
39
39
|
}
|
package/src/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.scss
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use '../../../../styles/mixins' as mixins;
|
|
1
2
|
.groupApplicationItem {
|
|
2
3
|
padding: 12px 20px;
|
|
3
4
|
display: flex;
|
|
@@ -34,20 +35,18 @@
|
|
|
34
35
|
font-size: 12px;
|
|
35
36
|
line-height: 14px;
|
|
36
37
|
font-weight: 400;
|
|
37
|
-
overflow: hidden;
|
|
38
|
-
text-overflow: ellipsis;
|
|
39
|
-
white-space: nowrap;
|
|
40
38
|
color: var(--text-color-primary);
|
|
39
|
+
|
|
40
|
+
@include mixins.text-ellipsis();
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
&__text {
|
|
44
44
|
font-size: 12px;
|
|
45
45
|
line-height: 14px;
|
|
46
46
|
font-weight: 400;
|
|
47
|
-
overflow: hidden;
|
|
48
|
-
text-overflow: ellipsis;
|
|
49
|
-
white-space: nowrap;
|
|
50
47
|
color: var(--text-color-tertiary);
|
|
48
|
+
|
|
49
|
+
@include mixins.text-ellipsis();
|
|
51
50
|
}
|
|
52
51
|
|
|
53
52
|
&__actions {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use '../../../../styles/mixins' as mixins;
|
|
1
2
|
.group-item {
|
|
2
3
|
display: flex;
|
|
3
4
|
align-items: center;
|
|
@@ -32,8 +33,7 @@
|
|
|
32
33
|
&__name {
|
|
33
34
|
font-size: 14px;
|
|
34
35
|
color: var(--text-color-primary);
|
|
35
|
-
|
|
36
|
-
text-
|
|
37
|
-
white-space: nowrap;
|
|
36
|
+
|
|
37
|
+
@include mixins.text-ellipsis();
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
.conversationActions {
|
|
2
2
|
position: relative;
|
|
3
|
+
display: flex;
|
|
3
4
|
|
|
4
5
|
&__popup-icon {
|
|
5
|
-
|
|
6
|
+
display: flex;
|
|
6
7
|
cursor: pointer;
|
|
7
|
-
border-radius: 4px;
|
|
8
8
|
transition: background-color 0.2s;
|
|
9
|
-
|
|
10
|
-
&:hover {
|
|
11
|
-
background-color: var(--hover-bg-color, #f0f0f0);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.more-icon {
|
|
15
|
-
font-size: 16px;
|
|
16
|
-
color: var(--text-color-secondary, #666);
|
|
17
|
-
font-weight: bold;
|
|
18
|
-
}
|
|
19
9
|
}
|
|
20
10
|
|
|
21
11
|
&__h5 {
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
placement="bottom-end"
|
|
29
29
|
>
|
|
30
30
|
<div
|
|
31
|
-
:class="$style
|
|
31
|
+
:class="$style['conversationActions__popup-icon']"
|
|
32
32
|
@click="toggleClick"
|
|
33
33
|
>
|
|
34
|
-
<IconEllipsis />
|
|
34
|
+
<IconEllipsis size="18px" />
|
|
35
35
|
</div>
|
|
36
36
|
<template #dropdown>
|
|
37
37
|
<div
|
|
@@ -24,7 +24,7 @@ import type {
|
|
|
24
24
|
ConversationCreateUserSelectListProps,
|
|
25
25
|
Friend,
|
|
26
26
|
} from '../../../../types';
|
|
27
|
-
import type {
|
|
27
|
+
import type { UserPickerResult } from '../../../UserPicker';
|
|
28
28
|
|
|
29
29
|
const props = defineProps<ConversationCreateUserSelectListProps>();
|
|
30
30
|
|
|
@@ -53,7 +53,7 @@ const renderFriendList = computed(() => friendList.value.map((item) => {
|
|
|
53
53
|
};
|
|
54
54
|
}));
|
|
55
55
|
|
|
56
|
-
const handleSelectListUpdate = (list:
|
|
56
|
+
const handleSelectListUpdate = (list: UserPickerResult) => {
|
|
57
57
|
const selectFriendList = friendList.value.filter(item => list.some(selected => selected.key === item.userID));
|
|
58
58
|
emit('update:select-list', selectFriendList);
|
|
59
59
|
props.setSelectList(selectFriendList);
|