| 12345678910111213141516171819202122232425262728293031 |
- 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;
|