diff --git a/.gitignore b/.gitignore index bee3e8317..c51197db0 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,12 @@ yarn-error.log* pnpm-debug.log* lerna-debug.log* +# Package manager lockfiles (allow users to use different package managers) +bun.lock +bun.lockb +pnpm-lock.yaml +yarn.lock + # ESLint cache .eslintcache diff --git a/browser_tests/tests/groupNode.spec.ts b/browser_tests/tests/groupNode.spec.ts index ae1ee505f..a6cb1e67f 100644 --- a/browser_tests/tests/groupNode.spec.ts +++ b/browser_tests/tests/groupNode.spec.ts @@ -17,11 +17,11 @@ test.describe('Group Node', () => { await libraryTab.open() }) - test.skip('Is added to node library sidebar', async ({ comfyPage }) => { + test('Is added to node library sidebar', async ({ comfyPage }) => { expect(await libraryTab.getFolder('group nodes').count()).toBe(1) }) - test.skip('Can be added to canvas using node library sidebar', async ({ + test('Can be added to canvas using node library sidebar', async ({ comfyPage }) => { const initialNodeCount = await comfyPage.getGraphNodesCount() @@ -34,7 +34,7 @@ test.describe('Group Node', () => { expect(await comfyPage.getGraphNodesCount()).toBe(initialNodeCount + 1) }) - test.skip('Can be bookmarked and unbookmarked', async ({ comfyPage }) => { + test('Can be bookmarked and unbookmarked', async ({ comfyPage }) => { await libraryTab.getFolder(groupNodeCategory).click() await libraryTab .getNode(groupNodeName) @@ -61,7 +61,7 @@ test.describe('Group Node', () => { ).toHaveLength(0) }) - test.skip('Displays preview on bookmark hover', async ({ comfyPage }) => { + test('Displays preview on bookmark hover', async ({ comfyPage }) => { await libraryTab.getFolder(groupNodeCategory).click() await libraryTab .getNode(groupNodeName) @@ -95,7 +95,7 @@ test.describe('Group Node', () => { ) }) - test.skip('Displays tooltip on title hover', async ({ comfyPage }) => { + test('Displays tooltip on title hover', async ({ comfyPage }) => { await comfyPage.setSetting('Comfy.EnableTooltips', true) await comfyPage.convertAllNodesToGroupNode('Group Node') await comfyPage.page.mouse.move(47, 173) @@ -104,7 +104,7 @@ test.describe('Group Node', () => { await expect(comfyPage.page.locator('.node-tooltip')).toBeVisible() }) - test.skip('Manage group opens with the correct group selected', async ({ + test('Manage group opens with the correct group selected', async ({ comfyPage }) => { const makeGroup = async (name, type1, type2) => { @@ -165,7 +165,7 @@ test.describe('Group Node', () => { expect(visibleInputCount).toBe(2) }) - test.skip('Reconnects inputs after configuration changed via manage dialog save', async ({ + test('Reconnects inputs after configuration changed via manage dialog save', async ({ comfyPage }) => { const expectSingleNode = async (type: string) => { diff --git a/browser_tests/tests/rightClickMenu.spec.ts b/browser_tests/tests/rightClickMenu.spec.ts index d35eaccf6..db21ecd36 100644 --- a/browser_tests/tests/rightClickMenu.spec.ts +++ b/browser_tests/tests/rightClickMenu.spec.ts @@ -24,11 +24,11 @@ test.describe('Canvas Right Click Menu', () => { await expect(comfyPage.canvas).toHaveScreenshot('add-group-group-added.png') }) - test.skip('Can convert to group node', async ({ comfyPage }) => { + test('Can convert to group node', async ({ comfyPage }) => { await comfyPage.select2Nodes() await expect(comfyPage.canvas).toHaveScreenshot('selected-2-nodes.png') await comfyPage.rightClickCanvas() - await comfyPage.clickContextMenuItem('Convert to Group Node') + await comfyPage.clickContextMenuItem('Convert to Group Node (Deprecated)') await comfyPage.promptDialogInput.fill('GroupNode2CLIP') await comfyPage.page.keyboard.press('Enter') await comfyPage.promptDialogInput.waitFor({ state: 'hidden' }) diff --git a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/add-group-group-added-chromium-linux.png b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/add-group-group-added-chromium-linux.png index 8c01233c5..9693f5373 100644 Binary files a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/add-group-group-added-chromium-linux.png and b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/add-group-group-added-chromium-linux.png differ diff --git a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-menu-chromium-linux.png b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-menu-chromium-linux.png index 29713c532..0a9eb155c 100644 Binary files a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-menu-chromium-linux.png and b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-menu-chromium-linux.png differ diff --git a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-node-chromium-linux.png b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-node-chromium-linux.png index f8398e12a..1ca78bae4 100644 Binary files a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-node-chromium-linux.png and b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-node-chromium-linux.png differ diff --git a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-node-group-node-chromium-linux.png b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-node-group-node-chromium-linux.png index 855c5a15a..f930bb889 100644 Binary files a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-node-group-node-chromium-linux.png and b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-node-group-node-chromium-linux.png differ diff --git a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-pinned-node-chromium-linux.png b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-pinned-node-chromium-linux.png index d5a833ff6..088ecf100 100644 Binary files a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-pinned-node-chromium-linux.png and b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-pinned-node-chromium-linux.png differ diff --git a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-unpinned-node-chromium-linux.png b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-unpinned-node-chromium-linux.png index f8398e12a..1ca78bae4 100644 Binary files a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-unpinned-node-chromium-linux.png and b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/right-click-unpinned-node-chromium-linux.png differ diff --git a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/selected-2-nodes-chromium-linux.png b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/selected-2-nodes-chromium-linux.png index 50cda8cd8..dfccbf641 100644 Binary files a/browser_tests/tests/rightClickMenu.spec.ts-snapshots/selected-2-nodes-chromium-linux.png and b/browser_tests/tests/rightClickMenu.spec.ts-snapshots/selected-2-nodes-chromium-linux.png differ diff --git a/src/assets/icons/custom/ai-model.svg b/src/assets/icons/custom/ai-model.svg new file mode 100644 index 000000000..ede8e5c7e --- /dev/null +++ b/src/assets/icons/custom/ai-model.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/custom/node.svg b/src/assets/icons/custom/node.svg new file mode 100644 index 000000000..3239b59bd --- /dev/null +++ b/src/assets/icons/custom/node.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/icons/custom/template.svg b/src/assets/icons/custom/template.svg new file mode 100644 index 000000000..2a2a75f8d --- /dev/null +++ b/src/assets/icons/custom/template.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/components/sidebar/SideToolbar.vue b/src/components/sidebar/SideToolbar.vue index 0ef8598d1..72a451d81 100644 --- a/src/components/sidebar/SideToolbar.vue +++ b/src/components/sidebar/SideToolbar.vue @@ -8,10 +8,13 @@ :icon-badge="tab.iconBadge" :tooltip="tab.tooltip" :tooltip-suffix="getTabTooltipSuffix(tab)" + :label="tab.label || tab.title" + :is-small="isSmall" :selected="tab.id === selectedTab?.id" :class="tab.id + '-tab-button'" @click="onTabClick(tab)" /> +
@@ -43,6 +46,7 @@ import type { SidebarTabExtension } from '@/types/extensionTypes' import SidebarHelpCenterIcon from './SidebarHelpCenterIcon.vue' import SidebarIcon from './SidebarIcon.vue' import SidebarLogoutIcon from './SidebarLogoutIcon.vue' +import SidebarTemplatesButton from './SidebarTemplatesButton.vue' const workspaceStore = useWorkspaceStore() const settingStore = useSettingStore() @@ -86,7 +90,7 @@ const getTabTooltipSuffix = (tab: SidebarTabExtension) => { box-shadow: var(--bar-shadow); --sidebar-width: 4rem; - --sidebar-icon-size: 1.5rem; + --sidebar-icon-size: 1rem; } .side-tool-bar-container.small-sidebar { diff --git a/src/components/sidebar/SidebarIcon.vue b/src/components/sidebar/SidebarIcon.vue index 5002d7724..f38a0aa0b 100644 --- a/src/components/sidebar/SidebarIcon.vue +++ b/src/components/sidebar/SidebarIcon.vue @@ -19,12 +19,29 @@ @click="emit('click', $event)" > @@ -33,6 +50,7 @@ import Button from 'primevue/button' import OverlayBadge from 'primevue/overlaybadge' import { computed } from 'vue' +import type { Component } from 'vue' import { useI18n } from 'vue-i18n' const { t } = useI18n() @@ -41,13 +59,17 @@ const { selected = false, tooltip = '', tooltipSuffix = '', - iconBadge = '' + iconBadge = '', + label = '', + isSmall = false } = defineProps<{ - icon?: string + icon?: string | Component selected?: boolean tooltip?: string tooltipSuffix?: string iconBadge?: string | (() => string | null) + label?: string + isSmall?: boolean }>() const emit = defineEmits<{ @@ -74,10 +96,23 @@ const computedTooltip = computed(() => t(tooltip) + tooltipSuffix)