File size: 795 Bytes
fb3b3ab db736e5 fb3b3ab db736e5 fb3b3ab db736e5 fb3b3ab |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import { getExtension } from '@/utils/document-util';
import SvgIcon from '../svg-icon';
import { useFetchDocumentThumbnailsByIds } from '@/hooks/document-hooks';
import { useEffect } from 'react';
import styles from './index.less';
interface IProps {
name: string;
id: string;
}
const FileIcon = ({ name, id }: IProps) => {
const fileExtension = getExtension(name);
const { data: fileThumbnails, setDocumentIds } =
useFetchDocumentThumbnailsByIds();
const fileThumbnail = fileThumbnails[id];
useEffect(() => {
setDocumentIds([id]);
}, [id, setDocumentIds]);
return fileThumbnail ? (
<img src={fileThumbnail} className={styles.thumbnailImg}></img>
) : (
<SvgIcon name={`file-icon/${fileExtension}`} width={24}></SvgIcon>
);
};
export default FileIcon;
|