fix: multi-item MOVE also discarded cross-track updates

Same bug as copy: return statement only updated
targetTrackId/drag.trackId, discarding items from other tracks.
Fix: always return { sections: midSections, midiItems: midMidis }
for ALL tracks in the map (arrays are sliced per-track).
This commit is contained in:
2026-07-27 22:27:24 +07:00
parent b84507bd64
commit 292c787a31
2 changed files with 2 additions and 4 deletions
+1 -3
View File
@@ -11832,9 +11832,7 @@ const App = () => {
if (idx >= 0) midMidis[idx] = { ...midMidis[idx], startTime: Math.max(0, newVal) };
}
});
return t.id === targetTrackId
? { ...t, sections: midSections, midiItems: midMidis }
: { ...t, sections: (t.id === drag.trackId ? midSections : t.sections), midiItems: (t.id === drag.trackId ? midMidis : t.midiItems) };
return { ...t, sections: midSections, midiItems: midMidis };
}
const items = drag.itemType === 'section' ? (t.sections || []) : (t.midiItems || []);
const updatedItems = items.filter(it => it.id !== drag.itemId);