tuikit-atomicx-vue3 3.4.1 → 3.5.0-beta.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 (536) hide show
  1. package/.eslintrc.cjs +1 -0
  2. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-D1G-LitO.js → MessageInput.vue_vue_type_script_setup_true_lang-jPzZ5INK.js} +38 -36
  3. package/dist/baseComp/Modal/Modal.js +431 -23
  4. package/dist/chat/index.d.ts +68 -53
  5. package/dist/chat/server.js +15 -15
  6. package/dist/components/AudioSetting/AudioMediaControl.js +39 -41
  7. package/dist/components/AudioSetting/AudioSettingTab.js +10 -10
  8. package/dist/components/AudioSetting/MicrophoneSelect.js +8 -8
  9. package/dist/components/AudioSetting/SpeakerSelect.js +9 -9
  10. package/dist/components/AudioSettingPanel/i18n/en-US/index.d.ts +1 -0
  11. package/dist/components/AudioSettingPanel/i18n/en-US/index.js +2 -1
  12. package/dist/components/AudioSettingPanel/i18n/zh-CN/index.d.ts +1 -0
  13. package/dist/components/AudioSettingPanel/i18n/zh-CN/index.js +2 -1
  14. package/dist/components/AudioSettingPanel/index.js +81 -73
  15. package/dist/components/BarrageInput/BarrageInputH5.js +9 -9
  16. package/dist/components/BarrageInput/EmojiPicker/EmojiPicker.js +3 -3
  17. package/dist/components/BarrageInput/MessageInputState.d.ts +28 -0
  18. package/dist/components/BarrageInput/MessageInputState.js +82 -0
  19. package/dist/components/BarrageInput/TextEditor/CharacterCountExtension.js +1 -1
  20. package/dist/components/BarrageInput/TextEditor/EditorCore.js +5 -4
  21. package/dist/components/BarrageInput/TextEditor/index.js +7 -7
  22. package/dist/components/BarrageInput/type.d.ts +17 -0
  23. package/dist/components/BarrageInput/type.js +4 -0
  24. package/dist/components/BarrageInput/utils.d.ts +30 -0
  25. package/dist/components/BarrageInput/utils.js +41 -0
  26. package/dist/components/BarrageList/BarrageList.js +80 -110
  27. package/dist/components/BarrageList/BarrageList.vue.d.ts +0 -29
  28. package/dist/components/BarrageList/BarrageListH5.js +95 -122
  29. package/dist/components/BarrageList/BarrageListH5.vue.d.ts +0 -29
  30. package/dist/components/BarrageList/BarrageListState.d.ts +58 -0
  31. package/dist/components/BarrageList/BarrageListState.js +106 -0
  32. package/dist/components/BarrageList/Message/MessageLayout/MessageBubble/MessageBubble.js +16 -24
  33. package/dist/components/BarrageList/Message/MessageLayout/MessageBubble/MessageBubble.vue.d.ts +5 -5
  34. package/dist/components/BarrageList/Message/MessageLayout/MessageLayout.js +48 -73
  35. package/dist/components/BarrageList/Message/MessageLayout/MessageLayout.vue.d.ts +5 -7
  36. package/dist/components/BarrageList/Message/TextMessage/TextMessage.js +70 -76
  37. package/dist/components/BarrageList/Message/TextMessage/TextMessage.vue.d.ts +6 -6
  38. package/dist/components/BarrageList/Message/TextMessage/emoji.d.ts +5 -0
  39. package/dist/components/BarrageList/Message/TextMessage/emoji.js +134 -0
  40. package/dist/components/BarrageList/index.d.ts +0 -36
  41. package/dist/components/CameraButton/index.js +18 -19
  42. package/dist/components/ChatSetting/GroupChatSetting/GroupChatSetting.js +2 -1
  43. package/dist/components/CoGuestPanel/CoGuestPanel.js +60 -60
  44. package/dist/components/CoHostPanel/BattlePanel.js +25 -25
  45. package/dist/components/CoHostPanel/CoHostPanel.js +60 -55
  46. package/dist/components/CoHostPanel/ConfigSettingPanel.js +49 -55
  47. package/dist/components/CoHostPanel/ConnectionPanel.js +129 -120
  48. package/dist/components/CoHostPanel/RecommendHostList.js +39 -36
  49. package/dist/components/CoHostPanel/constants.d.ts +3 -0
  50. package/dist/components/CoHostPanel/constants.js +6 -0
  51. package/dist/components/CoHostPanel/i18n/en-US/index.d.ts +1 -0
  52. package/dist/components/CoHostPanel/i18n/en-US/index.js +2 -1
  53. package/dist/components/CoHostPanel/i18n/zh-CN/index.d.ts +1 -0
  54. package/dist/components/CoHostPanel/i18n/zh-CN/index.js +3 -2
  55. package/dist/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.js +6 -6
  56. package/dist/components/ContactList/ContactInfo/ContactInfo.js +1 -1
  57. package/dist/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.js +1 -1
  58. package/dist/components/ContactList/ContactInfo/FriendInfo/FriendInfo.js +9 -9
  59. package/dist/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.js +1 -1
  60. package/dist/components/ContactList/ContactInfo/GroupInfo/GroupInfo.js +4 -4
  61. package/dist/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.js +8 -8
  62. package/dist/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.js +7 -7
  63. package/dist/components/ContactList/ContactList.js +7 -7
  64. package/dist/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.js +8 -8
  65. package/dist/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.js +5 -5
  66. package/dist/components/ContactList/ContactListItem/FriendItem/FriendItem.js +5 -5
  67. package/dist/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.js +1 -1
  68. package/dist/components/ContactList/ContactListItem/GroupItem/GroupItem.js +1 -1
  69. package/dist/components/ContactList/ContactSearch/ContactSearch.js +6 -6
  70. package/dist/components/ConversationList/ConversationActions/ConversationActions.js +49 -51
  71. package/dist/components/ConversationList/ConversationCreate/ConversationCreate.js +9 -9
  72. package/dist/components/ConversationList/ConversationList.js +4 -4
  73. package/dist/components/ConversationList/ConversationList.vue.d.ts +10 -10
  74. package/dist/components/ConversationList/ConversationPreview/ConversationPreview.vue.d.ts +10 -10
  75. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTimestamp.js +31 -29
  76. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.js +20 -20
  77. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue.d.ts +2 -2
  78. package/dist/components/ConversationList/ConversationPreview/index.js +1 -1
  79. package/dist/components/ConversationList/index.d.ts +30 -30
  80. package/dist/components/LiveAudienceList/LiveAudienceList.js +44 -45
  81. package/dist/components/LiveAudienceList/LiveAudienceListH5.js +7 -7
  82. package/dist/components/LiveAudienceList/UserActionMenu.js +57 -64
  83. package/dist/components/LiveList/LiveList.js +23 -23
  84. package/dist/components/LiveList/LiveListH5.js +38 -38
  85. package/dist/components/LiveScenePanel/CameraSettingDialog.js +10 -10
  86. package/dist/components/LiveScenePanel/MaterialItem.js +15 -15
  87. package/dist/components/LiveScenePanel/index.js +4 -4
  88. package/dist/components/{LiveCoreView → LiveView}/CoreViewDecorate/BattleDecorate.js +58 -58
  89. package/dist/components/{LiveCoreView → LiveView}/CoreViewDecorate/BattleUserDecorate.js +56 -49
  90. package/dist/components/{LiveCoreView → LiveView}/CoreViewDecorate/CoHostDecorate.js +6 -6
  91. package/dist/components/{LiveCoreView → LiveView}/CoreViewDecorate/LiveCoreDecorate.js +1 -1
  92. package/dist/components/{LiveCoreView → LiveView}/DefaultStreamViewUI.js +46 -43
  93. package/dist/components/LiveView/PlayerControl/AudioControl.js +133 -0
  94. package/dist/components/{LiveCoreView → LiveView}/PlayerControl/AudioControl.vue.d.ts +10 -6
  95. package/dist/components/LiveView/PlayerControl/MultiResolution.js +73 -0
  96. package/dist/components/LiveView/PlayerControl/PlayerControl.js +168 -0
  97. package/dist/components/{LiveCoreView → LiveView}/PlayerControl/PlayerControlState.d.ts +2 -2
  98. package/dist/components/LiveView/PlayerControl/PlayerControlState.js +222 -0
  99. package/dist/components/{LiveCoreView → LiveView}/PlayerControl/utils/domHelpers.d.ts +8 -1
  100. package/dist/components/LiveView/PlayerControl/utils/domHelpers.js +132 -0
  101. package/dist/components/{LiveCoreView/i18n/zh-CN → LiveView/i18n/en-US}/index.d.ts +3 -2
  102. package/dist/components/{LiveCoreView → LiveView}/i18n/en-US/index.js +4 -3
  103. package/dist/components/{LiveCoreView/i18n/en-US → LiveView/i18n/zh-CN}/index.d.ts +3 -2
  104. package/dist/components/{LiveCoreView → LiveView}/i18n/zh-CN/index.js +4 -3
  105. package/dist/components/LiveView/index.d.ts +79 -0
  106. package/dist/components/{LiveCoreView → LiveView}/index.js +44 -42
  107. package/dist/components/MessageInput/AudioCallPicker/AudioCallPicker.js +63 -65
  108. package/dist/components/MessageInput/EmojiPicker/EmojiPicker.js +88 -84
  109. package/dist/components/MessageInput/MessageInput.js +1 -1
  110. package/dist/components/MessageInput/MessageInput.vue.d.ts +5 -2
  111. package/dist/components/MessageInput/TextEditor/EditorCore.d.ts +3 -1
  112. package/dist/components/MessageInput/TextEditor/EditorCore.js +51 -63
  113. package/dist/components/MessageInput/TextEditor/TextEditor.vue.d.ts +6 -2
  114. package/dist/components/MessageInput/TextEditor/extensions/characterCountExtension.d.ts +19 -0
  115. package/dist/components/MessageInput/TextEditor/extensions/characterCountExtension.js +74 -0
  116. package/dist/components/MessageInput/TextEditor/extensions/imageExtension.d.ts +2 -0
  117. package/dist/components/MessageInput/TextEditor/extensions/imageExtension.js +62 -0
  118. package/dist/components/MessageInput/TextEditor/index.js +45 -35
  119. package/dist/components/MessageInput/VideoCallPicker/VideoCallPicker.js +67 -69
  120. package/dist/components/MessageInput/i18n/index.d.ts +4 -0
  121. package/dist/components/MessageInput/i18n/zh-CN.d.ts +4 -0
  122. package/dist/components/MessageInput/i18n/zh-CN.js +5 -1
  123. package/dist/components/MessageInput/index.d.ts +36 -6
  124. package/dist/components/MessageInput/index.js +1 -1
  125. package/dist/components/MessageList/Message/AudioMessage/WaveForm.js +24 -34
  126. package/dist/components/MessageList/Message/CustomMessage/CallMessage/CallMessage.js +29 -28
  127. package/dist/components/MessageList/Message/GroupTipMessage/index.js +13 -13
  128. package/dist/components/MessageList/Message/Message.vue.d.ts +1 -1
  129. package/dist/components/MessageList/Message/MessageLayout/MessageLayout.js +63 -69
  130. package/dist/components/MessageList/Message/VideoMessage/VideoMessage.js +48 -53
  131. package/dist/components/MessageList/Message/VideoMessage/VideoMessage.vue.d.ts +8 -8
  132. package/dist/components/MessageList/MessageList.js +8 -6
  133. package/dist/components/MessageList/MessageList.vue.d.ts +2 -2
  134. package/dist/components/MessageList/i18n/en-US.d.ts +65 -1
  135. package/dist/components/MessageList/i18n/en-US.js +66 -2
  136. package/dist/components/MessageList/i18n/index.d.ts +128 -0
  137. package/dist/components/MessageList/i18n/index.js +6 -6
  138. package/dist/components/MessageList/i18n/zh-CN.d.ts +65 -1
  139. package/dist/components/MessageList/i18n/zh-CN.js +64 -0
  140. package/dist/components/MessageList/index.d.ts +20 -20
  141. package/dist/components/MicButton/index.js +11 -11
  142. package/dist/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.js +172 -174
  143. package/dist/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.js +58 -60
  144. package/dist/components/Search/SearchAdvanced/SearchAdvanced.js +28 -30
  145. package/dist/components/Search/SearchAdvanced/SearchTab/SearchTab.js +22 -24
  146. package/dist/components/Search/SearchAdvanced/Slider/Slider.js +26 -28
  147. package/dist/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.js +133 -135
  148. package/dist/components/Search/SearchBar/SearchBar.js +56 -58
  149. package/dist/components/StreamMixer/LocalMixer/MixerControl.js +12 -12
  150. package/dist/components/StreamMixer/LocalMixer/index.js +66 -63
  151. package/dist/components/StreamMixer/index.js +6 -6
  152. package/dist/components/StreamView/Layout/CustomLayout.js +8 -8
  153. package/dist/components/StreamView/Layout/FloatLayout.js +124 -127
  154. package/dist/components/StreamView/Layout/GridLayout.js +5 -5
  155. package/dist/components/StreamView/index.js +25 -33
  156. package/dist/components/StreamView/manager/mediaManager.js +54 -60
  157. package/dist/components/UIKitModal/UIKitModal.d.ts +7 -0
  158. package/dist/components/UIKitModal/UIKitModal.js +156 -0
  159. package/dist/components/UIKitModal/index.d.ts +1 -0
  160. package/dist/components/UIKitModal/index.js +4 -0
  161. package/dist/components/{BarrageList/Message/RecalledMessage/RecalledMessage.vue.d.ts → UIKitModal/index.vue.d.ts} +24 -14
  162. package/dist/components/UIKitModal/type.d.ts +21 -0
  163. package/dist/components/UIKitModal/type.js +1 -0
  164. package/dist/components/UserPicker/UserPicker.js +1 -2
  165. package/dist/components/UserPicker/components/SelectedPanel/SelectedPanel.js +19 -18
  166. package/dist/components/UserPicker/hooks/useSearchFilter.d.ts +2 -2
  167. package/dist/components/UserPicker/hooks/useSearchFilter.js +39 -31
  168. package/dist/components/UserPicker/i18n/en-US.d.ts +1 -0
  169. package/dist/components/UserPicker/i18n/en-US.js +2 -1
  170. package/dist/components/UserPicker/i18n/index.d.ts +2 -0
  171. package/dist/components/UserPicker/i18n/zh-CN.d.ts +1 -0
  172. package/dist/components/UserPicker/i18n/zh-CN.js +2 -1
  173. package/dist/components/UserPicker/index.d.ts +2 -2
  174. package/dist/components/UserPicker/type.d.ts +1 -1
  175. package/dist/components/VideoSetting/CameraSelect.js +8 -8
  176. package/dist/components/VideoSetting/VideoMediaControl.js +10 -10
  177. package/dist/components/VideoSetting/VideoPreview.js +9 -9
  178. package/dist/components/VideoSetting/VideoProfile.js +6 -6
  179. package/dist/components/VideoSetting/VideoSettingTab.js +40 -39
  180. package/dist/components/VideoSettingPanel/CameraSelect.js +8 -8
  181. package/dist/components/VideoSettingPanel/VideoPreview.js +1 -1
  182. package/dist/components/VideoSettingPanel/VideoProfile.js +18 -18
  183. package/dist/hooks/useAudioControl.d.ts +3 -3
  184. package/dist/hooks/useAudioControl.js +32 -30
  185. package/dist/hooks/useRoomEngine.js +6 -6
  186. package/dist/index-B_-9wgM4.js +64 -0
  187. package/dist/{index-D-KJvDvy.js → index-DMfTuy0v.js} +574 -631
  188. package/dist/{index-D88ja_7_.js → index-DV6o6s43.js} +1691 -1660
  189. package/dist/index.d.ts +3 -1
  190. package/dist/index.js +180 -156
  191. package/dist/report/MetricsKey.d.ts +16 -0
  192. package/dist/report/MetricsKey.js +4 -0
  193. package/dist/report/dataReport.d.ts +12 -0
  194. package/dist/report/dataReport.js +45 -0
  195. package/dist/report/index.d.ts +4 -0
  196. package/dist/report/index.js +6 -0
  197. package/dist/rtc/index.d.ts +6 -81
  198. package/dist/rtc/index.js +53 -52
  199. package/dist/rtc/server.js +45 -40
  200. package/dist/states/BarrageState/BarrageState.d.ts +74 -0
  201. package/dist/states/BarrageState/BarrageState.js +80 -0
  202. package/dist/states/BarrageState/index.d.ts +1 -0
  203. package/dist/states/BarrageState/index.js +5 -0
  204. package/dist/states/{BattleState.d.ts → BattleState/BattleState.d.ts} +10 -11
  205. package/dist/states/BattleState/BattleState.js +203 -0
  206. package/dist/states/BattleState/index.d.ts +1 -0
  207. package/dist/states/BattleState/index.js +4 -0
  208. package/dist/states/CoGuestState.d.ts +24 -94
  209. package/dist/states/CoGuestState.js +297 -189
  210. package/dist/states/CoHostState/CoHostState.d.ts +2 -2
  211. package/dist/states/CoHostState/CoHostState.js +135 -131
  212. package/dist/states/{DeviceState.d.ts → DeviceState/DeviceState.d.ts} +25 -13
  213. package/dist/states/DeviceState/DeviceState.js +314 -0
  214. package/dist/states/DeviceState/index.d.ts +1 -0
  215. package/dist/states/DeviceState/index.js +4 -0
  216. package/dist/states/LiveAudienceState.d.ts +3 -1
  217. package/dist/states/LiveAudienceState.js +106 -63
  218. package/dist/states/{LiveState/index.d.ts → LiveListState/LiveListState.d.ts} +13 -8
  219. package/dist/states/LiveListState/LiveListState.js +285 -0
  220. package/dist/states/LiveListState/index.d.ts +1 -0
  221. package/dist/states/LiveListState/index.js +4 -0
  222. package/dist/states/LiveMonitorState/api/http.js +147 -129
  223. package/dist/states/LiveMonitorState/index.js +67 -62
  224. package/dist/states/LiveMonitorState/player/adapters/trtc.js +6 -6
  225. package/dist/states/LiveSeatState/index.d.ts +46 -11
  226. package/dist/states/LiveSeatState/index.js +34 -15
  227. package/dist/states/LiveSeatState/seatEventManager.d.ts +2 -0
  228. package/dist/states/LiveSeatState/seatEventManager.js +63 -42
  229. package/dist/states/LiveSeatState/seatManager.d.ts +34 -5
  230. package/dist/states/LiveSeatState/seatManager.js +131 -29
  231. package/dist/states/LiveSeatState/store.d.ts +5 -5
  232. package/dist/states/LiveSeatState/store.js +12 -10
  233. package/dist/states/LiveSeatState/usePlayStream/RTCStreamManager.js +1 -1
  234. package/dist/states/LiveSeatState/usePlayStream/RTCStreamPlayer.js +1 -1
  235. package/dist/states/LiveSeatState/usePlayStream/index.js +30 -28
  236. package/dist/states/LoginState.d.ts +23 -0
  237. package/dist/states/MessageInputState/MessageInputState.d.ts +41 -7
  238. package/dist/states/MessageInputState/MessageInputState.js +60 -59
  239. package/dist/states/MessageInputState/utils.d.ts +8 -1
  240. package/dist/states/MessageInputState/utils.js +30 -10
  241. package/dist/states/SeatStore.js +82 -83
  242. package/dist/states/UIKitModalState/UIKitModalState.d.ts +17 -0
  243. package/dist/states/UIKitModalState/UIKitModalState.js +63 -0
  244. package/dist/states/UIKitModalState/index.d.ts +1 -0
  245. package/dist/states/UIKitModalState/index.js +4 -0
  246. package/dist/states/{VideoMixerState.d.ts → VideoMixerState/VideoMixerState.d.ts} +1 -1
  247. package/dist/states/VideoMixerState/VideoMixerState.js +269 -0
  248. package/dist/states/VideoMixerState/index.d.ts +1 -0
  249. package/dist/states/VideoMixerState/index.js +4 -0
  250. package/dist/styles/index.css +1 -1
  251. package/dist/types/audience.d.ts +21 -0
  252. package/dist/types/audience.js +4 -1
  253. package/dist/types/battle.d.ts +75 -3
  254. package/dist/types/battle.js +5 -1
  255. package/dist/types/coGuest.d.ts +72 -5
  256. package/dist/types/coGuest.js +4 -2
  257. package/dist/types/device.d.ts +38 -17
  258. package/dist/types/device.js +10 -8
  259. package/dist/types/index.d.ts +2 -2
  260. package/dist/types/index.js +96 -80
  261. package/dist/types/live.d.ts +36 -21
  262. package/dist/types/live.js +6 -4
  263. package/dist/types/seat.d.ts +23 -4
  264. package/dist/types/seat.js +7 -1
  265. package/dist/utils/call.d.ts +1 -1
  266. package/dist/utils/call.js +78 -79
  267. package/dist/utils/eventCenter.d.ts +88 -0
  268. package/dist/utils/eventCenter.js +161 -0
  269. package/package.json +4 -3
  270. package/src/chat/server.ts +0 -1
  271. package/src/components/AudioSetting/AudioMediaControl.vue +1 -3
  272. package/src/components/AudioSetting/AudioSettingTab.vue +1 -2
  273. package/src/components/AudioSetting/MicrophoneSelect.vue +1 -2
  274. package/src/components/AudioSetting/SpeakerSelect.vue +1 -2
  275. package/src/components/AudioSettingPanel/i18n/en-US/index.ts +1 -0
  276. package/src/components/AudioSettingPanel/i18n/zh-CN/index.ts +1 -0
  277. package/src/components/AudioSettingPanel/index.vue +4 -2
  278. package/src/components/BarrageInput/BarrageInputH5.vue +1 -1
  279. package/src/components/BarrageInput/EmojiPicker/EmojiPicker.vue +1 -1
  280. package/src/components/BarrageInput/MessageInputState.ts +160 -0
  281. package/src/components/BarrageInput/TextEditor/TextEditor.vue +1 -1
  282. package/src/components/BarrageInput/type.ts +26 -0
  283. package/src/components/BarrageInput/utils.ts +45 -0
  284. package/src/components/BarrageList/BarrageList.vue +61 -117
  285. package/src/components/BarrageList/BarrageListH5.vue +75 -159
  286. package/src/components/BarrageList/BarrageListState.ts +223 -0
  287. package/src/components/BarrageList/Message/MessageLayout/MessageBubble/MessageBubble.vue +8 -55
  288. package/src/components/BarrageList/Message/MessageLayout/MessageLayout.vue +19 -44
  289. package/src/components/BarrageList/Message/TextMessage/TextMessage.vue +69 -96
  290. package/src/components/BarrageList/Message/TextMessage/emoji.ts +132 -0
  291. package/src/components/CameraButton/index.vue +0 -1
  292. package/src/components/ChatSetting/GroupChatSetting/GroupChatSetting.vue +5 -0
  293. package/src/components/CoGuestPanel/CoGuestPanel.vue +16 -91
  294. package/src/components/CoHostPanel/BattlePanel.vue +4 -7
  295. package/src/components/CoHostPanel/CoHostPanel.vue +11 -3
  296. package/src/components/CoHostPanel/ConfigSettingPanel.vue +2 -8
  297. package/src/components/CoHostPanel/ConnectionPanel.vue +41 -37
  298. package/src/components/CoHostPanel/RecommendHostList.vue +12 -13
  299. package/src/components/CoHostPanel/constants.ts +3 -0
  300. package/src/components/CoHostPanel/i18n/en-US/index.ts +1 -0
  301. package/src/components/CoHostPanel/i18n/zh-CN/index.ts +2 -1
  302. package/src/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.vue +1 -1
  303. package/src/components/ContactList/ContactInfo/ContactInfo.vue +1 -1
  304. package/src/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.vue +1 -1
  305. package/src/components/ContactList/ContactInfo/FriendInfo/FriendInfo.vue +1 -1
  306. package/src/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.vue +1 -1
  307. package/src/components/ContactList/ContactInfo/GroupInfo/GroupInfo.vue +1 -1
  308. package/src/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.vue +1 -1
  309. package/src/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.vue +1 -1
  310. package/src/components/ContactList/ContactList.vue +1 -1
  311. package/src/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.vue +1 -1
  312. package/src/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.vue +1 -1
  313. package/src/components/ContactList/ContactListItem/FriendItem/FriendItem.vue +1 -1
  314. package/src/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.vue +1 -1
  315. package/src/components/ContactList/ContactListItem/GroupItem/GroupItem.vue +1 -1
  316. package/src/components/ContactList/ContactSearch/ContactSearch.vue +1 -1
  317. package/src/components/ConversationList/ConversationActions/ConversationActions.vue +2 -8
  318. package/src/components/ConversationList/ConversationCreate/ConversationCreate.vue +2 -2
  319. package/src/components/ConversationList/ConversationCreate/ConversationCreateButton/ConversationCreateButton.vue +1 -1
  320. package/src/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.vue +1 -1
  321. package/src/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.vue +1 -1
  322. package/src/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.vue +1 -1
  323. package/src/components/ConversationList/ConversationList.vue +2 -2
  324. package/src/components/ConversationList/ConversationListContent/ConversationListContent.vue +1 -1
  325. package/src/components/ConversationList/ConversationListHeader/ConversationListHeader.vue +1 -1
  326. package/src/components/ConversationList/ConversationPlaceHolder/ConversationPlaceHolder.vue +1 -1
  327. package/src/components/ConversationList/ConversationPreview/ConversationPreview.vue +1 -1
  328. package/src/components/ConversationList/ConversationPreview/ConversationPreviewAbstract.vue +1 -1
  329. package/src/components/ConversationList/ConversationPreview/ConversationPreviewTimestamp.vue +4 -4
  330. package/src/components/ConversationList/ConversationPreview/ConversationPreviewTitle.vue +1 -1
  331. package/src/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue +3 -3
  332. package/src/components/ConversationList/ConversationPreview/ConversationPreviewUnread.vue +1 -1
  333. package/src/components/ConversationList/ConversationSearch/ConversationSearch.vue +1 -1
  334. package/src/components/LiveAudienceList/LiveAudienceList.vue +4 -5
  335. package/src/components/LiveAudienceList/LiveAudienceListH5.vue +2 -2
  336. package/src/components/LiveAudienceList/UserActionMenu.vue +7 -48
  337. package/src/components/LiveList/LiveList.vue +5 -5
  338. package/src/components/LiveList/LiveListH5.vue +6 -6
  339. package/src/components/LiveScenePanel/index.vue +2 -2
  340. package/src/components/{LiveCoreView → LiveView}/CoreViewDecorate/BattleDecorate.vue +10 -15
  341. package/src/components/{LiveCoreView → LiveView}/CoreViewDecorate/BattleUserDecorate.vue +30 -31
  342. package/src/components/{LiveCoreView → LiveView}/DefaultStreamViewUI.vue +5 -3
  343. package/src/components/{LiveCoreView → LiveView}/PlayerControl/AudioControl.vue +72 -80
  344. package/src/components/{LiveCoreView → LiveView}/PlayerControl/MultiResolution.vue +30 -21
  345. package/src/components/{LiveCoreView → LiveView}/PlayerControl/PlayerControl.vue +26 -42
  346. package/src/components/LiveView/PlayerControl/PlayerControlState.ts +516 -0
  347. package/src/components/{LiveCoreView → LiveView}/PlayerControl/utils/domHelpers.ts +68 -4
  348. package/src/components/{LiveCoreView → LiveView}/i18n/en-US/index.ts +3 -2
  349. package/src/components/{LiveCoreView → LiveView}/i18n/zh-CN/index.ts +3 -2
  350. package/src/components/{LiveCoreView → LiveView}/index.ts +5 -2
  351. package/src/components/{LiveCoreView → LiveView}/index.vue +4 -3
  352. package/src/components/MessageInput/AudioCallPicker/AudioCallPicker.vue +8 -6
  353. package/src/components/MessageInput/EmojiPicker/EmojiPicker.vue +7 -3
  354. package/src/components/MessageInput/MessageInput.module.scss +1 -0
  355. package/src/components/MessageInput/MessageInput.vue +3 -1
  356. package/src/components/MessageInput/TextEditor/EditorCore.ts +17 -28
  357. package/src/components/MessageInput/TextEditor/TextEditor.vue +24 -4
  358. package/src/components/MessageInput/TextEditor/extensions/characterCountExtension.ts +159 -0
  359. package/src/components/MessageInput/TextEditor/extensions/imageExtension.ts +79 -0
  360. package/src/components/MessageInput/VideoCallPicker/VideoCallPicker.vue +8 -6
  361. package/src/components/MessageInput/i18n/zh-CN.ts +4 -0
  362. package/src/components/MessageInput/types.d.ts +1 -0
  363. package/src/components/MessageList/Message/AudioMessage/WaveForm.vue +20 -37
  364. package/src/components/MessageList/Message/CustomMessage/CallMessage/CallMessage.vue +5 -3
  365. package/src/components/MessageList/Message/GroupTipMessage/GroupTipMessage.vue +5 -4
  366. package/src/components/MessageList/Message/Message.vue +1 -1
  367. package/src/components/MessageList/Message/MessageLayout/MessageLayout.vue +8 -8
  368. package/src/components/MessageList/Message/VideoMessage/VideoMessage.vue +46 -43
  369. package/src/components/MessageList/Message/VideoMessage/index.ts +1 -1
  370. package/src/components/MessageList/MessageList.vue +2 -0
  371. package/src/components/MessageList/i18n/en-US.ts +66 -0
  372. package/src/components/MessageList/i18n/index.ts +4 -4
  373. package/src/components/MessageList/i18n/zh-CN.ts +66 -0
  374. package/src/components/MicButton/index.vue +3 -3
  375. package/src/components/Search/Search.vue +1 -1
  376. package/src/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.scss +1 -4
  377. package/src/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.vue +1 -1
  378. package/src/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.scss +1 -4
  379. package/src/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.vue +1 -1
  380. package/src/components/Search/SearchAdvanced/SearchAdvanced.scss +1 -4
  381. package/src/components/Search/SearchAdvanced/SearchAdvanced.vue +1 -1
  382. package/src/components/Search/SearchAdvanced/SearchTab/SearchTab.scss +1 -4
  383. package/src/components/Search/SearchAdvanced/SearchTab/SearchTab.vue +1 -1
  384. package/src/components/Search/SearchAdvanced/Slider/Slider.scss +1 -4
  385. package/src/components/Search/SearchAdvanced/Slider/Slider.vue +1 -1
  386. package/src/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.scss +1 -4
  387. package/src/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.vue +1 -1
  388. package/src/components/Search/SearchBar/SearchBar.scss +3 -6
  389. package/src/components/Search/SearchBar/SearchBar.vue +1 -1
  390. package/src/components/Search/SearchResults/EmptyResult/EmptyResult.vue +1 -1
  391. package/src/components/Search/SearchResults/Loading/Loading.vue +1 -1
  392. package/src/components/Search/SearchResults/SearchResults.vue +1 -1
  393. package/src/components/Search/SearchResults/SearchResultsItem/Conversation/Conversation.vue +1 -1
  394. package/src/components/Search/SearchResults/SearchResultsItem/Group/Group.vue +1 -1
  395. package/src/components/Search/SearchResults/SearchResultsItem/Message/Message.vue +1 -1
  396. package/src/components/Search/SearchResults/SearchResultsItem/SearchResultsItem.vue +1 -1
  397. package/src/components/Search/SearchResults/SearchResultsItem/User/User.vue +1 -1
  398. package/src/components/StreamMixer/LocalMixer/index.vue +6 -8
  399. package/src/components/StreamMixer/index.vue +1 -1
  400. package/src/components/StreamView/Layout/CustomLayout.vue +2 -2
  401. package/src/components/StreamView/Layout/FloatLayout.vue +88 -83
  402. package/src/components/StreamView/index.vue +28 -14
  403. package/src/components/StreamView/manager/mediaManager.ts +38 -42
  404. package/src/components/UIKitModal/UIKitModal.ts +71 -0
  405. package/src/components/UIKitModal/index.scss +134 -0
  406. package/src/components/UIKitModal/index.ts +1 -0
  407. package/src/components/UIKitModal/index.vue +160 -0
  408. package/src/components/UIKitModal/type.ts +24 -0
  409. package/src/components/UserPicker/UserPicker.vue +1 -1
  410. package/src/components/UserPicker/components/SelectedPanel/SelectedPanel.vue +1 -0
  411. package/src/components/UserPicker/hooks/useSearchFilter.ts +27 -18
  412. package/src/components/UserPicker/i18n/en-US.ts +1 -0
  413. package/src/components/UserPicker/i18n/zh-CN.ts +1 -0
  414. package/src/components/UserPicker/type.ts +1 -1
  415. package/src/components/VideoSetting/CameraSelect.vue +1 -2
  416. package/src/components/VideoSetting/VideoMediaControl.vue +1 -1
  417. package/src/components/VideoSetting/VideoPreview.vue +1 -2
  418. package/src/components/VideoSetting/VideoProfile.vue +1 -1
  419. package/src/components/VideoSetting/VideoSettingTab.vue +9 -5
  420. package/src/components/VideoSettingPanel/CameraSelect.vue +1 -2
  421. package/src/components/VideoSettingPanel/VideoProfile.vue +7 -7
  422. package/src/hooks/useAudioControl.ts +17 -4
  423. package/src/hooks/useRoomEngine.ts +1 -1
  424. package/src/index.ts +3 -0
  425. package/src/report/MetricsKey.ts +16 -0
  426. package/src/report/dataReport.ts +55 -0
  427. package/src/report/index.ts +7 -0
  428. package/src/rtc/index.ts +8 -10
  429. package/src/rtc/server.ts +4 -0
  430. package/src/types/audience.ts +27 -1
  431. package/src/types/battle.ts +87 -4
  432. package/src/types/coGuest.ts +87 -5
  433. package/src/types/device.ts +41 -16
  434. package/src/types/index.ts +2 -2
  435. package/src/types/live.ts +41 -22
  436. package/src/types/seat.ts +28 -4
  437. package/src/utils/call.ts +26 -27
  438. package/src/utils/eventCenter.ts +249 -0
  439. package/dist/DialogPortal-CvJcEAsn.js +0 -417
  440. package/dist/components/BarrageList/Message/FaceMessage/FaceMessage.js +0 -23
  441. package/dist/components/BarrageList/Message/FaceMessage/FaceMessage.vue.d.ts +0 -30
  442. package/dist/components/BarrageList/Message/FaceMessage/index.d.ts +0 -3
  443. package/dist/components/BarrageList/Message/FaceMessage/index.js +0 -4
  444. package/dist/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.js +0 -4
  445. package/dist/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.vue.d.ts +0 -16
  446. package/dist/components/BarrageList/Message/GroupTipMessage/index.d.ts +0 -3
  447. package/dist/components/BarrageList/Message/GroupTipMessage/index.js +0 -25
  448. package/dist/components/BarrageList/Message/ImageMessage/ImageMessage.js +0 -71
  449. package/dist/components/BarrageList/Message/ImageMessage/ImageMessage.vue.d.ts +0 -34
  450. package/dist/components/BarrageList/Message/ImageMessage/index.d.ts +0 -3
  451. package/dist/components/BarrageList/Message/ImageMessage/index.js +0 -4
  452. package/dist/components/BarrageList/Message/MergerMessage/MergerMessage.js +0 -9
  453. package/dist/components/BarrageList/Message/MergerMessage/MergerMessage.vue.d.ts +0 -2
  454. package/dist/components/BarrageList/Message/MergerMessage/index.d.ts +0 -3
  455. package/dist/components/BarrageList/Message/MergerMessage/index.js +0 -4
  456. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.js +0 -40
  457. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.vue.d.ts +0 -54
  458. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.js +0 -26
  459. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.vue.d.ts +0 -15
  460. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/index.d.ts +0 -3
  461. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/index.js +0 -4
  462. package/dist/components/BarrageList/Message/RecalledMessage/RecalledMessage.js +0 -41
  463. package/dist/components/BarrageList/Message/RecalledMessage/index.d.ts +0 -3
  464. package/dist/components/BarrageList/Message/RecalledMessage/index.js +0 -4
  465. package/dist/components/BarrageList/MessageForward/ForwardListItem.js +0 -45
  466. package/dist/components/BarrageList/MessageForward/ForwardListItem.vue.d.ts +0 -17
  467. package/dist/components/BarrageList/MessageForward/MessageForward.js +0 -203
  468. package/dist/components/BarrageList/MessageForward/MessageForward.vue.d.ts +0 -2
  469. package/dist/components/BarrageList/MessageForward/index.d.ts +0 -3
  470. package/dist/components/BarrageList/MessageForward/index.js +0 -4
  471. package/dist/components/LiveCoreView/PlayerControl/AudioControl.js +0 -129
  472. package/dist/components/LiveCoreView/PlayerControl/MultiResolution.js +0 -78
  473. package/dist/components/LiveCoreView/PlayerControl/PlayerControl.js +0 -168
  474. package/dist/components/LiveCoreView/PlayerControl/PlayerControlState.js +0 -267
  475. package/dist/components/LiveCoreView/PlayerControl/utils/domHelpers.js +0 -99
  476. package/dist/components/LiveCoreView/index.d.ts +0 -4
  477. package/dist/components/StreamView/Layout/MixLayout.js +0 -89
  478. package/dist/components/StreamView/Layout/MixLayout.vue.d.ts +0 -31
  479. package/dist/states/BarrageListState/BarrageListState.d.ts +0 -26
  480. package/dist/states/BarrageListState/BarrageListState.js +0 -122
  481. package/dist/states/BarrageListState/index.d.ts +0 -1
  482. package/dist/states/BarrageListState/index.js +0 -4
  483. package/dist/states/BattleState.js +0 -117
  484. package/dist/states/DeviceState.js +0 -296
  485. package/dist/states/LiveState/index.js +0 -254
  486. package/dist/states/VideoMixerState.js +0 -260
  487. package/src/components/BarrageList/Message/FaceMessage/FaceMessage.vue +0 -43
  488. package/src/components/BarrageList/Message/FaceMessage/index.ts +0 -3
  489. package/src/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.vue +0 -55
  490. package/src/components/BarrageList/Message/GroupTipMessage/index.ts +0 -3
  491. package/src/components/BarrageList/Message/ImageMessage/ImageMessage.vue +0 -181
  492. package/src/components/BarrageList/Message/ImageMessage/index.ts +0 -3
  493. package/src/components/BarrageList/Message/MergerMessage/MergerMessage.vue +0 -6
  494. package/src/components/BarrageList/Message/MergerMessage/index.ts +0 -3
  495. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.vue +0 -70
  496. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.vue +0 -40
  497. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/index.ts +0 -3
  498. package/src/components/BarrageList/Message/RecalledMessage/RecalledMessage.vue +0 -82
  499. package/src/components/BarrageList/Message/RecalledMessage/index.ts +0 -3
  500. package/src/components/BarrageList/MessageForward/ForwardListItem.vue +0 -67
  501. package/src/components/BarrageList/MessageForward/MessageForward.vue +0 -388
  502. package/src/components/BarrageList/MessageForward/index.ts +0 -3
  503. package/src/components/LiveCoreView/PlayerControl/PlayerControlState.ts +0 -718
  504. package/src/components/StreamView/Layout/MixLayout.vue +0 -144
  505. /package/dist/components/{LiveCoreView → LiveView}/CoreViewDecorate/BattleDecorate.vue.d.ts +0 -0
  506. /package/dist/components/{LiveCoreView → LiveView}/CoreViewDecorate/BattleUserDecorate.vue.d.ts +0 -0
  507. /package/dist/components/{LiveCoreView → LiveView}/CoreViewDecorate/CoHostDecorate.vue.d.ts +0 -0
  508. /package/dist/components/{LiveCoreView → LiveView}/CoreViewDecorate/LiveCoreDecorate.vue.d.ts +0 -0
  509. /package/dist/components/{LiveCoreView → LiveView}/DefaultStreamViewUI.vue.d.ts +0 -0
  510. /package/dist/components/{LiveCoreView → LiveView}/PlayerControl/MultiResolution.vue.d.ts +0 -0
  511. /package/dist/components/{LiveCoreView → LiveView}/PlayerControl/PlayerControl.vue.d.ts +0 -0
  512. /package/dist/components/{LiveCoreView → LiveView}/PlayerControl/index.d.ts +0 -0
  513. /package/dist/components/{LiveCoreView → LiveView}/PlayerControl/index.js +0 -0
  514. /package/dist/components/{LiveCoreView → LiveView}/PlayerControl/utils/deviceDetection.d.ts +0 -0
  515. /package/dist/components/{LiveCoreView → LiveView}/PlayerControl/utils/deviceDetection.js +0 -0
  516. /package/dist/components/{LiveCoreView → LiveView}/PlayerControl/utils/fullscreenManager.d.ts +0 -0
  517. /package/dist/components/{LiveCoreView → LiveView}/PlayerControl/utils/fullscreenManager.js +0 -0
  518. /package/dist/components/{LiveCoreView → LiveView}/i18n/index.d.ts +0 -0
  519. /package/dist/components/{LiveCoreView → LiveView}/i18n/index.js +0 -0
  520. /package/dist/components/{LiveCoreView → LiveView}/index.vue.d.ts +0 -0
  521. /package/src/components/{LiveCoreView → LiveView}/CoreViewDecorate/CoHostDecorate.vue +0 -0
  522. /package/src/components/{LiveCoreView → LiveView}/CoreViewDecorate/LiveCoreDecorate.vue +0 -0
  523. /package/src/components/{LiveCoreView → LiveView}/PlayerControl/PlayerControl.module.scss +0 -0
  524. /package/src/components/{LiveCoreView → LiveView}/PlayerControl/index.ts +0 -0
  525. /package/src/components/{LiveCoreView → LiveView}/PlayerControl/utils/deviceDetection.ts +0 -0
  526. /package/src/components/{LiveCoreView → LiveView}/PlayerControl/utils/fullscreenManager.ts +0 -0
  527. /package/src/components/{LiveCoreView → LiveView}/assets/img/defeat.png +0 -0
  528. /package/src/components/{LiveCoreView → LiveView}/assets/img/draw.png +0 -0
  529. /package/src/components/{LiveCoreView → LiveView}/assets/img/victory.png +0 -0
  530. /package/src/components/{LiveCoreView → LiveView}/assets/svg/BattleOrdinaryBadge.svg +0 -0
  531. /package/src/components/{LiveCoreView → LiveView}/assets/svg/BattleTopBadge.svg +0 -0
  532. /package/src/components/{LiveCoreView → LiveView}/assets/svg/blueBkg.svg +0 -0
  533. /package/src/components/{LiveCoreView → LiveView}/assets/svg/redBkg.svg +0 -0
  534. /package/src/components/{LiveCoreView → LiveView}/assets/svg/s.svg +0 -0
  535. /package/src/components/{LiveCoreView → LiveView}/assets/svg/v.svg +0 -0
  536. /package/src/components/{LiveCoreView → LiveView}/i18n/index.ts +0 -0
@@ -69,7 +69,7 @@
69
69
 
70
70
  <script setup lang="ts">
71
71
  import { ref, onMounted, onUnmounted } from 'vue';
72
- import { TUIConnectionCode, TUILiveBattleManagerEvents } from '@tencentcloud/tuiroom-engine-js';
72
+ import { TUIConnectionCode } from '@tencentcloud/tuiroom-engine-js';
73
73
  import { TUIButton, TUIToast, useUIKit, TOAST_TYPE, TUIDialog } from '@tencentcloud/uikit-base-component-vue3';
74
74
  import { useBattleState } from '../../states/BattleState';
75
75
  import { useCoHostState } from '../../states/CoHostState';
@@ -78,7 +78,6 @@ import { CoHostLayoutTemplate, CoHostEvent } from '../../types';
78
78
  import UserList from './UserList.vue';
79
79
  import RecommendHostList from './RecommendHostList.vue';
80
80
  import type { SeatUserInfo } from '../../types';
81
- import type { TUIBattleUser } from '@tencentcloud/tuiroom-engine-js';
82
81
 
83
82
  const { t } = useUIKit();
84
83
  const props = defineProps<{
@@ -98,8 +97,6 @@ const {
98
97
  battleUsers,
99
98
  requestBattle,
100
99
  exitBattle,
101
- subscribeEvent: subscribeBattleEvent,
102
- unsubscribeEvent: unsubscribeBattleEvent,
103
100
  } = useBattleState();
104
101
 
105
102
  const showExitCoHostDialog = ref(false);
@@ -120,7 +117,7 @@ const handleSendBattleRequest = async (user: SeatUserInfo) => {
120
117
  switch (result.get(user.liveId)) {
121
118
  case TUIConnectionCode.TUIConnectionCodeSuccess:
122
119
  pkUserIds.add(user.userId);
123
- TUIToast({ type: TOAST_TYPE.SUCCESS, message: t('Battle invitation sent to user', { userName: user.userName }) });
120
+ TUIToast({ type: TOAST_TYPE.SUCCESS, message: t('Battle invitation sent to user', { userName: user.userName || user.userId }) });
124
121
  break;
125
122
  case TUIConnectionCode.TUIConnectionCodeRoomNotExist:
126
123
  TUIToast({ type: TOAST_TYPE.ERROR, message: t('Send battle request failed, Room not exist') });
@@ -191,13 +188,13 @@ const handleCoHostRequestRejected = ({ invitee }: { invitee: SeatUserInfo }) =>
191
188
  return;
192
189
  }
193
190
  pkUserIds.delete(invitee.userId);
194
- TUIToast({ type: TOAST_TYPE.INFO, message: t('Battle request rejected by user', { userName: invitee.userName }) });
191
+ TUIToast({ type: TOAST_TYPE.INFO, message: t('Battle request rejected by user', { userName: invitee.userName || invitee.userId }) });
195
192
  };
196
193
 
197
194
  const handleCoHostRequestTimeout = ({ inviter, invitee }: { inviter: SeatUserInfo; invitee: SeatUserInfo }) => {
198
195
  if (inviter.userId === loginUserInfo.value?.userId && pkUserIds.has(invitee.userId)) {
199
196
  pkUserIds.delete(invitee.userId);
200
- TUIToast({ type: TOAST_TYPE.INFO, message: t('Battle request timeout for user', { userName: invitee.userName }) });
197
+ TUIToast({ type: TOAST_TYPE.INFO, message: t('Battle request timeout for user', { userName: invitee.userName || invitee.userId}) });
201
198
  }
202
199
  };
203
200
 
@@ -57,6 +57,7 @@ import { computed, ref, watch } from 'vue';
57
57
  import { useUIKit, TUIDialog, IconClose, IconLiveSetting } from '@tencentcloud/uikit-base-component-vue3';
58
58
  import { useBattleState } from '../../states/BattleState';
59
59
  import { useCoHostState } from '../../states/CoHostState';
60
+ import { useLoginState } from '../../states/LoginState';
60
61
  import { CoHostStatus, CoHostLayoutTemplate } from '../../types';
61
62
  import BattlePanel from './BattlePanel.vue';
62
63
  import ConfigSettingPanel from './ConfigSettingPanel.vue';
@@ -66,8 +67,9 @@ const { t } = useUIKit();
66
67
  const props = defineProps<{
67
68
  visible: boolean;
68
69
  }>();
70
+ const { loginUserInfo } = useLoginState();
69
71
  const { coHostStatus } = useCoHostState();
70
- const { currentBattleInfo } = useBattleState();
72
+ const { battleUsers } = useBattleState();
71
73
  const emit = defineEmits(['update:visible']);
72
74
  const close = () => {
73
75
  emit('update:visible', false);
@@ -75,7 +77,7 @@ const close = () => {
75
77
  const activeTab = ref('battleTab');
76
78
  const settingVisible = ref(false);
77
79
  const inConnection = computed(() => coHostStatus.value === CoHostStatus.Connected);
78
- const inPk = computed(() => currentBattleInfo.value?.battleId !== undefined);
80
+ const inPk = computed(() => battleUsers.value.some(user => user.userId === loginUserInfo.value?.userId));
79
81
 
80
82
  const title = computed(() => {
81
83
  if (inPk.value) {
@@ -99,7 +101,13 @@ const handleSettingConfirm = (form: {
99
101
  }) => {
100
102
  configForm.value = form;
101
103
  };
102
-
104
+ watch(inConnection, (newVal) => {
105
+ if (newVal && !inPk.value) {
106
+ activeTab.value = 'coHostTab';
107
+ }
108
+ }, {
109
+ immediate: true,
110
+ });
103
111
  watch(inPk, (newVal, oldVal) => {
104
112
  if (newVal) {
105
113
  emit('update:visible', false);
@@ -107,7 +107,8 @@ const confirm = () => {
107
107
 
108
108
  const handleDurationChange = (event: any) => {
109
109
  templateForm.value.battleDuration = Number(event.target.value);
110
- }
110
+ };
111
+
111
112
  watch(() => props.visible, (newVal) => {
112
113
  dialogVisible.value = newVal;
113
114
  });
@@ -122,12 +123,6 @@ const layoutOptions = computed(() => [
122
123
  templateId: CoHostLayoutTemplate.HostDynamicGrid,
123
124
  label: t('Dynamic Grid9 Layout'),
124
125
  },
125
- {
126
- id: 'PortraitFixed_1v6',
127
- icon: IconDynamic1v6Layout,
128
- templateId: CoHostLayoutTemplate.HostDynamic1v6,
129
- label: t('Dynamic 1v6 Layout'),
130
- },
131
126
  ]);
132
127
  </script>
133
128
 
@@ -211,7 +206,6 @@ const layoutOptions = computed(() => [
211
206
  }
212
207
  }
213
208
 
214
-
215
209
  .layout-template-options {
216
210
  display: flex;
217
211
  flex-direction: row;
@@ -1,6 +1,5 @@
1
1
  <template>
2
2
  <div id="AtomicxCoHostPanel" class="connection-panel">
3
- <!-- 当前麦位 -->
4
3
  <div
5
4
  v-if="coHostStatus === CoHostStatus.Connected"
6
5
  id="userListContainer"
@@ -42,7 +41,6 @@
42
41
  </div>
43
42
  </div>
44
43
 
45
- <!-- 推荐主播 -->
46
44
  <RecommendHostList class="recommend-host-list">
47
45
  <template #host-item-actions="{ user }">
48
46
  <TUIButton
@@ -107,15 +105,16 @@
107
105
 
108
106
  <script setup lang="ts">
109
107
  import { ref, onMounted, onUnmounted, computed } from 'vue';
110
- import { TUIBattleInfo, TUIBattleStoppedReason, TUIBattleUser, TUIConnectionCode, TUILiveBattleManagerEvents } from '@tencentcloud/tuiroom-engine-js';
108
+ import { TUIBattleInfo, TUIConnectionCode } from '@tencentcloud/tuiroom-engine-js';
111
109
  import { TUIButton, TUIToast, useUIKit, TOAST_TYPE, TUIDialog } from '@tencentcloud/uikit-base-component-vue3';
112
110
  import { useBattleState } from '../../states/BattleState';
113
111
  import { useCoHostState } from '../../states/CoHostState';
114
112
  import { useLoginState } from '../../states/LoginState';
115
- import { CoHostLayoutTemplate, CoHostStatus, CoHostEvent } from '../../types';
113
+ import { CoHostLayoutTemplate, CoHostStatus, CoHostEvent, BattleEvent } from '../../types';
116
114
  import { Avatar } from '../Avatar';
117
115
  import RecommendHostList from './RecommendHostList.vue';
118
116
  import type { SeatUserInfo } from '../../types';
117
+ import { ERROR_MESSAGE } from './constants';
119
118
 
120
119
  const props = defineProps<{
121
120
  battleDuration: number;
@@ -136,7 +135,7 @@ const {
136
135
  } = useCoHostState();
137
136
  const {
138
137
  currentBattleInfo,
139
- battleUsers,
138
+ battleUsers,
140
139
  requestBattle,
141
140
  cancelBattleRequest,
142
141
  subscribeEvent: subscribeBattleEvent,
@@ -173,7 +172,7 @@ const handleSendCoHostRequest = async (user: SeatUserInfo) => {
173
172
  });
174
173
  if (result.get(user.liveId) === TUIConnectionCode.TUIConnectionCodeSuccess) {
175
174
  sentCoHostRequestUserList.value.add(user.userId);
176
- TUIToast({ type: TOAST_TYPE.SUCCESS, message: t('Co-host invitation sent to user', { userName: user.userName }) });
175
+ TUIToast({ type: TOAST_TYPE.SUCCESS, message: t('Co-host invitation sent to user', { userName: user.userName || user.userId }) });
177
176
  } else {
178
177
  switch (result.get(user.liveId)) {
179
178
  case TUIConnectionCode.TUIConnectionCodeRoomNotExist:
@@ -219,21 +218,27 @@ const handleExitCoHost = () => {
219
218
 
220
219
  const handleBattleRequest = async () => {
221
220
  const userIdList = connected.value.filter(item => item.userId !== loginUserInfo.value?.userId).map(item => item.userId);
222
- const battleRes = await requestBattle({
223
- config: {
224
- duration: props.battleDuration,
225
- needResponse: true,
226
- },
227
- userIdList,
228
- timeout: 10,
229
- });
230
- requestBattleId.value = battleRes.battleId;
231
- userIdList.forEach(userId => battleRequestList.value.add(userId))
221
+ try {
222
+ const battleRes = await requestBattle({
223
+ config: {
224
+ duration: props.battleDuration,
225
+ needResponse: true,
226
+ extensionInfo: '',
227
+ },
228
+ userIdList,
229
+ timeout: 10,
230
+ });
231
+ requestBattleId.value = battleRes.battleId;
232
+ userIdList.forEach(userId => battleRequestList.value.add(userId))
233
+ } catch (error: any) {
234
+ const message = t(ERROR_MESSAGE[error.code as keyof typeof ERROR_MESSAGE] || 'Request battle failed');
235
+ TUIToast.error({ message });
236
+ }
232
237
  };
233
238
 
234
239
  const handleCancelBattleRequest = async () => {
235
- await cancelBattleRequest({
236
- battleId: requestBattleId.value,
240
+ await cancelBattleRequest({
241
+ battleId: requestBattleId.value,
237
242
  userIdList: Array.from(battleRequestList.value)
238
243
  });
239
244
  requestBattleId.value = '';
@@ -248,43 +253,43 @@ const handleCoHostRequestAccepted = ({ invitee }: { invitee: SeatUserInfo }) =>
248
253
 
249
254
  const handleCoHostRequestRejected = ({ invitee }: { invitee: SeatUserInfo }) => {
250
255
  if (sentCoHostRequestUserList.value.has(invitee.userId)) {
251
- TUIToast({ type: TOAST_TYPE.INFO, message: t('Co-host request rejected by user', { userName: invitee.userName }) });
256
+ TUIToast({ type: TOAST_TYPE.INFO, message: t('Co-host request rejected by user', { userName: invitee.userName || invitee.userId }) });
252
257
  sentCoHostRequestUserList.value.delete(invitee.userId);
253
258
  }
254
259
  };
255
260
 
256
261
  const handleCoHostRequestTimeout = ({ inviter, invitee }: { inviter: SeatUserInfo; invitee: SeatUserInfo }) => {
257
262
  if (inviter.userId === loginUserInfo.value?.userId && sentCoHostRequestUserList.value.has(invitee.userId)) {
258
- TUIToast({ type: TOAST_TYPE.INFO, message: t('Co-host request timeout for user', { userName: invitee.userName }) });
263
+ TUIToast({ type: TOAST_TYPE.INFO, message: t('Co-host request timeout for user', { userName: invitee.userName || invitee.userId }) });
259
264
  sentCoHostRequestUserList.value.delete(invitee.userId);
260
265
  }
261
266
  };
262
267
 
263
- const onBattleRequestAccept = (eventInfo: { battleInfo: TUIBattleInfo, inviter: TUIBattleUser, invitee: TUIBattleUser }) => {
268
+ const onBattleRequestAccept = (eventInfo: { battleId: string, inviter: SeatUserInfo, invitee: SeatUserInfo }) => {
264
269
  if (eventInfo.inviter.userId === loginUserInfo.value?.userId) {
265
270
  battleRequestList.value.delete(eventInfo.invitee.userId);
266
271
  }
267
272
  };
268
273
 
269
- const onBattleRequestRejected = (eventInfo: { battleInfo: TUIBattleInfo, inviter: TUIBattleUser, invitee: TUIBattleUser }) => {
274
+ const onBattleRequestRejected = (eventInfo: { battleId: string, inviter: SeatUserInfo, invitee: SeatUserInfo }) => {
270
275
  if (eventInfo.inviter.userId === loginUserInfo.value?.userId) {
271
- TUIToast({ type: TOAST_TYPE.INFO, message: t('Battle request rejected by user', { userName: eventInfo.invitee.userName }) });
276
+ TUIToast({ type: TOAST_TYPE.INFO, message: t('Battle request rejected by user', { userName: eventInfo.invitee.userName || eventInfo.invitee.userId }) });
272
277
  battleRequestList.value.delete(eventInfo.invitee.userId);
273
278
  }
274
279
  };
275
280
 
276
- const onBattleRequestTimeout = (eventInfo: { battleInfo: TUIBattleInfo, inviter: TUIBattleUser, invitee: TUIBattleUser }) => {
281
+ const onBattleRequestTimeout = (eventInfo: { battleId: string, inviter: SeatUserInfo, invitee: SeatUserInfo }) => {
277
282
  if (eventInfo.inviter.userId === loginUserInfo.value?.userId) {
278
283
  battleRequestList.value.delete(eventInfo.invitee.userId);
279
284
  }
280
285
  };
281
286
 
282
- const onBattleStarted = (eventInfo: { battleInfo: TUIBattleInfo, }) => {
287
+ const onBattleStarted = () => {
283
288
  requestBattleId.value = '';
284
289
  battleRequestList.value.clear();
285
290
  }
286
291
 
287
- const onBattleEnded = (eventInfo: { battleInfo: TUIBattleInfo, reason: TUIBattleStoppedReason }) => {
292
+ const onBattleEnded = () => {
288
293
  requestBattleId.value = '';
289
294
  battleRequestList.value.clear();
290
295
  }
@@ -294,11 +299,11 @@ onMounted(() => {
294
299
  subscribeEvent(CoHostEvent.onCoHostRequestRejected, handleCoHostRequestRejected);
295
300
  subscribeEvent(CoHostEvent.onCoHostRequestTimeout, handleCoHostRequestTimeout);
296
301
 
297
- subscribeBattleEvent(TUILiveBattleManagerEvents.onBattleRequestAccept, onBattleRequestAccept);
298
- subscribeBattleEvent(TUILiveBattleManagerEvents.onBattleRequestReject, onBattleRequestRejected);
299
- subscribeBattleEvent(TUILiveBattleManagerEvents.onBattleRequestTimeout, onBattleRequestTimeout);
300
- subscribeBattleEvent(TUILiveBattleManagerEvents.onBattleStarted, onBattleStarted);
301
- subscribeBattleEvent(TUILiveBattleManagerEvents.onBattleEnded, onBattleEnded);
302
+ subscribeBattleEvent(BattleEvent.onBattleRequestAccept, onBattleRequestAccept);
303
+ subscribeBattleEvent(BattleEvent.onBattleRequestReject, onBattleRequestRejected);
304
+ subscribeBattleEvent(BattleEvent.onBattleRequestTimeout, onBattleRequestTimeout);
305
+ subscribeBattleEvent(BattleEvent.onBattleStarted, onBattleStarted);
306
+ subscribeBattleEvent(BattleEvent.onBattleEnded, onBattleEnded);
302
307
  });
303
308
 
304
309
  onUnmounted(() => {
@@ -306,11 +311,11 @@ onUnmounted(() => {
306
311
  unsubscribeEvent(CoHostEvent.onCoHostRequestRejected, handleCoHostRequestRejected);
307
312
  unsubscribeEvent(CoHostEvent.onCoHostRequestTimeout, handleCoHostRequestTimeout);
308
313
 
309
- unsubscribeBattleEvent(TUILiveBattleManagerEvents.onBattleRequestAccept, onBattleRequestAccept);
310
- unsubscribeBattleEvent(TUILiveBattleManagerEvents.onBattleRequestReject, onBattleRequestRejected);
311
- unsubscribeBattleEvent(TUILiveBattleManagerEvents.onBattleRequestTimeout, onBattleRequestTimeout);
312
- unsubscribeBattleEvent(TUILiveBattleManagerEvents.onBattleStarted, onBattleStarted);
313
- unsubscribeBattleEvent(TUILiveBattleManagerEvents.onBattleEnded, onBattleEnded);
314
+ unsubscribeBattleEvent(BattleEvent.onBattleRequestAccept, onBattleRequestAccept);
315
+ unsubscribeBattleEvent(BattleEvent.onBattleRequestReject, onBattleRequestRejected);
316
+ unsubscribeBattleEvent(BattleEvent.onBattleRequestTimeout, onBattleRequestTimeout);
317
+ unsubscribeBattleEvent(BattleEvent.onBattleStarted, onBattleStarted);
318
+ unsubscribeBattleEvent(BattleEvent.onBattleEnded, onBattleEnded);
314
319
  });
315
320
  </script>
316
321
 
@@ -466,7 +471,6 @@ onUnmounted(() => {
466
471
  padding: 20px 0 0 0;
467
472
  }
468
473
 
469
- // 布局模板选择样式
470
474
  .layout-template-container {
471
475
  padding: 16px;
472
476
  margin-bottom: 16px;
@@ -4,7 +4,7 @@
4
4
  <span class="recommend-host-list-title-text">{{ coHostStatus === CoHostStatus.Connected ? t('Invite more') : t('Recommend hosts') }}</span>
5
5
  <IconRefresh :class="['refresh-icon', refreshInviteesLoading ? 'loading' : '']" @click="handleRefreshInvitees"></IconRefresh>
6
6
  </div>
7
- <div class="recommend-host-list-content">
7
+ <div class="recommend-host-list-content" ref="recommendHostListContentRef">
8
8
  <div class="recommend-host-list">
9
9
  <div
10
10
  v-for="user in [...invitees, ...candidates]"
@@ -33,7 +33,7 @@
33
33
  <div class="loading-spinner"></div>
34
34
  <span>{{ t('Loading more users...') }}</span>
35
35
  </div>
36
- <div v-else-if="!hasMoreUsers && candidates.length > 0" class="no-more-content">
36
+ <div v-else-if="!hasMoreLive && candidates.length > 0" class="no-more-content">
37
37
  <span>{{ t('No more users') }}</span>
38
38
  </div>
39
39
  <div v-else class="load-more-trigger-content">
@@ -53,24 +53,28 @@
53
53
  <script setup lang="ts">
54
54
  import { IconRefresh, useUIKit, TUIToast, TOAST_TYPE } from '@tencentcloud/uikit-base-component-vue3';
55
55
  import { TUIErrorCode } from '@tencentcloud/tuiroom-engine-js';
56
- import { ref, onMounted, onUnmounted } from 'vue';
56
+ import { ref, onMounted, onUnmounted, computed } from 'vue';
57
57
  import { useCoHostState } from '../../states/CoHostState';
58
- import { useLiveState } from '../../states/LiveState';
58
+ import { useLiveListState } from '../../states/LiveListState';
59
59
  import { Avatar } from '../Avatar';
60
60
  import { CoHostStatus } from '../../types';
61
61
 
62
62
  const { t } = useUIKit();
63
- const { currentCursor, liveList, fetchLiveList } = useLiveState();
63
+ const { liveListCursor, fetchLiveList } = useLiveListState();
64
64
  const { coHostStatus, invitees, candidates } = useCoHostState();
65
65
 
66
+ const recommendHostListContentRef = ref<HTMLElement | null>(null);
66
67
  const loadMoreRef = ref<HTMLElement | null>(null);
67
68
  let intersectionObserver: IntersectionObserver | null = null;
68
69
 
69
70
  const refreshInviteesLoading = ref(false);
70
71
  const loadMoreLoading = ref(false);
71
- const hasMoreUsers = ref(true);
72
+ const hasMoreLive = computed(() => liveListCursor.value !== '');
72
73
  async function handleRefreshInvitees() {
73
74
  refreshInviteesLoading.value = true;
75
+ if (recommendHostListContentRef.value) {
76
+ recommendHostListContentRef.value.scrollTop = 0;
77
+ }
74
78
  Promise.all([
75
79
  new Promise((resolve) => setTimeout(resolve, 500)),
76
80
  fetchLiveList({
@@ -94,18 +98,13 @@ onMounted(() => {
94
98
  if (loadMoreRef.value) {
95
99
  intersectionObserver = new IntersectionObserver(async (changes) => {
96
100
  let item = changes[0];
97
- if (item.isIntersecting && !loadMoreLoading.value && hasMoreUsers.value) {
101
+ if (item.isIntersecting && !loadMoreLoading.value && hasMoreLive.value) {
98
102
  loadMoreLoading.value = true;
99
103
  try {
100
- const previousLength = liveList.value.length;
101
104
  await fetchLiveList({
102
- cursor: currentCursor.value === '' ? liveList.value.length + '' : currentCursor.value,
105
+ cursor: liveListCursor.value,
103
106
  count: 20,
104
107
  });
105
- const newLength = liveList.value.length;
106
- if (newLength - previousLength < 20) {
107
- hasMoreUsers.value = false;
108
- }
109
108
  } catch (error) {
110
109
  console.error('Load more users failed:', error);
111
110
  } finally {
@@ -0,0 +1,3 @@
1
+ export const ERROR_MESSAGE = {
2
+ 100412: 'there is no one valid room for battle',
3
+ };
@@ -75,4 +75,5 @@ export const resource = {
75
75
  'Battle duration': 'Battle duration',
76
76
  'Number minutes': '{{number}} minutes',
77
77
  'Connection Layout': 'Connection Layout',
78
+ 'there is no one valid room for battle': 'There is no one valid room for battle',
78
79
  };
@@ -54,7 +54,7 @@ export const resource = {
54
54
  'Refresh error, please try again later': '刷新失败,请稍后再试',
55
55
  'Are you sure you want to exit the battle': '确定要退出 PK 吗?',
56
56
  'Request battle failed': '发起 PK 失败',
57
- 'Battle ended': 'PK 已结束',
57
+ 'Battle ended': 'PK 结束',
58
58
  'Battle started': 'PK 已开始',
59
59
  'User joined battle': '用户{{userName}}已加入 PK',
60
60
  'User exited battle': '用户{{userName}}已退出 PK',
@@ -76,4 +76,5 @@ export const resource = {
76
76
  'Battle duration': '发起 PK 时长',
77
77
  'Number minutes': '{{number}} 分钟',
78
78
  'Connection Layout': '连线布局',
79
+ 'there is no one valid room for battle': '发起的 PK 中无有效的房间',
79
80
  };
@@ -67,5 +67,5 @@ const handleRemoveFromBlacklist = async () => {
67
67
  </script>
68
68
 
69
69
  <style scoped lang="scss">
70
- @import './BlacklistInfo.scss';
70
+ @use './BlacklistInfo.scss';
71
71
  </style>
@@ -260,5 +260,5 @@ const handleJoinGroup = (data: GroupModel, note: string) => emit('joinGroup', da
260
260
  </script>
261
261
 
262
262
  <style scoped lang="scss">
263
- @import './ContactInfo.scss';
263
+ @use './ContactInfo.scss';
264
264
  </style>
@@ -84,5 +84,5 @@ const handleRefuse = () => {
84
84
  </script>
85
85
 
86
86
  <style scoped lang="scss">
87
- @import './FriendApplicationInfo.scss';
87
+ @use './FriendApplicationInfo.scss';
88
88
  </style>
@@ -215,5 +215,5 @@ const handleSendMessage = () => {
215
215
  </script>
216
216
 
217
217
  <style scoped lang="scss">
218
- @import './FriendInfo.scss';
218
+ @use './FriendInfo.scss';
219
219
  </style>
@@ -95,5 +95,5 @@ const handleRefuse = () => {
95
95
  </script>
96
96
 
97
97
  <style scoped lang="scss">
98
- @import './GroupApplicationInfo.scss';
98
+ @use './GroupApplicationInfo.scss';
99
99
  </style>
@@ -143,5 +143,5 @@ const handleGroupAction = () => {
143
143
  }
144
144
  </script>
145
145
  <style scoped lang="scss">
146
- @import './GroupInfo.scss';
146
+ @use './GroupInfo.scss';
147
147
  </style>
@@ -143,5 +143,5 @@ const handleJoinGroup = async () => {
143
143
  </script>
144
144
 
145
145
  <style scoped lang="scss">
146
- @import './SearchGroupInfo.scss';
146
+ @use './SearchGroupInfo.scss';
147
147
  </style>
@@ -124,5 +124,5 @@ const handleAddFriend = async () => {
124
124
  </script>
125
125
 
126
126
  <style scoped lang="scss">
127
- @import './SearchUserInfo.scss';
127
+ @use './SearchUserInfo.scss';
128
128
  </style>
@@ -310,5 +310,5 @@ const emptyText = computed(() => props.emptyText || t('TUIContact.No contacts'))
310
310
  </script>
311
311
 
312
312
  <style scoped lang="scss">
313
- @import './ContactList.scss';
313
+ @use './ContactList.scss';
314
314
  </style>
@@ -43,5 +43,5 @@ const handleClick = () => {
43
43
  </script>
44
44
 
45
45
  <style scoped lang="scss">
46
- @import './BlacklistItem.scss';
46
+ @use './BlacklistItem.scss';
47
47
  </style>
@@ -66,5 +66,5 @@ const handleAccept = () => {
66
66
  </script>
67
67
 
68
68
  <style scoped lang="scss">
69
- @import './FriendApplicationItem.scss';
69
+ @use './FriendApplicationItem.scss';
70
70
  </style>
@@ -43,5 +43,5 @@ const handleClick = () => {
43
43
  </script>
44
44
 
45
45
  <style scoped lang="scss">
46
- @import './FriendItem.scss';
46
+ @use './FriendItem.scss';
47
47
  </style>
@@ -74,5 +74,5 @@ const handleAction = (action: 'accept' | 'refuse', event: Event) => {
74
74
  </script>
75
75
 
76
76
  <style scoped lang="scss">
77
- @import './GroupApplicationItem.scss';
77
+ @use './GroupApplicationItem.scss';
78
78
  </style>
@@ -43,5 +43,5 @@ const handleClick = () => {
43
43
  </script>
44
44
 
45
45
  <style scoped lang="scss">
46
- @import './GroupItem.scss';
46
+ @use './GroupItem.scss';
47
47
  </style>
@@ -94,5 +94,5 @@ const CustomSearchBar = (searchBarProps: SearchBarProps) => h('div', { class: 'c
94
94
  </script>
95
95
 
96
96
  <style scoped lang="scss">
97
- @import './ContactSearch.scss';
97
+ @use './ContactSearch.scss';
98
98
  </style>
@@ -25,11 +25,11 @@
25
25
  <TUIDropdown
26
26
  v-else
27
27
  trigger="click"
28
+ :teleported="false"
28
29
  placement="bottom-end"
29
30
  >
30
31
  <div
31
32
  :class="$style['conversationActions__popup-icon']"
32
- @click="toggleClick"
33
33
  >
34
34
  <IconEllipsis size="18px" />
35
35
  </div>
@@ -81,7 +81,6 @@ const { t } = useUIKit();
81
81
  const { markConversationUnread } = useConversationListState();
82
82
 
83
83
  const markUnreadStatus = ref(true);
84
- const anchor = ref<HTMLElement | null>(null);
85
84
  const conversationActions = ref<Record<string, ConversationActionItem>>({});
86
85
 
87
86
  const enabledActions = computed(() => Object.entries(conversationActions.value)
@@ -151,12 +150,7 @@ watch(
151
150
  { immediate: true, deep: true },
152
151
  );
153
152
 
154
- const toggleClick = (e: Event) => {
155
- anchor.value = anchor.value ? null : (e.currentTarget as HTMLElement);
156
- };
157
-
158
153
  const onClickMenuItem = (e: Event, key: string) => {
159
- toggleClick(e);
160
154
  emit('click', e, key, props.conversation);
161
155
 
162
156
  const action = conversationActions.value[key];
@@ -178,5 +172,5 @@ const handleMaskClick = (e: Event) => {
178
172
  </script>
179
173
 
180
174
  <style lang="scss" module>
181
- @import './ConversationActions.scss';
175
+ @use './ConversationActions.scss';
182
176
  </style>
@@ -195,7 +195,7 @@ const handleCreateGroupConversation = async () => {
195
195
 
196
196
  const generateGroupName = (userList: Friend[]) => {
197
197
  const selfName = loginUserInfo.value?.userName || loginUserInfo.value?.userId || '';
198
- const name = `${selfName}、` + userList.map(item => item?.remark || item?.nick || item?.userID).join('、');
198
+ const name = `${selfName}、${userList.map(item => item?.remark || item?.nick || item?.userID).join('、')}`;
199
199
  return name.length >= GROUP_NAME_LIMIT ? name.slice(0, GROUP_NAME_LIMIT) : name;
200
200
  };
201
201
 
@@ -231,5 +231,5 @@ const handleCancel = () => {
231
231
  </script>
232
232
 
233
233
  <style lang="scss" scoped>
234
- @import './ConversationCreate.scss';
234
+ @use './ConversationCreate.scss';
235
235
  </style>
@@ -83,5 +83,5 @@ const handleClick = (action: CreateConvTypes) => {
83
83
  </script>
84
84
 
85
85
  <style lang="scss" module>
86
- @import './ConversationCreateButton.scss';
86
+ @use './ConversationCreateButton.scss';
87
87
  </style>
@@ -120,5 +120,5 @@ const groupInfoChange = (value: string, type: string) => {
120
120
  </script>
121
121
 
122
122
  <style lang="scss" module>
123
- @import './ConversationCreateGroupDetail.scss';
123
+ @use './ConversationCreateGroupDetail.scss';
124
124
  </style>
@@ -61,5 +61,5 @@ const handleSelectListUpdate = (list: UserPickerResult) => {
61
61
  </script>
62
62
 
63
63
  <style lang="scss" module>
64
- @import './ConversationCreateUserSelectList.scss';
64
+ @use './ConversationCreateUserSelectList.scss';
65
65
  </style>
@@ -57,5 +57,5 @@ const selectGroupType = (type: GroupType) => {
57
57
  </script>
58
58
 
59
59
  <style lang="scss" module>
60
- @import './ConversationGroupTypeInfo.scss';
60
+ @use './ConversationGroupTypeInfo.scss';
61
61
  </style>
@@ -44,7 +44,7 @@
44
44
  :Preview="Preview"
45
45
  :ConversationActions="ConversationActions"
46
46
  :actions-config="actionsConfig"
47
- @select="handleSelectConversation"
47
+ @select-conversation="handleSelectConversation"
48
48
  />
49
49
  </component>
50
50
  </div>
@@ -185,5 +185,5 @@ const handleCreated = (conversation: ConversationModel) => {
185
185
  </script>
186
186
 
187
187
  <style lang="scss" module>
188
- @import './ConversationList.scss';
188
+ @use './ConversationList.scss';
189
189
  </style>
@@ -46,5 +46,5 @@ const props = withDefaults(defineProps<ConversationListContentProps>(), {
46
46
  </script>
47
47
 
48
48
  <style lang="scss" module>
49
- @import './ConversationListContent.scss';
49
+ @use './ConversationListContent.scss';
50
50
  </style>