diff --git a/src/components/video-editor/timeline/Item.tsx b/src/components/video-editor/timeline/Item.tsx
index 8fa210b..d2b80c7 100644
--- a/src/components/video-editor/timeline/Item.tsx
+++ b/src/components/video-editor/timeline/Item.tsx
@@ -1,6 +1,6 @@
import type { Span } from "dnd-timeline";
import { useItem } from "dnd-timeline";
-import { Gauge, MessageSquare, Scissors, ZoomIn } from "lucide-react";
+import { Gauge, MessageSquare, MousePointer2, Scissors, ZoomIn } from "lucide-react";
import { useMemo } from "react";
import { useScopedT } from "@/contexts/I18nContext";
import { cn } from "@/lib/utils";
@@ -15,6 +15,7 @@ interface ItemProps {
onSelect?: () => void;
zoomDepth?: number;
speedValue?: number;
+ isAutoFocus?: boolean;
variant?: "zoom" | "trim" | "annotation" | "speed" | "blur";
}
@@ -46,6 +47,7 @@ export default function Item({
onSelect,
zoomDepth = 1,
speedValue,
+ isAutoFocus = false,
variant = "zoom",
children,
}: ItemProps) {
@@ -134,6 +136,12 @@ export default function Item({
{ZOOM_LABELS[zoomDepth] || `${zoomDepth}×`}
+ {isAutoFocus && (
+
+ )}
>
) : isTrim ? (
<>
diff --git a/src/components/video-editor/timeline/TimelineEditor.tsx b/src/components/video-editor/timeline/TimelineEditor.tsx
index b1254b5..6fe3474 100644
--- a/src/components/video-editor/timeline/TimelineEditor.tsx
+++ b/src/components/video-editor/timeline/TimelineEditor.tsx
@@ -103,6 +103,7 @@ interface TimelineRenderItem {
label: string;
zoomDepth?: number;
speedValue?: number;
+ isAutoFocus?: boolean;
variant: "zoom" | "trim" | "annotation" | "speed" | "blur";
}
@@ -682,6 +683,7 @@ function Timeline({
isSelected={item.id === selectedZoomId}
onSelect={() => onSelectZoom?.(item.id)}
zoomDepth={item.zoomDepth}
+ isAutoFocus={item.isAutoFocus}
variant="zoom"
>
{item.label}
@@ -1337,6 +1339,7 @@ export default function TimelineEditor({
span: { start: region.startMs, end: region.endMs },
label: t("labels.zoomItem", { index: String(index + 1) }),
zoomDepth: region.depth,
+ isAutoFocus: region.focusMode === "auto",
variant: "zoom",
}));