"use client"; import { useElementSelection } from "@/timeline/hooks/element/use-element-selection"; import { TimelineElement } from "./timeline-element"; import type { TimelineTrack } from "@/timeline"; import type { TimelineElement as TimelineElementType } from "@/timeline"; import { TIMELINE_LAYERS } from "./layers"; import type { ElementDragView } from "@/timeline"; interface TimelineTrackContentProps { track: TimelineTrack; zoomLevel: number; dragView: ElementDragView; onResizeStart: (params: { event: React.MouseEvent; element: TimelineElementType; track: TimelineTrack; side: "left" | "right"; }) => void; onElementMouseDown: (params: { event: React.MouseEvent; element: TimelineElementType; track: TimelineTrack; }) => void; onElementClick: (params: { event: React.MouseEvent; element: TimelineElementType; track: TimelineTrack; }) => void; onTrackMouseDown?: (event: React.MouseEvent) => void; onTrackMouseUp?: (event: React.MouseEvent) => void; shouldIgnoreClick?: () => boolean; targetElementId?: string | null; } export function TimelineTrackContent({ track, zoomLevel, dragView, onResizeStart, onElementMouseDown, onElementClick, onTrackMouseDown, onTrackMouseUp, shouldIgnoreClick, targetElementId = null, }: TimelineTrackContentProps) { const { isElementSelected } = useElementSelection(); return (