diff --git a/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/TopPanel.tsx b/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/TopPanel.tsx
index 42651bdbed2..e45eb937dc9 100644
--- a/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/TopPanel.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/TopPanel.tsx
@@ -1,16 +1,21 @@
-import { Flex, Spacer } from '@invoke-ai/ui-library';
+import { Flex, IconButton, Spacer } from '@invoke-ai/ui-library';
import { useAppSelector } from 'app/store/storeHooks';
import AddNodeButton from 'features/nodes/components/flow/panels/TopPanel/AddNodeButton';
import ClearFlowButton from 'features/nodes/components/flow/panels/TopPanel/ClearFlowButton';
import SaveWorkflowButton from 'features/nodes/components/flow/panels/TopPanel/SaveWorkflowButton';
import UpdateNodesButton from 'features/nodes/components/flow/panels/TopPanel/UpdateNodesButton';
+import { useWorkflowEditorSettingsModal } from 'features/nodes/components/flow/panels/TopRightPanel/WorkflowEditorSettings';
import { WorkflowName } from 'features/nodes/components/sidePanel/WorkflowName';
import { selectWorkflowName } from 'features/nodes/store/workflowSlice';
-import WorkflowLibraryMenu from 'features/workflowLibrary/components/WorkflowLibraryMenu/WorkflowLibraryMenu';
import { memo } from 'react';
+import { useTranslation } from 'react-i18next';
+import { PiGearSixFill } from 'react-icons/pi';
const TopCenterPanel = () => {
const name = useAppSelector(selectWorkflowName);
+ const modal = useWorkflowEditorSettingsModal();
+
+ const { t } = useTranslation();
return (
@@ -22,7 +27,12 @@ const TopCenterPanel = () => {
-
+ }
+ onClick={modal.setTrue}
+ />
);
};
diff --git a/invokeai/frontend/web/src/features/nodes/components/sidePanel/NewWorkflowButton.tsx b/invokeai/frontend/web/src/features/nodes/components/sidePanel/NewWorkflowButton.tsx
deleted file mode 100644
index 1fa11e2dbec..00000000000
--- a/invokeai/frontend/web/src/features/nodes/components/sidePanel/NewWorkflowButton.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { IconButton } from '@invoke-ai/ui-library';
-import { useNewWorkflow } from 'features/workflowLibrary/components/NewWorkflowConfirmationAlertDialog';
-import type { MouseEvent } from 'react';
-import { memo, useCallback } from 'react';
-import { useTranslation } from 'react-i18next';
-import { PiFilePlusBold } from 'react-icons/pi';
-
-export const NewWorkflowButton = memo(() => {
- const newWorkflow = useNewWorkflow();
-
- const { t } = useTranslation();
-
- const onClickNewWorkflow = useCallback(
- (e: MouseEvent) => {
- // We need to stop the event from propagating to the parent element, else the click will open the list menu
- e.stopPropagation();
- newWorkflow.createWithDialog();
- },
- [newWorkflow]
- );
-
- return (
- }
- />
- );
-});
-
-NewWorkflowButton.displayName = 'NewWorkflowButton';
diff --git a/invokeai/frontend/web/src/features/nodes/components/sidePanel/WorkflowListMenu/ActiveWorkflowNameAndActions.tsx b/invokeai/frontend/web/src/features/nodes/components/sidePanel/WorkflowListMenu/ActiveWorkflowNameAndActions.tsx
index 31bb655522f..3bb2dff02bb 100644
--- a/invokeai/frontend/web/src/features/nodes/components/sidePanel/WorkflowListMenu/ActiveWorkflowNameAndActions.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/sidePanel/WorkflowListMenu/ActiveWorkflowNameAndActions.tsx
@@ -1,9 +1,9 @@
import { Flex, Spacer } from '@invoke-ai/ui-library';
import { useAppSelector } from 'app/store/storeHooks';
-import { NewWorkflowButton } from 'features/nodes/components/sidePanel/NewWorkflowButton';
import { WorkflowListMenuTrigger } from 'features/nodes/components/sidePanel/WorkflowListMenu/WorkflowListMenuTrigger';
import { WorkflowViewEditToggleButton } from 'features/nodes/components/sidePanel/WorkflowViewEditToggleButton';
import { selectWorkflowMode } from 'features/nodes/store/workflowSlice';
+import { WorkflowLibraryMenu } from 'features/workflowLibrary/components/WorkflowLibraryMenu/WorkflowLibraryMenu';
import { memo } from 'react';
import SaveWorkflowButton from './SaveWorkflowButton';
@@ -17,7 +17,7 @@ export const ActiveWorkflowNameAndActions = memo(() => {
{mode === 'edit' && }
-
+
);
});
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SettingsMenuItem.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SettingsMenuItem.tsx
deleted file mode 100644
index 59699427951..00000000000
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SettingsMenuItem.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { MenuItem } from '@invoke-ai/ui-library';
-import { useWorkflowEditorSettingsModal } from 'features/nodes/components/flow/panels/TopRightPanel/WorkflowEditorSettings';
-import { memo } from 'react';
-import { useTranslation } from 'react-i18next';
-import { PiGearSixFill } from 'react-icons/pi';
-
-const DownloadWorkflowMenuItem = () => {
- const { t } = useTranslation();
- const modal = useWorkflowEditorSettingsModal();
-
- return (
- } onClick={modal.setTrue}>
- {t('nodes.workflowSettings')}
-
- );
-};
-
-export default memo(DownloadWorkflowMenuItem);
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/WorkflowLibraryMenu.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/WorkflowLibraryMenu.tsx
index 73e9f5d4ba6..25da6bd4dea 100644
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/WorkflowLibraryMenu.tsx
+++ b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/WorkflowLibraryMenu.tsx
@@ -13,13 +13,12 @@ import LoadWorkflowFromGraphMenuItem from 'features/workflowLibrary/components/W
import { NewWorkflowMenuItem } from 'features/workflowLibrary/components/WorkflowLibraryMenu/NewWorkflowMenuItem';
import SaveWorkflowAsMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowAsMenuItem';
import SaveWorkflowMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowMenuItem';
-import SettingsMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/SettingsMenuItem';
import UploadWorkflowMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/UploadWorkflowMenuItem';
import { memo } from 'react';
import { useTranslation } from 'react-i18next';
import { PiDotsThreeOutlineFill } from 'react-icons/pi';
-const WorkflowLibraryMenu = () => {
+export const WorkflowLibraryMenu = memo(() => {
const { t } = useTranslation();
const { isOpen, onOpen, onClose } = useDisclosure();
const shift = useShiftModifier();
@@ -31,6 +30,8 @@ const WorkflowLibraryMenu = () => {
aria-label={t('workflows.workflowEditorMenu')}
icon={}
pointerEvents="auto"
+ size="sm"
+ variant="ghost"
/>
@@ -39,13 +40,10 @@ const WorkflowLibraryMenu = () => {
-
-
{shift && }
{shift && }
);
-};
-
-export default memo(WorkflowLibraryMenu);
+});
+WorkflowLibraryMenu.displayName = 'WorkflowLibraryMenu';