import { useEffect, useRef } from 'react' import { cn } from '../../lib/utils' interface MobileCommentProps { open: boolean onClose: () => void filePath: string lineNumber: number children?: React.ReactNode } export function MobileComment({ open, onClose, filePath, lineNumber, children }: MobileCommentProps) { const sheetRef = useRef(null) // Close on backdrop click useEffect(() => { if (!open) return const handler = (e: MouseEvent) => { if (sheetRef.current && !sheetRef.current.contains(e.target as Node)) { onClose() } } document.addEventListener('mousedown', handler) return () => document.removeEventListener('mousedown', handler) }, [open, onClose]) // Prevent body scroll while open useEffect(() => { if (open) { document.body.style.overflow = 'hidden' } else { document.body.style.overflow = '' } return () => { document.body.style.overflow = '' } }, [open]) return ( <> {/* Backdrop */}
{/* Bottom sheet */}
{/* Handle */}
{/* Header */}

{filePath}

Line {lineNumber}

{/* Content */}
{children ?? (