import { type ReactNode, useEffect } from 'react' import { createPortal } from 'react-dom' import { X } from 'lucide-react' import { cn } from '@/lib' interface MobileDrawerProps { open: boolean onClose: () => void side?: 'left' | 'right' title: string children: ReactNode } // 모바일 전용 슬라이드 드로어(lg 미만). 데스크톱에선 절대 노출되지 않도록 lg:hidden 을 강제한다. export function MobileDrawer({ open, onClose, side = 'left', title, children }: MobileDrawerProps) { useEffect(() => { if (!open) return const onKey = (e: KeyboardEvent) => e.key === 'Escape' && onClose() window.addEventListener('keydown', onKey) return () => window.removeEventListener('keydown', onKey) }, [open, onClose]) if (!open) return null return createPortal(