69 lines
No EOL
1.8 KiB
TypeScript
69 lines
No EOL
1.8 KiB
TypeScript
import {
|
|
FaFileAlt,
|
|
FaFilePdf,
|
|
FaFileWord,
|
|
FaFileExcel,
|
|
FaFilePowerpoint,
|
|
FaFileImage,
|
|
FaFileArchive,
|
|
FaFileCode,
|
|
} from 'react-icons/fa'
|
|
|
|
export const getFileIcon = (extension: string) => {
|
|
switch (extension.toLowerCase()) {
|
|
case '.pdf':
|
|
return <FaFilePdf className="w-4 h-4 text-red-600 dark:text-red-400" />
|
|
case '.doc':
|
|
case '.docx':
|
|
return <FaFileWord className="w-4 h-4 text-blue-600 dark:text-blue-400" />
|
|
case '.xls':
|
|
case '.xlsx':
|
|
return <FaFileExcel className="w-4 h-4 text-green-600 dark:text-green-400" />
|
|
case '.ppt':
|
|
case '.pptx':
|
|
return <FaFilePowerpoint className="w-4 h-4 text-orange-600 dark:text-orange-400" />
|
|
case '.jpg':
|
|
case '.jpeg':
|
|
case '.png':
|
|
case '.gif':
|
|
return <FaFileImage className="w-4 h-4 text-purple-600 dark:text-purple-400" />
|
|
case '.zip':
|
|
case '.rar':
|
|
return <FaFileArchive className="w-4 h-4 text-yellow-600 dark:text-yellow-400" />
|
|
case '.txt':
|
|
return <FaFileCode className="w-4 h-4 text-gray-600 dark:text-gray-400" />
|
|
default:
|
|
return <FaFileAlt className="w-4 h-4 text-gray-600 dark:text-gray-400" />
|
|
}
|
|
}
|
|
|
|
export const getFileType = (extension: string) => {
|
|
switch (extension.toLowerCase()) {
|
|
case '.pdf':
|
|
return '📄 PDF'
|
|
case '.doc':
|
|
case '.docx':
|
|
return '📝 Word'
|
|
case '.xls':
|
|
case '.xlsx':
|
|
return '📊 Excel'
|
|
case '.ppt':
|
|
case '.pptx':
|
|
return '📽️ PowerPoint'
|
|
case '.jpg':
|
|
case '.jpeg':
|
|
return '🖼️ JPEG'
|
|
case '.png':
|
|
return '🖼️ PNG'
|
|
case '.gif':
|
|
return '🖼️ GIF'
|
|
case '.zip':
|
|
return '🗜️ ZIP'
|
|
case '.rar':
|
|
return '🗜️ RAR'
|
|
case '.txt':
|
|
return '📝 Text'
|
|
default:
|
|
return '📄 Dosya'
|
|
}
|
|
} |