From 6891cefa6d0359f85a596829b6055a13529fb1fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20G=C3=B3mez=20Morales?= Date: Fri, 27 Dec 2024 14:18:30 +0100 Subject: [PATCH] fix(editor): Consistent protected environment styling and messaging (#12374) --- .../src/components/N8nActionBox/ActionBox.vue | 3 + .../editor-ui/src/components/Logo/Logo.vue | 1 + .../editor-ui/src/components/MainSidebar.vue | 55 +++++++- .../Projects/ProjectCreateResource.vue | 3 +- .../src/components/Projects/ProjectHeader.vue | 30 +++-- .../useGlobalEntityCreation.test.ts | 25 ++++ .../composables/useGlobalEntityCreation.ts | 117 ++++++++++-------- .../src/plugins/i18n/locales/en.json | 6 + .../editor-ui/src/views/CredentialsView.vue | 33 ++++- packages/editor-ui/src/views/NodeView.v2.vue | 19 ++- 10 files changed, 224 insertions(+), 68 deletions(-) diff --git a/packages/design-system/src/components/N8nActionBox/ActionBox.vue b/packages/design-system/src/components/N8nActionBox/ActionBox.vue index a43d7a6d7e..02de38143c 100644 --- a/packages/design-system/src/components/N8nActionBox/ActionBox.vue +++ b/packages/design-system/src/components/N8nActionBox/ActionBox.vue @@ -13,6 +13,7 @@ interface ActionBoxProps { buttonText: string; buttonType: ButtonType; buttonDisabled?: boolean; + buttonIcon?: string; description: string; calloutText?: string; calloutTheme?: CalloutTheme; @@ -22,6 +23,7 @@ interface ActionBoxProps { defineOptions({ name: 'N8nActionBox' }); withDefaults(defineProps(), { calloutTheme: 'info', + buttonIcon: undefined, }); @@ -51,6 +53,7 @@ withDefaults(defineProps(), { :label="buttonText" :type="buttonType" :disabled="buttonDisabled" + :icon="buttonIcon" size="large" @click="$emit('click:button', $event)" /> diff --git a/packages/editor-ui/src/components/Logo/Logo.vue b/packages/editor-ui/src/components/Logo/Logo.vue index f10c168e28..6d643de718 100644 --- a/packages/editor-ui/src/components/Logo/Logo.vue +++ b/packages/editor-ui/src/components/Logo/Logo.vue @@ -68,6 +68,7 @@ onMounted(() => {
{{ releaseChannel }}
+ diff --git a/packages/editor-ui/src/components/MainSidebar.vue b/packages/editor-ui/src/components/MainSidebar.vue index 40ace711e1..35f2d71f41 100644 --- a/packages/editor-ui/src/components/MainSidebar.vue +++ b/packages/editor-ui/src/components/MainSidebar.vue @@ -10,6 +10,7 @@ import { useUIStore } from '@/stores/ui.store'; import { useUsersStore } from '@/stores/users.store'; import { useVersionsStore } from '@/stores/versions.store'; import { useWorkflowsStore } from '@/stores/workflows.store'; +import { useSourceControlStore } from '@/stores/sourceControl.store'; import { hasPermission } from '@/utils/rbac/permissions'; import { useDebounce } from '@/composables/useDebounce'; @@ -23,7 +24,7 @@ import { useBugReporting } from '@/composables/useBugReporting'; import { usePageRedirectionHelper } from '@/composables/usePageRedirectionHelper'; import { useGlobalEntityCreation } from '@/composables/useGlobalEntityCreation'; -import { N8nNavigationDropdown } from 'n8n-design-system'; +import { N8nNavigationDropdown, N8nTooltip, N8nLink, N8nIconButton } from 'n8n-design-system'; import { onClickOutside, type VueInstance } from '@vueuse/core'; import Logo from './Logo/Logo.vue'; @@ -36,6 +37,7 @@ const uiStore = useUIStore(); const usersStore = useUsersStore(); const versionsStore = useVersionsStore(); const workflowsStore = useWorkflowsStore(); +const sourceControlStore = useSourceControlStore(); const { callDebounced } = useDebounce(); const externalHooks = useExternalHooks(); @@ -292,6 +294,8 @@ const { menu, handleSelect: handleMenuSelect, createProjectAppendSlotName, + createWorkflowsAppendSlotName, + createCredentialsAppendSlotName, projectsLimitReachedMessage, upgradeLabel, } = useGlobalEntityCreation(); @@ -322,7 +326,26 @@ onClickOutside(createBtn as Ref, () => { location="sidebar" :collapsed="isCollapsed" :release-channel="settingsStore.settings.releaseChannel" - /> + > + + + + + , () => { @select="handleMenuSelect" > + + diff --git a/packages/editor-ui/src/components/Projects/ProjectHeader.vue b/packages/editor-ui/src/components/Projects/ProjectHeader.vue index 8ef45239fc..2e7ce76d70 100644 --- a/packages/editor-ui/src/components/Projects/ProjectHeader.vue +++ b/packages/editor-ui/src/components/Projects/ProjectHeader.vue @@ -1,7 +1,7 @@