summaryrefslogtreecommitdiff
path: root/apps/web/src/types
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-07-17 17:22:53 +0200
committerMaze Winther <mazewinther@gmail.com>2025-07-17 17:22:53 +0200
commit4e5e9756c81cb8c8885be652a1dbb56b179c2e04 (patch)
tree6b3f3e246ee326adf3371861610433bb5c711014 /apps/web/src/types
parentce47e88e3482a55e4ed4c1c790ce85fd9109a2ee (diff)
parentb97a30824e3d9758850281aa40e64d074126d1cb (diff)
downloadopencut-4e5e9756c81cb8c8885be652a1dbb56b179c2e04.tar.gz
Merge branch 'main' of https://github.com/mazeincoding/AppCut
Diffstat (limited to 'apps/web/src/types')
-rw-r--r--apps/web/src/types/timeline.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/apps/web/src/types/timeline.ts b/apps/web/src/types/timeline.ts
index 17dbb5d1..146205c4 100644
--- a/apps/web/src/types/timeline.ts
+++ b/apps/web/src/types/timeline.ts
@@ -1,5 +1,6 @@
import { MediaType } from "@/stores/media-store";
import { generateUUID } from "@/lib/utils";
+import { ReactNode } from "react";
export type TrackType = "media" | "text" | "audio";
@@ -155,3 +156,22 @@ export function validateElementTrackCompatibility(
return { isValid: true };
}
+
+export interface TimelineTick {
+ left: number;
+ label?: string;
+ isMajor?: boolean;
+}
+
+export interface TimelineCanvasRulerWrapperProps {
+ children: ReactNode;
+ onMouseDown?: (e: React.MouseEvent<HTMLDivElement>) => void;
+ className?: string;
+}
+
+export interface TimelineCanvasRulerProps {
+ zoomLevel: number;
+ duration: number;
+ width: number;
+ height?: number;
+}