@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.47 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const Vue = require("vue");
const pinia = require("pinia");
const index = require("../../../locales/index.js");
const basic = require("../../../stores/basic.js");
function useUserInfo() {
const { t } = index.useI18n();
const basicStore = basic.useBasicStore();
const { userName } = pinia.storeToRefs(basicStore);
const userInfoRef = Vue.ref();
const showUserControl = Vue.ref(false);
const isUserNameEditorVisible = Vue.ref(false);
const tempUserName = Vue.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;
}
Vue.onMounted(() => {
window.addEventListener("click", hideUserControl);
});
Vue.onUnmounted(() => {
window.removeEventListener("click", hideUserControl);
});
return {
t,
showUserControl,
isUserNameEditorVisible,
userInfoRef,
tempUserName,
handleUserControl,
showEditUserNameDialog,
closeUserNameEditor
};
}
exports.default = useUserInfo;