diff --git a/packages/ai-workspace-common/src/components/canvas/nodes/skill.tsx b/packages/ai-workspace-common/src/components/canvas/nodes/skill.tsx
index 313882de5..77233c24f 100644
--- a/packages/ai-workspace-common/src/components/canvas/nodes/skill.tsx
+++ b/packages/ai-workspace-common/src/components/canvas/nodes/skill.tsx
@@ -38,6 +38,7 @@ import { NodeResizer as NodeResizerComponent } from './shared/node-resizer';
import classNames from 'classnames';
import Moveable from 'react-moveable';
import { useUploadImage } from '@refly-packages/ai-workspace-common/hooks/use-upload-image';
+import { useEditorPerformance } from '@refly-packages/ai-workspace-common/context/editor-performance';
type SkillNode = Node
, 'skill'>;
@@ -115,7 +116,9 @@ export const SkillNode = memo(
const { operatingNodeId } = useCanvasStoreShallow((state) => ({
operatingNodeId: state.operatingNodeId,
}));
+ const { draggingNodeId } = useEditorPerformance();
const isOperating = operatingNodeId === id;
+ const isDragging = draggingNodeId === id;
const node = useMemo(() => getNode(id), [id, getNode]);
const { containerStyle, handleResize, updateSize } = useNodeSize({
id,
@@ -344,7 +347,7 @@ export const SkillNode = memo(
onMouseLeave={handleMouseLeave}
style={containerStyle}
>
-
+ {!isDragging && }
void;
+ draggingNodeId: string | null;
+ setDraggingNodeId: (nodeId: string | null) => void;
}
const EditorPerformanceContext = createContext({
isNodeDragging: false,
setIsNodeDragging: () => {},
+ draggingNodeId: null,
+ setDraggingNodeId: () => {},
});
export const EditorPerformanceProvider = ({ children }) => {
const [isNodeDragging, setIsNodeDragging] = useState(false);
+ const [draggingNodeId, setDraggingNodeId] = useState(null);
return (
-
+
{children}
);