diff --git a/frontend/src/agents/AgentPageHeader.tsx b/frontend/src/agents/AgentPageHeader.tsx
index 38439801..6d693f58 100644
--- a/frontend/src/agents/AgentPageHeader.tsx
+++ b/frontend/src/agents/AgentPageHeader.tsx
@@ -90,7 +90,7 @@ export default function AgentPageHeader({
{currentPage === 'overview' ? (
-
+
{displayName}
) : (
diff --git a/frontend/src/agents/workflow/WorkflowBuilder.tsx b/frontend/src/agents/workflow/WorkflowBuilder.tsx
index 8693d62e..d821d9f8 100644
--- a/frontend/src/agents/workflow/WorkflowBuilder.tsx
+++ b/frontend/src/agents/workflow/WorkflowBuilder.tsx
@@ -100,6 +100,7 @@ import {
import WorkflowPreview from './WorkflowPreview';
import type { Model } from '../../models/types';
+import { useOutsideAlerter } from '@/hooks';
const PRIMARY_ACTION_SPINNER_DELAY_MS = 180;
@@ -774,26 +775,22 @@ function WorkflowBuilderInner() {
showPreview,
]);
- const handlePanelBackdropClick = useCallback(() => {
+ const handlePaneClick = useCallback(() => {
setShowNodeConfig(false);
setSelectedNode(null);
+ setShowWorkflowSettings(false);
}, []);
- useEffect(() => {
- const handleClickOutside = (e: MouseEvent) => {
- if (
- workflowSettingsRef.current &&
- !workflowSettingsRef.current.contains(e.target as HTMLElement)
- ) {
- setShowWorkflowSettings(false);
- }
- };
- if (showWorkflowSettings) {
- document.addEventListener('mousedown', handleClickOutside);
- return () =>
- document.removeEventListener('mousedown', handleClickOutside);
- }
- }, [showWorkflowSettings]);
+ const handleCloseWorkflowSettings = useCallback(() => {
+ setShowWorkflowSettings(false);
+ }, []);
+
+ useOutsideAlerter(
+ workflowSettingsRef,
+ handleCloseWorkflowSettings,
+ [],
+ false,
+ );
useEffect(() => {
const loadModelsAndTools = async () => {
@@ -1940,6 +1937,7 @@ function WorkflowBuilderInner() {
onDrop={onDrop}
onDragOver={onDragOver}
onNodeClick={handleNodeClick}
+ onPaneClick={handlePaneClick}
onNodeDragStart={snapshotBeforeCanvasChange}
onSelectionDragStart={snapshotBeforeCanvasChange}
nodeTypes={nodeTypes}
@@ -1979,10 +1977,6 @@ function WorkflowBuilderInner() {
{showNodeConfig && selectedNode && (
<>
-