import { X, Calendar } from 'lucide-react'; import { useRef, useEffect } from 'react'; const HistoryModal = ({ isOpen, onClose, history, onSelectImage, currentDimension }) => { if (!isOpen) return null; const modalContentRef = useRef(null); // Handle click outside to close useEffect(() => { function handleClickOutside(event) { if (modalContentRef.current && !modalContentRef.current.contains(event.target)) { onClose(); } } // Add event listener when modal is open document.addEventListener('mousedown', handleClickOutside); // Clean up the event listener return () => { document.removeEventListener('mousedown', handleClickOutside); }; }, [onClose]); // Format date nicely const formatDate = (timestamp) => { const date = new Date(timestamp); const today = new Date(); const yesterday = new Date(today); yesterday.setDate(yesterday.getDate() - 1); // Check if it's today if (date.toDateString() === today.toDateString()) { return `Today, ${date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}`; } // Check if it's yesterday if (date.toDateString() === yesterday.toDateString()) { return `Yesterday, ${date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}`; } // Otherwise show full date return date.toLocaleDateString([], { month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit' }); }; return (