import { cn } from "@/lib/utils" import { useEditModeContext } from "../../hooks/use-edit-mode" import { EDIT_MODE_CONFIGS, EDIT_MODES } from "../../types/edit-modes" interface EditModeOverlayProps { className?: string } export function EditModeOverlay({ className }: EditModeOverlayProps) { const { editMode } = useEditModeContext() const config = EDIT_MODE_CONFIGS[editMode] // Don't show overlay for select mode if (editMode === EDIT_MODES.SELECT) return null return (
{/* Icon would go here - using text for now */} {config.hotkey}
{config.name} Mode
{config.description}
Press ESC to exit
) } // Cursor overlay for custom cursors interface EditCursorOverlayProps { mousePosition: { x: number; y: number } | null isActive: boolean } export function EditCursorOverlay({ mousePosition, isActive }: EditCursorOverlayProps) { const { editMode } = useEditModeContext() if (!isActive || !mousePosition || editMode === EDIT_MODES.SELECT) { return null } const getCursorIcon = () => { switch (editMode) { case EDIT_MODES.TRIM: return case EDIT_MODES.RIPPLE: return case EDIT_MODES.ROLL: return case EDIT_MODES.SLIP: return case EDIT_MODES.SLIDE: return case EDIT_MODES.SPLIT: return case EDIT_MODES.RATE: return default: return null } } const cursor = getCursorIcon() if (!cursor) return null return (
{cursor}
) } // Custom cursor components function TrimCursor() { return (
) } function RippleCursor() { return (
) } function RollCursor() { return (
) } function SlipCursor() { return (
) } function SlideCursor() { return (
) } function SplitCursor() { return (
) } function RateCursor() { return (
2x
) }