UNPKG

n8n-editor-ui

Version:

Workflow Editor UI for n8n

111 lines (110 loc) 4.36 kB
import { Cn as toDisplayString, D as createElementBlock, Gt as unref, It as ref, M as createVNode, P as defineComponent, T as createBlock, _ as Fragment, bt as withCtx, et as openBlock, it as renderList, j as createTextVNode, vn as normalizeClass, w as createBaseVNode } from "./vue.runtime.esm-bundler-tP5dCd7J.js"; import { gt as useI18n } from "./_MapCache-B159LOu5.js"; import { Vn as N8nText_default, j as N8nMenuItem_default, vt as N8nAvatar_default, w as N8nPopoverReka_default, xt as N8nIconButton_default } from "./src-BW7zuOU1.js"; import { t as __plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BwBpWJRZ.js"; import { y as useRouter } from "./truncate-Dc5upPom.js"; import { nr as useUsersStore } from "./useTelemetry-C797TaYa.js"; import { Io as VIEWS } from "./constants-CX1ozgFz.js"; var _hoisted_1 = { class: "ml-3xs", "data-test-id": "main-sidebar-user-menu" }; var MainSidebarUserArea_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ __name: "MainSidebarUserArea", props: { fullyExpanded: { type: Boolean }, isCollapsed: { type: Boolean } }, setup(__props) { const i18n = useI18n(); const router = useRouter(); const usersStore = useUsersStore(); const userMenuItems = ref([{ id: "settings", icon: "settings", label: i18n.baseText("settings") }, { id: "logout", icon: "door-open", label: i18n.baseText("auth.signout") }]); const onLogout = () => { router.push({ name: VIEWS.SIGNOUT }); }; const onUserActionToggle = (action) => { switch (action) { case "logout": onLogout(); break; case "settings": router.push({ name: VIEWS.SETTINGS }); break; default: break; } }; return (_ctx, _cache) => { return openBlock(), createElementBlock("div", { ref: "user", class: normalizeClass(_ctx.$style.userArea) }, [createVNode(unref(N8nPopoverReka_default), { side: "right", align: "end", "side-offset": 16 }, { content: withCtx(() => [createBaseVNode("div", { class: normalizeClass(_ctx.$style.popover) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(userMenuItems.value, (action) => { return openBlock(), createBlock(unref(N8nMenuItem_default), { key: action.id, item: action, "data-test-id": `user-menu-item-${action.id}`, onClick: () => onUserActionToggle(action.id) }, null, 8, [ "item", "data-test-id", "onClick" ]); }), 128))], 2)]), trigger: withCtx(() => [createBaseVNode("div", { class: normalizeClass(_ctx.$style.userAreaInner) }, [ createBaseVNode("div", _hoisted_1, [createBaseVNode("div", { class: normalizeClass({ ["clickable"]: _ctx.isCollapsed }) }, [createVNode(unref(N8nAvatar_default), { "first-name": unref(usersStore).currentUser?.firstName, "last-name": unref(usersStore).currentUser?.lastName, size: "small" }, null, 8, ["first-name", "last-name"])], 2)]), createBaseVNode("div", { class: normalizeClass({ ["ml-2xs"]: true, [_ctx.$style.userName]: true, [_ctx.$style.expanded]: _ctx.fullyExpanded }) }, [createVNode(unref(N8nText_default), { size: "small", color: "text-dark" }, { default: withCtx(() => [createTextVNode(toDisplayString(unref(usersStore).currentUser?.fullName), 1)]), _: 1 })], 2), createBaseVNode("div", { "data-test-id": "user-menu", class: normalizeClass({ [_ctx.$style.userActions]: true, [_ctx.$style.expanded]: _ctx.fullyExpanded }) }, [createVNode(unref(N8nIconButton_default), { icon: "ellipsis", text: "", square: "", type: "tertiary" })], 2) ], 2)]), _: 1 })], 2); }; } }); var MainSidebarUserArea_vue_vue_type_style_index_0_lang_module_default = { userArea: "_userArea_r2ew4_123", userName: "_userName_r2ew4_129", expanded: "_expanded_r2ew4_138", userActions: "_userActions_r2ew4_145", userAreaInner: "_userAreaInner_r2ew4_152", popover: "_popover_r2ew4_158" }; var MainSidebarUserArea_default = /* @__PURE__ */ __plugin_vue_export_helper_default(MainSidebarUserArea_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": MainSidebarUserArea_vue_vue_type_style_index_0_lang_module_default }]]); export { MainSidebarUserArea_default as t };