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,

130 lines (129 loc) 6.32 kB
import { defineComponent, computed, createElementBlock, createCommentVNode, unref, openBlock, createElementVNode, createVNode, toDisplayString, Fragment, renderList, normalizeClass, createBlock } from "vue"; import { IconClose } from "@tencentcloud/uikit-base-component-vue3"; import _sfc_main$1 from "../../core/components/AudioSetting/index.vue.mjs"; import VideoSetting from "../../core/components/VideoSetting/index.vue.mjs"; import "../../core/hooks/useAudioDeviceState/index.mjs"; import "../../core/hooks/useVideoDeviceState/index.mjs"; import "@tencentcloud/tuiroom-engine-js"; import "../../stores/room.mjs"; import "../../core/hooks/useUserState/useUserActions/useAudioAction.mjs"; import "../../core/hooks/useUserState/useUserActions/useChatAction.mjs"; import "../../core/hooks/useUserState/useUserActions/useVideoAction.mjs"; import "../../core/hooks/useUserState/useUserActions/useTransferOwnerAction.mjs"; import "../../core/hooks/useUserState/useUserActions/useChangeNameCardAction/index.mjs"; import "../../core/hooks/useUserState/useUserActions/useKickUserAction.mjs"; import "../../core/hooks/useUserState/useUserActions/useSeatAction.mjs"; import "../../core/hooks/useUserState/useUserActions/useAdminAction.mjs"; import { storeToRefs } from "pinia"; import "../../core/store/room.mjs"; import "../../hooks/useRoomEngine.mjs"; import "../../utils/environment.mjs"; import "../../core/manager/userEventManger.mjs"; import { MediaSettingDisplayMode } from "../../core/type/MediaDeviceSetting.mjs"; import { useI18n } from "../../locales/index.mjs"; import "../../hooks/useZIndex.mjs"; /* empty css */ import "../../core/hooks/useFreeBeautyState/index.mjs"; /* empty css */ /* empty css */ /* empty css */ import { useBasicStore } from "../../stores/basic.mjs"; /* empty css */ import "../../core/hooks/useUserState/useUserActions/useMemberInviteAction.mjs"; /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ /* empty css */ import "../../services/main.mjs"; import "../../services/roomService.mjs"; import "mitt"; import "../../services/manager/roomActionManager.mjs"; import "@tencentcloud/tui-core"; /* empty css */ /* empty css */ /* empty css */ import "../common/base/IconButton.vue2.mjs"; /* empty css */ /* empty css */ /* empty css */ /* empty css */ const _hoisted_1 = { class: "setting-container" }; const _hoisted_2 = { class: "setting-header" }; const _hoisted_3 = { class: "setting-title" }; const _hoisted_4 = { class: "setting-body" }; const _hoisted_5 = { class: "setting-tabs" }; const _hoisted_6 = ["onClick"]; const _hoisted_7 = { class: "setting-content" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", setup(__props) { const { t } = useI18n(); const basicStore = useBasicStore(); const { showSettingDialog, activeSettingTab } = storeToRefs(basicStore); const settingTabsTitleList = computed(() => [ { label: t("Audio settings"), value: "audio" }, { label: t("Camera settings"), value: "video" } ]); function handleUpdateActiveTab(tabTitle) { basicStore.setActiveSettingTab(tabTitle); } function handleCloseSettingDialog() { basicStore.setShowSettingDialog(false); } function handleOverlayClick(event) { if (event.target !== event.currentTarget) { return; } handleCloseSettingDialog(); } return (_ctx, _cache) => { return unref(showSettingDialog) ? (openBlock(), createElementBlock("div", { key: 0, class: "overlay-container overlay", onClick: handleOverlayClick }, [ createElementVNode("div", _hoisted_1, [ createElementVNode("div", _hoisted_2, [ createElementVNode("span", _hoisted_3, toDisplayString(unref(t)("Settings")), 1), createVNode(unref(IconClose), { class: "close-icon", onClick: handleCloseSettingDialog }) ]), createElementVNode("div", _hoisted_4, [ createElementVNode("div", _hoisted_5, [ (openBlock(true), createElementBlock(Fragment, null, renderList(settingTabsTitleList.value, (item, index) => { return openBlock(), createElementBlock("div", { key: index, class: normalizeClass([ "tabs-title", `${unref(activeSettingTab) === item.value ? "active" : ""}` ]), onClick: ($event) => handleUpdateActiveTab(item.value) }, toDisplayString(item.label), 11, _hoisted_6); }), 128)) ]), _cache[0] || (_cache[0] = createElementVNode("div", { class: "divide-line" }, null, -1)), createElementVNode("div", _hoisted_7, [ unref(activeSettingTab) === "audio" ? (openBlock(), createBlock(unref(_sfc_main$1), { key: 0, "display-mode": unref(MediaSettingDisplayMode).Panel, class: "setting-tab" }, null, 8, ["display-mode"])) : unref(activeSettingTab) === "video" ? (openBlock(), createBlock(unref(VideoSetting), { key: 1, "display-mode": unref(MediaSettingDisplayMode).Panel, class: "setting-tab" }, null, 8, ["display-mode"])) : createCommentVNode("", true) ]) ]) ]) ])) : createCommentVNode("", true); }; } }); export { _sfc_main as default };