Spaces:
Running
Running
Download FilePreview.tsx from lattmamb/visionbeta: direct link, hf CLI and curl.
- Browser
- Download file 1.08 kB
-
https://huggingface.co/spaces/lattmamb/visionbeta/resolve/main/FilePreview.tsx
- Command line
-
hf download hf://spaces/lattmamb/visionbeta/FilePreview.tsx
-
curl -L -o FilePreview.tsx https://huggingface.co/spaces/lattmamb/visionbeta/resolve/main/FilePreview.tsx
1.08 kB
| import React from 'react'; | |
| interface FilePreviewProps { | |
| files: File[]; | |
| imageDataList: string[]; | |
| onRemove: (index: number) => void; | |
| } | |
| const FilePreview: React.FC<FilePreviewProps> = ({ files, imageDataList, onRemove }) => { | |
| if (!files || files.length === 0) { | |
| return null; | |
| } | |
| return ( | |
| <div className="flex flex-row overflow-x-auto -mt-2"> | |
| {files.map((file, index) => ( | |
| <div key={file.name + file.size} className="mr-2 relative"> | |
| {imageDataList[index] && ( | |
| <div className="relative pt-4 pr-4"> | |
| <img src={imageDataList[index]} alt={file.name} className="max-h-20" /> | |
| <button | |
| onClick={() => onRemove(index)} | |
| className="absolute top-1 right-1 z-10 bg-black rounded-full w-5 h-5 shadow-md hover:bg-gray-900 transition-colors flex items-center justify-center" | |
| > | |
| <div className="i-ph:x w-3 h-3 text-gray-200" /> | |
| </button> | |
| </div> | |
| )} | |
| </div> | |
| ))} | |
| </div> | |
| ); | |
| }; | |
| export default FilePreview; | |