@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
JavaScript
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;
;