@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
JavaScript
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
};