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,

111 lines (110 loc) 5.33 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const Vue = require("vue"); const TUIRoomEngine = require("@tencentcloud/tuiroom-engine-js"); const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3"); const index = require("../../../../locales/index.js"); const basic = require("../../../../stores/basic.js"); const environment = require("../../../../utils/environment.js"); require("../../../../components/common/base/IconButton.vue2.js"); ;/* empty css */ require("../../../../stores/room.js"); require("pinia"); ;/* empty css */ require("../../../../hooks/useZIndex.js"); require("../../../../services/main.js"); require("../../../../services/roomService.js"); require("mitt"); require("../../../../services/manager/roomActionManager.js"); require("@tencentcloud/tui-core"); ;/* empty css */ ;/* empty css */ ;/* empty css */ ;/* empty css */ ;/* empty css */ require("../../../hooks/useAudioDeviceState/index.js"); ;/* empty css */ ;/* empty css */ ;/* empty css */ ;/* empty css */ ;/* empty css */ ;/* empty css */ require("../../../../hooks/useRoomEngine.js"); require("../../../hooks/useVideoDeviceState/index.js"); ;/* empty css */ ;/* empty css */ const index$1 = require("../../../hooks/useUserState/index.js"); ;/* empty css */ require("../../../hooks/useFreeBeautyState/index.js"); ;/* empty css */ ;/* empty css */ ;/* empty css */ ;/* empty css */ ;/* empty css */ ;/* empty css */ ;/* empty css */ ;/* empty css */ require("../../../hooks/useUserState/useUserActions/useMemberInviteAction.js"); ;/* 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 = { key: 0, class: "apply-on-stage-info" }; const _hoisted_2 = { class: "apply-info" }; const _sfc_main = /* @__PURE__ */ Vue.defineComponent({ __name: "index", setup(__props) { const { t } = index.useI18n(); const basicStore = basic.useBasicStore(); const { applyToOnSeatUserList, localUser } = index$1.default(); const isGeneralUser = Vue.computed( () => { var _a; return ((_a = localUser.value) == null ? void 0 : _a.userRole) === TUIRoomEngine.TUIRole.kGeneralUser; } ); const applyToAnchorUserContent = Vue.computed(() => { var _a, _b, _c; const lastIndex = applyToOnSeatUserList.value.length - 1; const userName = ((_a = applyToOnSeatUserList.value[lastIndex]) == null ? void 0 : _a.nameCard) || ((_b = applyToOnSeatUserList.value[lastIndex]) == null ? void 0 : _b.userName) || ((_c = applyToOnSeatUserList.value[lastIndex]) == null ? void 0 : _c.userId); if (applyToOnSeatUserList.value.length === 1) { return `${userName} ${t("Applying for the stage")}`; } return `${userName} ${t("and so on number people applying to stage", { number: applyToOnSeatUserList.length })}`; }); function showApplyUserList() { if (environment.isMobile) { basicStore.setSidebarOpenStatus(true); basicStore.setSidebarName("apply"); } else { basicStore.setShowApplyUserList(true); } } return (_ctx, _cache) => { return Vue.unref(applyToOnSeatUserList).length > 0 && !isGeneralUser.value ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [ Vue.createVNode(Vue.unref(uikitBaseComponentVue3.IconApplyTips), { size: "24", class: "apply-icon" }), Vue.createElementVNode("div", _hoisted_2, Vue.toDisplayString(applyToAnchorUserContent.value), 1), Vue.createElementVNode("div", { class: "apply-check", onClick: showApplyUserList }, Vue.toDisplayString(Vue.unref(t)("Check")), 1) ])) : Vue.createCommentVNode("", true); }; } }); exports.default = _sfc_main;