fix: undo for resizing timeline elements

This commit is contained in:
Maze Winther
2025-07-21 14:46:28 +02:00
parent aeb9cfc6b8
commit a2a9bef1d8
2 changed files with 68 additions and 25 deletions
+28 -9
View File
@@ -106,17 +106,20 @@ interface TimelineStore {
trackId: string,
elementId: string,
trimStart: number,
trimEnd: number
trimEnd: number,
pushHistory?: boolean
) => void;
updateElementDuration: (
trackId: string,
elementId: string,
duration: number
duration: number,
pushHistory?: boolean
) => void;
updateElementStartTime: (
trackId: string,
elementId: string,
startTime: number
startTime: number,
pushHistory?: boolean
) => void;
toggleTrackMute: (trackId: string) => void;
@@ -687,8 +690,14 @@ export const useTimelineStore = create<TimelineStore>((set, get) => {
updateTracksAndSave(newTracks);
},
updateElementTrim: (trackId, elementId, trimStart, trimEnd) => {
get().pushHistory();
updateElementTrim: (
trackId,
elementId,
trimStart,
trimEnd,
pushHistory = true
) => {
if (pushHistory) get().pushHistory();
updateTracksAndSave(
get()._tracks.map((track) =>
track.id === trackId
@@ -705,8 +714,13 @@ export const useTimelineStore = create<TimelineStore>((set, get) => {
);
},
updateElementDuration: (trackId, elementId, duration) => {
get().pushHistory();
updateElementDuration: (
trackId,
elementId,
duration,
pushHistory = true
) => {
if (pushHistory) get().pushHistory();
updateTracksAndSave(
get()._tracks.map((track) =>
track.id === trackId
@@ -721,8 +735,13 @@ export const useTimelineStore = create<TimelineStore>((set, get) => {
);
},
updateElementStartTime: (trackId, elementId, startTime) => {
get().pushHistory();
updateElementStartTime: (
trackId,
elementId,
startTime,
pushHistory = true
) => {
if (pushHistory) get().pushHistory();
updateTracksAndSave(
get()._tracks.map((track) =>
track.id === trackId