mirror of
https://github.com/mediacms-io/mediacms.git
synced 2025-11-06 15:38:53 -05:00
fix: Edit: Chapter: When undoing / redoing edits, the edits are not saved
This commit is contained in:
parent
bd786c0fe6
commit
d9aee11d44
@ -847,6 +847,7 @@ const TimelineControls = ({
|
|||||||
document.addEventListener('update-trim', handleTrimUpdate as EventListener);
|
document.addEventListener('update-trim', handleTrimUpdate as EventListener);
|
||||||
document.addEventListener('delete-segment', scheduleAutoSave);
|
document.addEventListener('delete-segment', scheduleAutoSave);
|
||||||
document.addEventListener('split-segment', scheduleAutoSave);
|
document.addEventListener('split-segment', scheduleAutoSave);
|
||||||
|
document.addEventListener('undo-redo-autosave', scheduleAutoSave);
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
logger.debug('Cleaning up auto-save event listeners...');
|
logger.debug('Cleaning up auto-save event listeners...');
|
||||||
@ -855,6 +856,7 @@ const TimelineControls = ({
|
|||||||
document.removeEventListener('update-trim', handleTrimUpdate as EventListener);
|
document.removeEventListener('update-trim', handleTrimUpdate as EventListener);
|
||||||
document.removeEventListener('delete-segment', scheduleAutoSave);
|
document.removeEventListener('delete-segment', scheduleAutoSave);
|
||||||
document.removeEventListener('split-segment', scheduleAutoSave);
|
document.removeEventListener('split-segment', scheduleAutoSave);
|
||||||
|
document.removeEventListener('undo-redo-autosave', scheduleAutoSave);
|
||||||
|
|
||||||
// Clear any pending auto-save timer
|
// Clear any pending auto-save timer
|
||||||
if (autoSaveTimerRef.current) {
|
if (autoSaveTimerRef.current) {
|
||||||
|
|||||||
@ -620,6 +620,12 @@ const useVideoChapters = () => {
|
|||||||
setSplitPoints([...previousState.splitPoints]);
|
setSplitPoints([...previousState.splitPoints]);
|
||||||
setClipSegments(JSON.parse(JSON.stringify(previousState.clipSegments)));
|
setClipSegments(JSON.parse(JSON.stringify(previousState.clipSegments)));
|
||||||
setHistoryPosition(historyPosition - 1);
|
setHistoryPosition(historyPosition - 1);
|
||||||
|
|
||||||
|
// Trigger auto-save by dispatching a custom event
|
||||||
|
setTimeout(() => {
|
||||||
|
const event = new CustomEvent('undo-redo-autosave');
|
||||||
|
document.dispatchEvent(event);
|
||||||
|
}, 10);
|
||||||
} else {
|
} else {
|
||||||
logger.debug('Cannot undo: at earliest history position');
|
logger.debug('Cannot undo: at earliest history position');
|
||||||
}
|
}
|
||||||
@ -648,6 +654,12 @@ const useVideoChapters = () => {
|
|||||||
setSplitPoints([...nextState.splitPoints]);
|
setSplitPoints([...nextState.splitPoints]);
|
||||||
setClipSegments(JSON.parse(JSON.stringify(nextState.clipSegments)));
|
setClipSegments(JSON.parse(JSON.stringify(nextState.clipSegments)));
|
||||||
setHistoryPosition(historyPosition + 1);
|
setHistoryPosition(historyPosition + 1);
|
||||||
|
|
||||||
|
// Trigger auto-save by dispatching a custom event
|
||||||
|
setTimeout(() => {
|
||||||
|
const event = new CustomEvent('undo-redo-autosave');
|
||||||
|
document.dispatchEvent(event);
|
||||||
|
}, 10);
|
||||||
} else {
|
} else {
|
||||||
logger.debug('Cannot redo: at latest history position');
|
logger.debug('Cannot redo: at latest history position');
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user