fix: items duplicate instead of moving t racks

This commit is contained in:
Hyteq
2025-06-23 14:19:56 +03:00
parent 3540226af5
commit c8e522a82f

View File

@ -64,7 +64,7 @@ export function Timeline() {
const handleDragEnter = (e: React.DragEvent) => { const handleDragEnter = (e: React.DragEvent) => {
// When something is dragged over the timeline, show overlay // When something is dragged over the timeline, show overlay
e.preventDefault(); e.preventDefault();
// Don't show overlay for timeline clips or other internal drags // Don't show overlay for timeline clips - they're handled by tracks
if (e.dataTransfer.types.includes("application/x-timeline-clip")) { if (e.dataTransfer.types.includes("application/x-timeline-clip")) {
return; return;
} }
@ -81,7 +81,7 @@ export function Timeline() {
const handleDragLeave = (e: React.DragEvent) => { const handleDragLeave = (e: React.DragEvent) => {
e.preventDefault(); e.preventDefault();
// Don't update state for timeline clips // Don't update state for timeline clips - they're handled by tracks
if (e.dataTransfer.types.includes("application/x-timeline-clip")) { if (e.dataTransfer.types.includes("application/x-timeline-clip")) {
return; return;
} }
@ -98,6 +98,12 @@ export function Timeline() {
setIsDragOver(false); setIsDragOver(false);
dragCounterRef.current = 0; dragCounterRef.current = 0;
// Ignore timeline clip drags - they're handled by track-specific handlers
const hasTimelineClip = e.dataTransfer.types.includes("application/x-timeline-clip");
if (hasTimelineClip) {
return;
}
const mediaItemData = e.dataTransfer.getData("application/x-media-item"); const mediaItemData = e.dataTransfer.getData("application/x-media-item");
if (mediaItemData) { if (mediaItemData) {
// Handle media item drops by creating new tracks // Handle media item drops by creating new tracks