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,

42 lines (41 loc) 1.71 kB
import { defineComponent, ref, watch, createElementBlock, openBlock, unref, createVNode, withDirectives, vShow } from "vue"; import MemberInfo from "../MemberItemCommon/MemberInfo.vue.mjs"; import MemberControl from "../MemberControl/index.mjs"; import useMemberItem from "./useMemberItemHooks.mjs"; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "indexPC", props: { userInfo: {} }, setup(__props) { const props = __props; const { isMemberControlAccessible, openMemberControl, closeMemberControl } = useMemberItem(props.userInfo); const showMemberControl = ref(false); watch(isMemberControlAccessible, (accessible) => { showMemberControl.value = accessible; }); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", { class: "member-item-container", onMouseenter: _cache[0] || (_cache[0] = //@ts-ignore (...args) => unref(openMemberControl) && unref(openMemberControl)(...args)), onMouseleave: _cache[1] || (_cache[1] = //@ts-ignore (...args) => unref(closeMemberControl) && unref(closeMemberControl)(...args)) }, [ createVNode(MemberInfo, { "user-info": props.userInfo, "show-state-icon": props.userInfo.isInRoom && !showMemberControl.value }, null, 8, ["user-info", "show-state-icon"]), withDirectives(createVNode(unref(MemberControl), { "show-member-control": showMemberControl.value, "user-info": props.userInfo }, null, 8, ["show-member-control", "user-info"]), [ [vShow, showMemberControl.value && props.userInfo.isInRoom] ]) ], 32); }; } }); export { _sfc_main as default };