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,

59 lines (58 loc) 2.5 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const TUIRoomEngine = require("@tencentcloud/tuiroom-engine-js"); const Room = require("../../../type/Room.js"); const index = require("../../../../locales/index.js"); const room = require("../../../../stores/room.js"); const index$1 = require("../../../../components/common/base/MessageBox/index.js"); const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3"); const useRoomEngine = require("../../../../hooks/useRoomEngine.js"); const message = require("../../../../constants/message.js"); const Vue = require("vue"); function useRoomVideoAction() { const { t } = index.useI18n(); const roomStore = room.useRoomStore(); const roomEngine = useRoomEngine.default(); let stateForAllVideo = false; function toggleRoomVideo() { stateForAllVideo = !roomStore.isCameraDisableForAllUser; index$1.default({ title: roomStore.isCameraDisableForAllUser ? t("Enable all videos") : t("All and new members will be banned from the camera"), message: roomStore.isCameraDisableForAllUser ? t("After unlocking, users can freely turn on the camera") : t("Members will not be able to open the camera"), confirmButtonText: t("Confirm"), cancelButtonText: t("Cancel"), callback: async (action) => { if (action === "confirm") { doToggleRoomVideo(); } } }); } async function doToggleRoomVideo() { var _a; if (roomStore.isCameraDisableForAllUser === stateForAllVideo) { const tipMessage = stateForAllVideo ? t("All videos disabled") : t("All videos enabled"); uikitBaseComponentVue3.TUIToast({ type: uikitBaseComponentVue3.TOAST_TYPE.SUCCESS, message: tipMessage, duration: message.MESSAGE_DURATION.NORMAL }); return; } await ((_a = roomEngine.instance) == null ? void 0 : _a.disableDeviceForAllUserByAdmin({ isDisable: stateForAllVideo, device: TUIRoomEngine.TUIMediaDevice.kCamera })); roomStore.setDisableCameraForAllUserByAdmin(stateForAllVideo); } const roomVideoAction = Vue.reactive({ key: Room.RoomAction.VideoAction, icon: Vue.defineComponent({}), label: Vue.computed( () => roomStore.isCameraDisableForAllUser ? t("Lift stop all video") : t("All stop video") ), handler: toggleRoomVideo }); return roomVideoAction; } exports.default = useRoomVideoAction;