Merge origin/master: resolve CSS conflicts, keep both sides

This commit is contained in:
2026-06-04 16:22:40 +08:00
80 changed files with 5491 additions and 3557 deletions
+20 -7
View File
@@ -2645,7 +2645,23 @@ function CanvasPage({
}
: null;
})()
: null;
: connectionDropMenu
? (() => {
const source = getNodePortPoint(connectionDropMenu.sourcePort);
const target = getCanvasWorldPointFromClient(connectionDropMenu.originLeft, connectionDropMenu.originTop);
return source
? {
id: "pending-link-preview",
sourceX: source.x,
sourceY: source.y,
targetX: target.x,
targetY: target.y,
sourceSide: connectionDropMenu.sourcePort.side,
targetSide: null,
}
: null;
})()
: null;
const openCanvasAddNodeMenu = useCallback((clientX: number, clientY: number) => {
const menuPosition = positionFloatingMenu(clientX, clientY, 260, 390, 0);
@@ -2815,6 +2831,8 @@ function CanvasPage({
originTop: event.clientY,
sourcePort: connectorDrag.port,
});
setPendingLinkPort(null);
setPendingLinkPreviewPoint(null);
}
} else {
clearPendingConnector();
@@ -2839,7 +2857,7 @@ function CanvasPage({
}, [selectedNode]);
const handleCanvasMouseMove = (event: MouseEvent<HTMLElement>) => {
if (!pendingLinkPort) return;
if (!pendingLinkPort || connectionDropMenu) return;
setPendingLinkPreviewPoint(getCanvasWorldPointFromClient(event.clientX, event.clientY));
};
@@ -5532,11 +5550,6 @@ function CanvasPage({
role="menu"
onClick={(event) => event.stopPropagation()}
onContextMenu={(event) => event.preventDefault()}
onMouseMove={(event) => {
if (pendingLinkPort) {
setPendingLinkPreviewPoint(getCanvasWorldPointFromClient(event.clientX, event.clientY));
}
}}
>
<div className="studio-canvas-add-node-menu__title"></div>
<button