mirror of
https://github.com/webadderallorg/Recordly.git
synced 2026-09-24 14:55:37 +00:00
Merge pull request #604 from webadderallorg/fix/timeline-trim-lag
fix(timeline): smooth clip trim resize
This commit is contained in:
@@ -11,11 +11,7 @@ import { TimelineContext } from "dnd-timeline";
|
||||
import type { Dispatch, ReactNode, SetStateAction } from "react";
|
||||
import { useCallback, useRef } from "react";
|
||||
import type { TimelineRegionSpan } from "../../core/timelineTypes";
|
||||
import {
|
||||
clampRange,
|
||||
resolveDragEnd,
|
||||
resolveResizeEnd,
|
||||
} from "../../dnd/engine";
|
||||
import { clampRange, resolveDragEnd, resolveResizeEnd } from "../../dnd/engine";
|
||||
|
||||
interface TimelineWrapperProps {
|
||||
children: ReactNode;
|
||||
@@ -162,9 +158,10 @@ export default function TimelineWrapper({
|
||||
? (event.activatorEvent as PointerEvent).clientX + (event.delta?.x ?? 0)
|
||||
: undefined;
|
||||
if (span) showTooltip(span, screenX);
|
||||
onLiveSpanPreviewChange?.(event.active.id as string, span ?? null);
|
||||
// dnd-timeline mutates the active item's DOM during resize; React preview
|
||||
// renders here can reset that inline width/edge position and make trims stutter.
|
||||
},
|
||||
[onLiveSpanPreviewChange, showTooltip],
|
||||
[showTooltip],
|
||||
);
|
||||
|
||||
const hideTooltip = useCallback(() => showTooltip(null), [showTooltip]);
|
||||
|
||||
Reference in New Issue
Block a user