feat: copy/pasting for elements

This commit is contained in:
Maze Winther
2025-08-28 22:37:51 +02:00
parent 70a9bfebb1
commit a7d90f7eac
6 changed files with 136 additions and 7 deletions
@@ -51,6 +51,7 @@ export function TimelineElement({
rippleEditingEnabled,
toggleElementHidden,
toggleElementMuted,
copySelected,
} = useTimelineStore();
const { currentTime } = usePlaybackStore();
@@ -116,6 +117,11 @@ export function TimelineElement({
});
};
const handleElementCopyContext = (e: React.MouseEvent) => {
e.stopPropagation();
copySelected();
};
const handleElementDeleteContext = (e: React.MouseEvent) => {
e.stopPropagation();
if (rippleEditingEnabled) {
@@ -330,6 +336,10 @@ export function TimelineElement({
<Scissors className="h-4 w-4 mr-2" />
Split at playhead
</ContextMenuItem>
<ContextMenuItem onClick={handleElementCopyContext}>
<Copy className="h-4 w-4 mr-2" />
Copy element
</ContextMenuItem>
<ContextMenuItem onClick={handleToggleElementContext}>
{hasAudio ? (
isMuted ? (