diff --git a/browser_tests/menu.spec.ts b/browser_tests/menu.spec.ts
index 801ac3d66f..5b7561f11b 100644
--- a/browser_tests/menu.spec.ts
+++ b/browser_tests/menu.spec.ts
@@ -499,6 +499,16 @@ test.describe('Menu', () => {
})
expect(isTextCutoff).toBe(false)
})
+
+ test('Displays keybinding next to item', async ({ comfyPage }) => {
+ const workflowMenuItem =
+ await comfyPage.menu.topbar.getMenuItem('Workflow')
+ await workflowMenuItem.click()
+ const exportTag = comfyPage.page.locator('.keybinding-tag', {
+ hasText: 'Ctrl + s'
+ })
+ expect(await exportTag.count()).toBe(1)
+ })
})
// Only test 'Top' to reduce test time.
diff --git a/src/components/actionbar/ComfyQueueButton.vue b/src/components/actionbar/ComfyQueueButton.vue
index c36f78deb0..b816678491 100644
--- a/src/components/actionbar/ComfyQueueButton.vue
+++ b/src/components/actionbar/ComfyQueueButton.vue
@@ -47,6 +47,7 @@
import SplitButton from 'primevue/splitbutton'
import Button from 'primevue/button'
import BatchCountEdit from './BatchCountEdit.vue'
+import ButtonGroup from 'primevue/buttongroup'
import { useI18n } from 'vue-i18n'
import {
AutoQueueMode,
diff --git a/src/components/topbar/CommandMenubar.vue b/src/components/topbar/CommandMenubar.vue
new file mode 100644
index 0000000000..cfa79486e7
--- /dev/null
+++ b/src/components/topbar/CommandMenubar.vue
@@ -0,0 +1,55 @@
+
+