import React, { useEffect, useState } from 'react'; export interface ImagePreviewProps { blobUrl?: string; blob?: Blob; alt?: string; } export const ImagePreview: React.FC = ({ blobUrl, blob, alt = 'Preview' }) => { const [internalUrl, setInternalUrl] = useState(null); useEffect(() => { if (blobUrl) { setInternalUrl(blobUrl); } else if (blob) { const url = URL.createObjectURL(blob); setInternalUrl(url); return () => URL.revokeObjectURL(url); } else { setInternalUrl(null); } }, [blob, blobUrl]); if (!internalUrl) { return (
No image available
); } return (
{alt}
); };