UNPKG

@tencentcloud/roomkit-web-vue3

Version:

<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,

123 lines (122 loc) 5.32 kB
import { defineComponent, createElementBlock, openBlock, createElementVNode, createVNode, withDirectives, createCommentVNode, toDisplayString, unref, createTextVNode, Fragment, renderList } from "vue"; import TuiAvatar from "../../../../components/common/Avatar.vue2.mjs"; import { TUIIcon } from "@tencentcloud/uikit-base-component-vue3"; import { isWeChat } from "../../../../utils/environment.mjs"; import vTap from "../../../../directives/vTap.mjs"; import { useI18n } from "../../../../locales/index.mjs"; import "../../../../components/common/base/IconButton.vue2.mjs"; /* empty css */ import "../../../../stores/room.mjs"; import "pinia"; /* empty css */ import "../../../../hooks/useZIndex.mjs"; import "../../../../services/main.mjs"; import "../../../../services/roomService.mjs"; import "@tencentcloud/tuiroom-engine-js"; import "mitt"; import "../../../../services/manager/roomActionManager.mjs"; import "@tencentcloud/tui-core"; /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ import "../../../hooks/useAudioDeviceState/index.mjs"; /* empty css */ /* empty css */ /* empty css */ import "../../../../stores/basic.mjs"; /* empty css */ /* empty css */ /* empty css */ import "../../../../hooks/useRoomEngine.mjs"; import "../../../hooks/useVideoDeviceState/index.mjs"; /* empty css */ /* empty css */ import useUserState from "../../../hooks/useUserState/index.mjs"; /* empty css */ import "../../../hooks/useFreeBeautyState/index.mjs"; /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ import "../../../hooks/useUserState/useUserActions/useMemberInviteAction.mjs"; /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ const _hoisted_1 = { class: "member-control-container" }; const _hoisted_2 = { class: "member-title" }; const _hoisted_3 = { class: "member-title-content" }; const _hoisted_4 = { key: 0, class: "tab-cancel" }; const _hoisted_5 = { class: "control-title" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "indexH5", props: { userInfo: {} }, emits: ["on-close-control"], setup(__props, { emit: __emit }) { const props = __props; const { t } = useI18n(); const emit = __emit; const { useUserActions } = useUserState(); const actionList = useUserActions({ userInfo: props.userInfo }); function handleCloseControl() { emit("on-close-control"); } return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1, [ createElementVNode("div", _hoisted_2, [ createVNode(TuiAvatar, { class: "avatar-url", "img-src": _ctx.userInfo.avatarUrl }, null, 8, ["img-src"]), createElementVNode("div", _hoisted_3, toDisplayString(_ctx.userInfo.displayName), 1), unref(isWeChat) ? withDirectives((openBlock(), createElementBlock("span", _hoisted_4, [ createTextVNode(toDisplayString(unref(t)("Cancel")), 1) ])), [ [ unref(vTap), handleCloseControl, void 0, { stop: true } ] ]) : createCommentVNode("", true) ]), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(actionList), (item) => { return withDirectives((openBlock(), createElementBlock("div", { key: item.key, class: "user-operate-item" }, [ createVNode(unref(TUIIcon), { icon: item.icon, class: "icon-svg" }, null, 8, ["icon"]), createElementVNode("div", _hoisted_5, toDisplayString(item.label), 1) ])), [ [unref(vTap), () => item.handler(_ctx.userInfo)] ]); }), 128)) ]); }; } }); export { _sfc_main as default };