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,

39 lines (38 loc) 1.25 kB
import { reactive, computed, markRaw } from "vue"; import { IconChatForbidden, TUIToast, TOAST_TYPE } from "@tencentcloud/uikit-base-component-vue3"; import { MESSAGE_DURATION } from "../../../../constants/message.mjs"; import useRoomEngine from "../../../../hooks/useRoomEngine.mjs"; import { useI18n } from "../../../../locales/index.mjs"; import { UserAction } from "../../../type/User.mjs"; const roomEngine = useRoomEngine(); const { t } = useI18n(); function useChatAction(userInfo) { async function disableUserChat() { var _a; const { isMessageDisabled } = userInfo; try { await ((_a = roomEngine.instance) == null ? void 0 : _a.disableSendingMessageByAdmin({ userId: userInfo.userId, isDisable: !isMessageDisabled })); } catch (error) { TUIToast({ type: TOAST_TYPE.ERROR, message: t("Failed to disable chat"), duration: MESSAGE_DURATION.NORMAL }); } } const chatControl = reactive({ key: UserAction.ChatAction, icon: markRaw(IconChatForbidden), label: computed( () => userInfo.isMessageDisabled ? t("Enable chat") : t("Disable chat") ), handler: disableUserChat }); return chatControl; } export { useChatAction as default };