From fd3caae509390d8f257071db0b1200bd0a0d933f Mon Sep 17 00:00:00 2001 From: Suguru Inoue Date: Mon, 13 Oct 2025 15:32:42 +0200 Subject: [PATCH] feat(editor): Chat: show conversation history in drawer on mobile device (no-changelog) (#20661) --- .../NavigationDropdown.vue | 2 +- .../editor-ui/src/components/MainSidebar.vue | 136 +---- .../src/components/MainSidebarUserArea.vue | 147 +++++ .../editor-ui/src/components/ModalDrawer.vue | 6 +- .../src/components/SettingsSidebar.vue | 5 +- .../src/composables/useUserHelpers.ts | 12 +- packages/frontend/editor-ui/src/constants.ts | 7 +- .../src/features/chatHub/ChatView.vue | 577 ++++-------------- .../chatHub/components/ChatMessage.vue | 125 ++++ .../chatHub/components/ChatPrompt.vue | 159 +++++ .../chatHub/components/ChatSidebar.vue | 140 ++--- .../chatHub/components/ChatSidebarContent.vue | 139 +++++ .../chatHub/components/ChatStarter.vue | 106 ++++ .../components/ChatTypingIndicator.vue | 40 ++ .../components/CredentialSelectorModal.vue | 2 +- .../chatHub/components/ModelSelector.vue | 11 +- .../src/features/chatHub/constants.ts | 2 + 17 files changed, 925 insertions(+), 691 deletions(-) create mode 100644 packages/frontend/editor-ui/src/components/MainSidebarUserArea.vue create mode 100644 packages/frontend/editor-ui/src/features/chatHub/components/ChatMessage.vue create mode 100644 packages/frontend/editor-ui/src/features/chatHub/components/ChatPrompt.vue create mode 100644 packages/frontend/editor-ui/src/features/chatHub/components/ChatSidebarContent.vue create mode 100644 packages/frontend/editor-ui/src/features/chatHub/components/ChatStarter.vue create mode 100644 packages/frontend/editor-ui/src/features/chatHub/components/ChatTypingIndicator.vue diff --git a/packages/frontend/@n8n/design-system/src/components/N8nNavigationDropdown/NavigationDropdown.vue b/packages/frontend/@n8n/design-system/src/components/N8nNavigationDropdown/NavigationDropdown.vue index 1bff3e0b795..f1220740b1b 100644 --- a/packages/frontend/@n8n/design-system/src/components/N8nNavigationDropdown/NavigationDropdown.vue +++ b/packages/frontend/@n8n/design-system/src/components/N8nNavigationDropdown/NavigationDropdown.vue @@ -239,7 +239,7 @@ defineExpose({ .subMenuTitle { display: inline-flex; align-items: center; - gap: var(--spacing-2xs); + gap: var(--spacing--2xs); } .submenu__icon { diff --git a/packages/frontend/editor-ui/src/components/MainSidebar.vue b/packages/frontend/editor-ui/src/components/MainSidebar.vue index 6b5077aa088..020e135ac03 100644 --- a/packages/frontend/editor-ui/src/components/MainSidebar.vue +++ b/packages/frontend/editor-ui/src/components/MainSidebar.vue @@ -1,6 +1,5 @@ + + + + diff --git a/packages/frontend/editor-ui/src/components/ModalDrawer.vue b/packages/frontend/editor-ui/src/components/ModalDrawer.vue index 8910a785d50..590555948de 100644 --- a/packages/frontend/editor-ui/src/components/ModalDrawer.vue +++ b/packages/frontend/editor-ui/src/components/ModalDrawer.vue @@ -3,6 +3,7 @@ import { useUIStore } from '@/stores/ui.store'; import { onBeforeUnmount, onMounted } from 'vue'; import type { EventBus } from '@n8n/utils/event-bus'; import { ElDrawer } from 'element-plus'; + const props = withDefaults( defineProps<{ name: string; @@ -13,12 +14,14 @@ const props = withDefaults( width: string; wrapperClosable?: boolean; closeOnClickModal?: boolean; + showClose?: boolean; zIndex?: number; }>(), { modal: true, wrapperClosable: true, closeOnClickModal: false, + showClose: true, }, ); @@ -74,13 +77,14 @@ onBeforeUnmount(() => {