From b0165da764971b8e7f37c9657d0aa81f9bc2dcc9 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Mon, 2 Mar 2026 16:30:50 +0100 Subject: [PATCH] fix: selecting multiple effects didn't work --- .../timeline/element/use-keyframe-drag.ts | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/apps/web/src/hooks/timeline/element/use-keyframe-drag.ts b/apps/web/src/hooks/timeline/element/use-keyframe-drag.ts index 92dfb9a9..2dd7cb3e 100644 --- a/apps/web/src/hooks/timeline/element/use-keyframe-drag.ts +++ b/apps/web/src/hooks/timeline/element/use-keyframe-drag.ts @@ -201,7 +201,8 @@ export function useKeyframeDrag({ isKeyframeSelected({ keyframe }), ); - if (!anySelected) { + const isModifierKey = event.shiftKey || event.metaKey || event.ctrlKey; + if (!anySelected && !isModifierKey) { setKeyframeSelection({ keyframes }); } @@ -233,21 +234,21 @@ export function useKeyframeDrag({ Math.abs(event.clientX - mouseDownXRef.current) > DRAG_THRESHOLD_PX; mouseDownXRef.current = null; - if (wasDrag) return; + if (wasDrag) return; - if (event.shiftKey) { - selectKeyframeRange({ - orderedKeyframes, - targetKeyframes: keyframes, - isAdditive: event.metaKey || event.ctrlKey, - }); - return; - } - - toggleKeyframeSelection({ - keyframes, - isMultiKey: event.metaKey || event.ctrlKey, + if (event.shiftKey) { + selectKeyframeRange({ + orderedKeyframes, + targetKeyframes: keyframes, + isAdditive: event.metaKey || event.ctrlKey, }); + return; + } + + toggleKeyframeSelection({ + keyframes, + isMultiKey: event.metaKey || event.ctrlKey, + }); }, [toggleKeyframeSelection, selectKeyframeRange], );