import { Image as AntImage } from 'antd'; import { useEffect, useState } from 'react'; import { Authorization } from '@/constants/authorization'; import { getAuthorization } from '@/utils/authorization-util'; interface ImageProps { src: string; preview?: boolean; } const Image = ({ src, preview = false }: ImageProps) => { const [imageSrc, setImageSrc] = useState(''); useEffect(() => { const loadImage = async () => { try { const response = await fetch(src, { headers: { [Authorization]: getAuthorization(), }, }); const blob = await response.blob(); const objectUrl = URL.createObjectURL(blob); setImageSrc(objectUrl); } catch (error) { console.error('Failed to load image:', error); } }; loadImage(); return () => { if (imageSrc) { URL.revokeObjectURL(imageSrc); } }; }, [src]); return imageSrc ? : null; }; export default Image;