import React, { useState, useEffect } from 'react' import { invoke } from '@tauri-apps/api/core' import { Video } from 'lucide-react' interface ProjectImageProps { imagePath: string alt: string className: string } import { convertFileSrc } from '@tauri-apps/api/core' const ProjectImage: React.FC = ({ imagePath, alt, className }) => { const [imageSrc, setImageSrc] = useState('') const [imageLoading, setImageLoading] = useState(true) useEffect(() => { const loadImage = async () => { if (!imagePath) { setImageLoading(false) return } if (imagePath.startsWith('http') || imagePath.startsWith('data:')) { setImageSrc(imagePath) setImageLoading(false) return } try { const dataUrl = convertFileSrc(imagePath) console.log({ dataUrl, imagePath }) setImageSrc(dataUrl) } catch (error) { console.error('Failed to read image:', error) } finally { setImageLoading(false) } } loadImage() }, [imagePath]) if (imageLoading) { return
} if (!imageSrc) { return (
) } return {alt} } export default ProjectImage