From bb49cca0034cf2bdf296cd99b74ea6f6bd9a8b02 Mon Sep 17 00:00:00 2001 From: orkhanart <88044120+orkhanart@users.noreply.github.com> Date: Sat, 29 Nov 2025 11:25:08 -0800 Subject: [PATCH] feat(canvas): Add run controls, share dialog, and right toolbar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add CanvasRunControls with Run dropdown (Run, Run on Change), Queue button - Add CanvasShareDialog with Figma-like sharing UI (invite, permissions, link) - Add CanvasRightToolbar with zoom and fit controls - Move run button from tab bar to canvas area (top-right) - Integrate share dialog with tab bar share button 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- ComfyUI_vibe/src/components.d.ts | 3 + .../v1/sidebar/V1SidebarIconBar.vue | 2 +- .../components/v1/sidebar/V1SidebarPanel.vue | 6 +- .../components/v2/canvas/CanvasBottomBar.vue | 23 +- .../v2/canvas/CanvasRightToolbar.vue | 146 +++++++++ .../v2/canvas/CanvasRunControls.vue | 115 +++++++ .../v2/canvas/CanvasShareDialog.vue | 298 ++++++++++++++++++ .../src/components/v2/canvas/CanvasTabBar.vue | 21 +- .../components/v2/canvas/LibrarySidebar.vue | 6 +- .../src/components/v2/sidebar/V2NodePanel.vue | 10 +- ComfyUI_vibe/src/views/v2/CanvasView.vue | 15 +- 11 files changed, 622 insertions(+), 23 deletions(-) create mode 100644 ComfyUI_vibe/src/components/v2/canvas/CanvasRightToolbar.vue create mode 100644 ComfyUI_vibe/src/components/v2/canvas/CanvasRunControls.vue create mode 100644 ComfyUI_vibe/src/components/v2/canvas/CanvasShareDialog.vue diff --git a/ComfyUI_vibe/src/components.d.ts b/ComfyUI_vibe/src/components.d.ts index 305898cc1..ef4d23d6d 100644 --- a/ComfyUI_vibe/src/components.d.ts +++ b/ComfyUI_vibe/src/components.d.ts @@ -11,6 +11,9 @@ declare module 'vue' { CanvasBottomBar: typeof import('./components/v2/canvas/CanvasBottomBar.vue')['default'] CanvasLeftSidebar: typeof import('./components/v2/canvas/CanvasLeftSidebar.vue')['default'] CanvasLogoMenu: typeof import('./components/v2/canvas/CanvasLogoMenu.vue')['default'] + CanvasRightToolbar: typeof import('./components/v2/canvas/CanvasRightToolbar.vue')['default'] + CanvasRunControls: typeof import('./components/v2/canvas/CanvasRunControls.vue')['default'] + CanvasShareDialog: typeof import('./components/v2/canvas/CanvasShareDialog.vue')['default'] CanvasTabBar: typeof import('./components/v2/canvas/CanvasTabBar.vue')['default'] CanvasTabs: typeof import('./components/v2/canvas/CanvasTabs.vue')['default'] CreateProjectDialog: typeof import('./components/v2/workspace/CreateProjectDialog.vue')['default'] diff --git a/ComfyUI_vibe/src/components/v1/sidebar/V1SidebarIconBar.vue b/ComfyUI_vibe/src/components/v1/sidebar/V1SidebarIconBar.vue index ff11f7a55..d872955b3 100644 --- a/ComfyUI_vibe/src/components/v1/sidebar/V1SidebarIconBar.vue +++ b/ComfyUI_vibe/src/components/v1/sidebar/V1SidebarIconBar.vue @@ -11,7 +11,7 @@ function handleTabClick(tabId: Exclude): void { diff --git a/ComfyUI_vibe/src/components/v2/canvas/CanvasRightToolbar.vue b/ComfyUI_vibe/src/components/v2/canvas/CanvasRightToolbar.vue new file mode 100644 index 000000000..42f4cb605 --- /dev/null +++ b/ComfyUI_vibe/src/components/v2/canvas/CanvasRightToolbar.vue @@ -0,0 +1,146 @@ + + + diff --git a/ComfyUI_vibe/src/components/v2/canvas/CanvasRunControls.vue b/ComfyUI_vibe/src/components/v2/canvas/CanvasRunControls.vue new file mode 100644 index 000000000..ae903df99 --- /dev/null +++ b/ComfyUI_vibe/src/components/v2/canvas/CanvasRunControls.vue @@ -0,0 +1,115 @@ + + + diff --git a/ComfyUI_vibe/src/components/v2/canvas/CanvasShareDialog.vue b/ComfyUI_vibe/src/components/v2/canvas/CanvasShareDialog.vue new file mode 100644 index 000000000..bbdc8d7a4 --- /dev/null +++ b/ComfyUI_vibe/src/components/v2/canvas/CanvasShareDialog.vue @@ -0,0 +1,298 @@ + + + diff --git a/ComfyUI_vibe/src/components/v2/canvas/CanvasTabBar.vue b/ComfyUI_vibe/src/components/v2/canvas/CanvasTabBar.vue index 5cfae1fb9..8f46dcb1b 100644 --- a/ComfyUI_vibe/src/components/v2/canvas/CanvasTabBar.vue +++ b/ComfyUI_vibe/src/components/v2/canvas/CanvasTabBar.vue @@ -1,10 +1,12 @@ diff --git a/ComfyUI_vibe/src/components/v2/canvas/LibrarySidebar.vue b/ComfyUI_vibe/src/components/v2/canvas/LibrarySidebar.vue index 3f1af808e..6ef0f1074 100644 --- a/ComfyUI_vibe/src/components/v2/canvas/LibrarySidebar.vue +++ b/ComfyUI_vibe/src/components/v2/canvas/LibrarySidebar.vue @@ -131,7 +131,7 @@ const filteredWorkflows = computed(() => {