tududi/frontend/components/Shared/Icons/FileIcon.tsx
Chris ad8ab3ec72
Fix refactor pt2 (#734)
* Cleanup task routes

* Cleanup frontend tasks

* Clean tasks

* Cleanup project uid

* Cleanup quick capture old modal

* Cleanup taskmodal

* Move all icons to shared components

* Test inbox flow

* fixup! Test inbox flow
2025-12-27 17:46:34 +02:00

39 lines
1,023 B
TypeScript

import React from 'react';
import {
PhotoIcon,
DocumentTextIcon,
DocumentIcon,
TableCellsIcon,
ArchiveBoxIcon,
PaperClipIcon,
} from '@heroicons/react/24/outline';
import { getAttachmentType } from '../../../utils/attachmentsService';
interface FileIconProps {
mimeType: string;
className?: string;
}
const FileIcon: React.FC<FileIconProps> = ({
mimeType,
className = 'h-5 w-5',
}) => {
const type = getAttachmentType(mimeType);
switch (type) {
case 'image':
return <PhotoIcon className={className} />;
case 'pdf':
return <DocumentTextIcon className={className} />;
case 'text':
return <DocumentIcon className={className} />;
case 'spreadsheet':
return <TableCellsIcon className={className} />;
case 'archive':
return <ArchiveBoxIcon className={className} />;
default:
return <PaperClipIcon className={className} />;
}
};
export default FileIcon;