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,

68 lines (67 loc) 2.76 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const Vue = require("vue"); const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3"); const message = require("../../../../../constants/message.js"); const useRoomEngine = require("../../../../../hooks/useRoomEngine.js"); const index = require("../../../../../locales/index.js"); const changeNameCardDialog = require("./changeNameCardDialog.vue.js"); const changeNameCardInput = require("./changeNameCardInput.vue.js"); const utils = require("../../../../../utils/utils.js"); const User = require("../../../../type/User.js"); const environment = require("../../../../../utils/environment.js"); const roomEngine = useRoomEngine.default(); const { t } = index.useI18n(); function useNameCardAction(userInfo) { const nameCardCheck = (inputUserName) => { const result = utils.calculateByteLength(inputUserName) <= 32; !result && uikitBaseComponentVue3.TUIToast({ type: uikitBaseComponentVue3.TOAST_TYPE.WARNING, message: t("The user name cannot exceed 32 characters"), duration: message.MESSAGE_DURATION.NORMAL }); return result; }; async function handleChangeUserNameCard(inputUserName) { var _a; if (!nameCardCheck(inputUserName)) { return Promise.reject("The user name cannot exceed 32 characters"); } try { await ((_a = roomEngine.instance) == null ? void 0 : _a.changeUserNameCard({ userId: userInfo.userId, nameCard: inputUserName })); uikitBaseComponentVue3.TUIToast({ type: uikitBaseComponentVue3.TOAST_TYPE.SUCCESS, message: t("Name changed successfully"), duration: message.MESSAGE_DURATION.NORMAL }); } catch (error) { uikitBaseComponentVue3.TUIToast({ type: uikitBaseComponentVue3.TOAST_TYPE.ERROR, message: t("change name failed, please try again."), duration: 5e3 }); } } function renderChangeNameCardDialog() { var _a; const Component = environment.isMobile ? changeNameCardInput.default : changeNameCardDialog.default; const vNode = Vue.h(Component, { userInfo, confirmFunction: handleChangeUserNameCard }); const div = document.createElement("div"); Vue.render(vNode, div); (_a = document.getElementById("roomContainer")) == null ? void 0 : _a.appendChild(div.childNodes[0]); } const changeUserNameCard = Vue.reactive({ key: User.UserAction.ChangeUserNameCardAction, icon: Vue.markRaw(uikitBaseComponentVue3.IconEditNameCard), label: t("change name"), handler: renderChangeNameCardDialog }); return changeUserNameCard; } exports.default = useNameCardAction;