Files
ai_web/frontend/src/components/FileThumbnail.tsx
2026-01-29 13:18:59 +08:00

28 lines
559 B
TypeScript

import { useEffect, useState } from "react";
type FileThumbnailProps = {
file: File;
alt?: string;
className?: string;
};
export default function FileThumbnail({ file, alt, className }: FileThumbnailProps) {
const [src, setSrc] = useState<string>("");
useEffect(() => {
const url = URL.createObjectURL(file);
setSrc(url);
return () => {
URL.revokeObjectURL(url);
};
}, [file]);
return (
<img
src={src}
alt={alt || file.name}
className={className || "h-12 w-12 rounded object-cover"}
/>
);
}