import { useCallback, useRef } from "react" import { cn } from "@/lib/utils" import { useTimelineMarkers } from "../../hooks/use-timeline-markers" import { TimelineMarker } from "./timeline-marker" interface TimelineMarkersLayerProps { timeScale: number scrollOffset: number containerWidth: number currentTime: number duration: number className?: string } export function TimelineMarkersLayer({ timeScale, scrollOffset, _containerWidth, currentTime, duration, className, }: TimelineMarkersLayerProps) { const layerRef = useRef(null) const { markers, updateMarker, removeMarker, goToMarker } = useTimelineMarkers() // Обработка перетаскивания маркера const handleMarkerDrag = useCallback( (markerId: string, newTime: number) => { // Ограничиваем время в пределах timeline const clampedTime = Math.max(0, Math.min(duration, newTime)) updateMarker(markerId, { time: clampedTime }) }, [duration, updateMarker], ) // Обработка клика на маркер const handleMarkerClick = useCallback( (markerId: string) => { goToMarker(markerId) }, [goToMarker], ) // Обработка удаления маркера const handleMarkerDelete = useCallback( (markerId: string) => { removeMarker(markerId) }, [removeMarker], ) return (
{/* Линия текущего времени */}
{/* Маркеры */} {markers.map((marker) => ( ))}
) }