import { BsFiletypeCsv, BsFiletypeDocx, BsFiletypeHtml, BsFiletypeMd, BsFiletypeMp3, BsFiletypeMp4, BsFiletypePdf, BsFiletypePptx, BsFiletypePy, BsFiletypeTxt, BsFiletypeXls, BsFiletypeXlsx, } from "react-icons/bs"; import { FaFile, FaRegFileAudio } from "react-icons/fa"; import { LiaFileVideo } from "react-icons/lia"; import { IconType } from "react-icons/lib"; import { getFileType } from "./getFileType"; import { SupportedFileExtensions } from "../types/SupportedFileExtensions"; const fileTypeIcons: Record = { pdf: BsFiletypePdf, mp3: BsFiletypeMp3, mp4: BsFiletypeMp4, html: BsFiletypeHtml, txt: BsFiletypeTxt, csv: BsFiletypeCsv, md: BsFiletypeMd, markdown: BsFiletypeMd, m4a: LiaFileVideo, mpga: FaRegFileAudio, mpeg: LiaFileVideo, webm: LiaFileVideo, wav: FaRegFileAudio, pptx: BsFiletypePptx, docx: BsFiletypeDocx, odt: BsFiletypeDocx, xlsx: BsFiletypeXlsx, xls: BsFiletypeXls, epub: FaFile, ipynb: BsFiletypePy, py: BsFiletypePy, }; export const getFileIcon = (fileName: string): JSX.Element => { const fileType = getFileType(fileName); const Icon = fileType !== undefined ? fileTypeIcons[fileType] : FaFile; return ; };