diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-03-02 16:30:50 +0100 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-03-02 16:30:50 +0100 |
| commit | b0165da764971b8e7f37c9657d0aa81f9bc2dcc9 (patch) | |
| tree | d108accbaadf93cb0a2a41e0b89e50891b92986d /apps/web | |
| parent | 228e2e4342bc170dc1e0d1ad805229e18d5bd957 (diff) | |
| download | opencut-b0165da764971b8e7f37c9657d0aa81f9bc2dcc9.tar.gz | |
fix: selecting multiple effects didn't work
Diffstat (limited to 'apps/web')
| -rw-r--r-- | apps/web/src/hooks/timeline/element/use-keyframe-drag.ts | 29 |
1 files 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], ); |
