summaryrefslogtreecommitdiff
path: root/apps/web/src/hooks
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-09-02 23:07:11 +0200
committerMaze Winther <mazewinther@gmail.com>2025-09-02 23:07:11 +0200
commit167e2b83dc072f5d80ab0bf0d3f786a993248c70 (patch)
tree95230791811fb0e89f70f8773e4d7c7aa934300b /apps/web/src/hooks
parentc5c32a1e34d8ddeb586a99139ab97327c5c8b465 (diff)
downloadopencut-167e2b83dc072f5d80ab0bf0d3f786a993248c70.tar.gz
feat: add support for deleting/splitting multiple elements instead of single
Diffstat (limited to 'apps/web/src/hooks')
-rw-r--r--apps/web/src/hooks/use-editor-actions.ts13
-rw-r--r--apps/web/src/hooks/use-playback-controls.ts6
2 files changed, 7 insertions, 12 deletions
diff --git a/apps/web/src/hooks/use-editor-actions.ts b/apps/web/src/hooks/use-editor-actions.ts
index 974f9db5..9287d2e0 100644
--- a/apps/web/src/hooks/use-editor-actions.ts
+++ b/apps/web/src/hooks/use-editor-actions.ts
@@ -13,8 +13,8 @@ export function useEditorActions() {
selectedElements,
clearSelectedElements,
setSelectedElements,
- removeElementFromTrack,
- splitElement,
+ deleteSelected,
+ splitSelected,
addElementToTrack,
snappingEnabled,
toggleSnapping,
@@ -135,7 +135,7 @@ export function useEditorActions() {
(element.duration - element.trimStart - element.trimEnd);
if (currentTime > effectiveStart && currentTime < effectiveEnd) {
- splitElement(trackId, elementId, currentTime);
+ splitSelected(currentTime, trackId, elementId);
} else {
toast.error("Playhead must be within selected element");
}
@@ -150,12 +150,7 @@ export function useEditorActions() {
if (selectedElements.length === 0) {
return;
}
- selectedElements.forEach(
- ({ trackId, elementId }: { trackId: string; elementId: string }) => {
- removeElementFromTrack(trackId, elementId);
- }
- );
- clearSelectedElements();
+ deleteSelected();
},
undefined
);
diff --git a/apps/web/src/hooks/use-playback-controls.ts b/apps/web/src/hooks/use-playback-controls.ts
index ecbd1232..c27911d2 100644
--- a/apps/web/src/hooks/use-playback-controls.ts
+++ b/apps/web/src/hooks/use-playback-controls.ts
@@ -9,7 +9,7 @@ export const usePlaybackControls = () => {
const {
selectedElements,
tracks,
- splitElement,
+ splitSelected,
splitAndKeepLeft,
splitAndKeepRight,
separateAudio,
@@ -37,8 +37,8 @@ export const usePlaybackControls = () => {
return;
}
- splitElement(trackId, elementId, currentTime);
- }, [selectedElements, tracks, currentTime, splitElement]);
+ splitSelected(currentTime, trackId, elementId);
+ }, [selectedElements, tracks, currentTime, splitSelected]);
const handleSplitAndKeepLeftCallback = useCallback(() => {
if (selectedElements.length !== 1) {