UNPKG

@tencentcloud/roomkit-electron-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,

49 lines (48 loc) 1.35 kB
import { ref, onMounted, onUnmounted } from "vue"; import { storeToRefs } from "pinia"; import { useI18n } from "../../../locales/index.mjs"; import { useBasicStore } from "../../../stores/basic.mjs"; function useUserInfo() { const { t } = useI18n(); const basicStore = useBasicStore(); const { userName } = storeToRefs(basicStore); const userInfoRef = ref(); const showUserControl = ref(false); const isUserNameEditorVisible = ref(false); const tempUserName = ref(""); function handleUserControl() { showUserControl.value = !showUserControl.value; } function hideUserControl(event) { var _a; if (!((_a = userInfoRef.value) == null ? void 0 : _a.contains(event.target))) { showUserControl.value = false; } } function showEditUserNameDialog() { isUserNameEditorVisible.value = true; tempUserName.value = userName.value; } function closeUserNameEditor() { isUserNameEditorVisible.value = false; } onMounted(() => { window.addEventListener("click", hideUserControl); }); onUnmounted(() => { window.removeEventListener("click", hideUserControl); }); return { t, showUserControl, isUserNameEditorVisible, userInfoRef, tempUserName, handleUserControl, showEditUserNameDialog, closeUserNameEditor }; } export { useUserInfo as default };