From b18a0713db58b5b80aedf3ff128b0ebe3204d577 Mon Sep 17 00:00:00 2001 From: pythongosssss <125205205+pythongosssss@users.noreply.github.com> Date: Tue, 3 Mar 2026 16:35:47 +0000 Subject: [PATCH] feat: App mode enter builder menu item (#9341) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Adds enter builder menu item for easier access to app builder. Fixes issues with seen item tracking ## Changes - **What**: - add enter builder menu item - change non visible items to still be returned as part of the array, so they are not incorrectly removed from the seen-items tracking - split toggle-app-mode into two stable items ## Screenshots (if applicable) image ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9341-feat-App-mode-enter-builder-menu-item-3176d73d365081a9a7e7cf1a1986354f) by [Unito](https://www.unito.io) --- .../common/WorkflowActionsList.test.ts | 18 +++++ src/components/common/WorkflowActionsList.vue | 2 +- .../useNewMenuItemIndicator.test.ts | 74 +++++++++++++++++++ src/composables/useNewMenuItemIndicator.ts | 29 ++++++-- .../useWorkflowActionsMenu.test.ts | 24 +++++- src/composables/useWorkflowActionsMenu.ts | 49 ++++++++---- src/locales/en/main.json | 1 + src/types/workflowMenuItem.ts | 1 + 8 files changed, 172 insertions(+), 26 deletions(-) diff --git a/src/components/common/WorkflowActionsList.test.ts b/src/components/common/WorkflowActionsList.test.ts index 67c668fe7d..e5483c65a0 100644 --- a/src/components/common/WorkflowActionsList.test.ts +++ b/src/components/common/WorkflowActionsList.test.ts @@ -70,6 +70,24 @@ describe('WorkflowActionsList', () => { expect(wrapper.text()).toContain('NEW') }) + it('does not render items with visible set to false', () => { + const items: WorkflowMenuItem[] = [ + { + id: 'hidden', + label: 'Hidden Item', + icon: 'pi pi-eye-slash', + command: vi.fn(), + visible: false + }, + { id: 'shown', label: 'Shown Item', icon: 'pi pi-eye', command: vi.fn() } + ] + + const wrapper = createWrapper(items) + + expect(wrapper.text()).not.toContain('Hidden Item') + expect(wrapper.text()).toContain('Shown Item') + }) + it('does not render badge when absent', () => { const items: WorkflowMenuAction[] = [ { id: 'plain', label: 'Plain', icon: 'pi pi-check', command: vi.fn() } diff --git a/src/components/common/WorkflowActionsList.vue b/src/components/common/WorkflowActionsList.vue index 09cee3aebd..670145f481 100644 --- a/src/components/common/WorkflowActionsList.vue +++ b/src/components/common/WorkflowActionsList.vue @@ -26,7 +26,7 @@ const { />