diff --git a/packages/studio/src/player/components/Timeline.tsx b/packages/studio/src/player/components/Timeline.tsx index d4b75f59f..810975875 100644 --- a/packages/studio/src/player/components/Timeline.tsx +++ b/packages/studio/src/player/components/Timeline.tsx @@ -1042,8 +1042,8 @@ export const Timeline = memo(function Timeline({ [onAssetDrop, onFileDrop], ); - const handleWheel = useCallback( - (e: React.WheelEvent) => { + const handlePinchWheel = useCallback( + (e: WheelEvent) => { if (!e.ctrlKey) return; const scroll = scrollRef.current; if (!scroll || durationRef.current <= 0 || fitPpsRef.current <= 0 || ppsRef.current <= 0) { @@ -1084,6 +1084,15 @@ export const Timeline = memo(function Timeline({ [setManualZoomPercent, setZoomMode], ); + useEffect(() => { + const scroll = scrollRef.current; + if (!scroll) return; + scroll.addEventListener("wheel", handlePinchWheel, { passive: false, capture: true }); + return () => { + scroll.removeEventListener("wheel", handlePinchWheel, { capture: true }); + }; + }, [handlePinchWheel, timelineReady, elements.length]); + if (!timelineReady || elements.length === 0) { return (
setIsDragOver(false)} onDrop={handleAssetDrop} - onWheel={handleWheel} onPointerDown={handlePointerDown} onPointerMove={handlePointerMove} onPointerUp={handlePointerUp}