import React, { useRef, useState } from 'react'; import { Upload, X, Image as ImageIcon } from 'lucide-react'; interface ImageUploadProps { onImageSelect: (image: string | null) => void; currentImage: string | null; disabled?: boolean; } export const ImageUpload: React.FC = ({ onImageSelect, currentImage, disabled = false }) => { const fileInputRef = useRef(null); const [preview, setPreview] = useState(currentImage); const handleFileChange = (e: React.ChangeEvent) => { const file = e.target.files?.[0]; if (file) { const reader = new FileReader(); reader.onloadend = () => { const result = reader.result as string; setPreview(result); onImageSelect(result); }; reader.readAsDataURL(file); } }; const handleRemove = () => { setPreview(null); onImageSelect(null); if (fileInputRef.current) { fileInputRef.current.value = ''; } }; const handleClick = () => { if (!disabled) { fileInputRef.current?.click(); } }; return (
{preview ? (
Preview
) : ( )}
); };