summaryrefslogtreecommitdiff
path: root/apps/web/src/types
diff options
context:
space:
mode:
authorMaze <167211895+mazeincoding@users.noreply.github.com>2025-07-17 17:22:42 +0200
committerGitHub <noreply@github.com>2025-07-17 17:22:42 +0200
commitb97a30824e3d9758850281aa40e64d074126d1cb (patch)
tree6b3f3e246ee326adf3371861610433bb5c711014 /apps/web/src/types
parent502725b98ec53b1668ceeae1a9f5463c64cdddf6 (diff)
parentfaf5a121ac271666a92218fc46be92e25c715ee3 (diff)
downloadopencut-b97a30824e3d9758850281aa40e64d074126d1cb.tar.gz
Merge pull request #283 from KhacTuanIT/feature/optimize-timeline-ruler
Optimize timeline performance
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;
+}