From e793fe5c051650e1cf454a1f8b3e1d517d6ae8a6 Mon Sep 17 00:00:00 2001 From: Quang Tran <16215255+trmquang93@users.noreply.github.com> Date: Mon, 13 Apr 2026 21:30:15 +0700 Subject: [PATCH] feat: support shift/meta multi-select and multi-drag on screen image area --- src/components/ScreenNode.jsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/components/ScreenNode.jsx b/src/components/ScreenNode.jsx index 94866aa..2de3ef3 100644 --- a/src/components/ScreenNode.jsx +++ b/src/components/ScreenNode.jsx @@ -363,7 +363,7 @@ export function ScreenNode({ {/* Image */}
{ if (isSpaceHeld?.current) return; if (e.target.closest(".hotspot-area") || e.target.closest(".hotspot-drag-handle") || e.target.closest(".resize-handle") || e.target.closest(".comment-pin")) return; @@ -375,6 +375,18 @@ export function ScreenNode({ onCommentImageClick(e, screen.id, xPct, yPct); return; } + if (!isReadOnly) { + if (e.shiftKey || e.metaKey) { + e.stopPropagation(); + onToggleSelect?.("screen", screen.id); + return; + } + if (isMultiSelected) { + onMultiDragStart?.(e); + return; + } + } + onSelect(screen.id); if (screen.imageData && onImageAreaMouseDown) { onImageAreaMouseDown(e, screen.id); }