diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-02-08 18:01:45 +0100 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-02-08 18:01:45 +0100 |
| commit | dc0b57cd6a5517dc6b57c6ebd1d0f6f7c8ee5e40 (patch) | |
| tree | 065b4428b3a92266e2e3ea9c24023149f48c60e9 /apps/web/src/lib/commands/timeline | |
| parent | a218a52d2d6ffa3d4b358d5a50e0816c16ebd51e (diff) | |
| download | opencut-dc0b57cd6a5517dc6b57c6ebd1d0f6f7c8ee5e40.tar.gz | |
refactor: replace text-specific update command with generic
Diffstat (limited to 'apps/web/src/lib/commands/timeline')
| -rw-r--r-- | apps/web/src/lib/commands/timeline/element/index.ts | 2 | ||||
| -rw-r--r-- | apps/web/src/lib/commands/timeline/element/update-element.ts (renamed from apps/web/src/lib/commands/timeline/element/update-text-element.ts) | 23 |
2 files changed, 5 insertions, 20 deletions
diff --git a/apps/web/src/lib/commands/timeline/element/index.ts b/apps/web/src/lib/commands/timeline/element/index.ts index 8b719afa..3f10baa4 100644 --- a/apps/web/src/lib/commands/timeline/element/index.ts +++ b/apps/web/src/lib/commands/timeline/element/index.ts @@ -5,7 +5,7 @@ export { UpdateElementTrimCommand } from "./update-element-trim"; export { UpdateElementDurationCommand } from "./update-element-duration"; export { UpdateElementStartTimeCommand } from "./update-element-start-time"; export { SplitElementsCommand } from "./split-elements"; -export { UpdateTextElementCommand } from "./update-text-element"; +export { UpdateElementCommand } from "./update-element"; export { ToggleElementsVisibilityCommand } from "./toggle-elements-visibility"; export { ToggleElementsMutedCommand } from "./toggle-elements-muted"; export { MoveElementCommand } from "./move-elements"; diff --git a/apps/web/src/lib/commands/timeline/element/update-text-element.ts b/apps/web/src/lib/commands/timeline/element/update-element.ts index e3cc4a32..4ee54726 100644 --- a/apps/web/src/lib/commands/timeline/element/update-text-element.ts +++ b/apps/web/src/lib/commands/timeline/element/update-element.ts @@ -1,27 +1,14 @@ import { Command } from "@/lib/commands/base-command"; -import type { TextElement, TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/types/timeline"; import { EditorCore } from "@/core"; -export class UpdateTextElementCommand extends Command { +export class UpdateElementCommand extends Command { private savedState: TimelineTrack[] | null = null; constructor( private trackId: string, private elementId: string, - private updates: Partial< - Pick< - TextElement, - | "content" - | "fontSize" - | "fontFamily" - | "color" - | "backgroundColor" - | "textAlign" - | "fontWeight" - | "fontStyle" - | "textDecoration" - > - >, + private updates: Partial<Record<string, unknown>>, ) { super(); } @@ -33,9 +20,7 @@ export class UpdateTextElementCommand extends Command { const updatedTracks = this.savedState.map((t) => { if (t.id !== this.trackId) return t; const newElements = t.elements.map((el) => - el.id === this.elementId && el.type === "text" - ? { ...el, ...this.updates } - : el, + el.id === this.elementId ? { ...el, ...this.updates } : el, ); return { ...t, elements: newElements } as typeof t; }); |
