summaryrefslogtreecommitdiff
path: root/apps/web/src/lib/clipboard/handlers/elements.ts
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2026-04-20 11:31:17 +0200
committerMaze Winther <mazewinther@gmail.com>2026-04-20 11:31:17 +0200
commit3e89d2998588f8e35c524e523ba2ee853f0f6475 (patch)
tree57221f96c1259b3b07e3ddf8c1adefc502b9d8eb /apps/web/src/lib/clipboard/handlers/elements.ts
parent729d10592f4e802f91c555c309ff3ba4b119f843 (diff)
downloadopencut-3e89d2998588f8e35c524e523ba2ee853f0f6475.tar.gz
refactor: restructure files to their domains, new preview overlay system, and dep graph
Diffstat (limited to 'apps/web/src/lib/clipboard/handlers/elements.ts')
-rw-r--r--apps/web/src/lib/clipboard/handlers/elements.ts48
1 files changed, 0 insertions, 48 deletions
diff --git a/apps/web/src/lib/clipboard/handlers/elements.ts b/apps/web/src/lib/clipboard/handlers/elements.ts
deleted file mode 100644
index 1b58ac78..00000000
--- a/apps/web/src/lib/clipboard/handlers/elements.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { PasteCommand } from "@/lib/commands/timeline";
-import type { ClipboardHandler } from "../types";
-
-export const ElementsClipboardHandler = {
- type: "elements",
-
- canCopy({ selectedElements }) {
- return selectedElements.length > 0;
- },
-
- copy({ editor, selectedElements }) {
- if (selectedElements.length === 0) {
- return null;
- }
-
- const results = editor.timeline.getElementsWithTracks({
- elements: selectedElements,
- });
- const items = results.map(({ track, element }) => {
- const { id: _elementId, ...elementWithoutId } = element;
- return {
- trackId: track.id,
- trackType: track.type,
- element: elementWithoutId,
- };
- });
-
- if (items.length === 0) {
- return null;
- }
-
- return {
- type: "elements",
- items,
- };
- },
-
- paste(entry, context) {
- if (entry.items.length === 0) {
- return null;
- }
-
- return new PasteCommand({
- time: context.time,
- clipboardItems: entry.items,
- });
- },
-} satisfies ClipboardHandler<"elements">;