import { Maximize2, MoveHorizontal } from "lucide-react" import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip" import { cn } from "@/lib/utils" import { useEditModeContext } from "../../hooks/use-edit-mode" import { TimelineClip } from "../../types" import { EDIT_MODES } from "../../types/edit-modes" interface SlipSlideHandlesProps { clip: TimelineClip isHovered: boolean isActive: boolean timeScale: number onSlipStart?: (mouseX: number) => void onSlideStart?: (mouseX: number) => void } export function SlipSlideHandles({ clip, isHovered, isActive, timeScale, onSlipStart, onSlideStart, }: SlipSlideHandlesProps) { const { editMode } = useEditModeContext() // Only show handles in slip or slide mode when hovering if (!isHovered || (editMode !== EDIT_MODES.SLIP && editMode !== EDIT_MODES.SLIDE)) { return null } const clipWidth = clip.duration * timeScale const clipLeft = clip.startTime * timeScale // Slip mode - show media boundaries if (editMode === EDIT_MODES.SLIP) { const mediaDuration = clip.mediaDuration || clip.duration const totalMediaWidth = mediaDuration * timeScale const offsetPixels = clip.offset * timeScale return ( <> {/* Media extent indicators */}
Slip Edit (Y)
Drag to slip media content
Slide Edit (U)
Drag to slide clip