import type { ComponentType } from 'react';
import { BsFiletypeTiff } from 'react-icons/bs';
import {
	PiFileArchive,
	PiFileAudio,
	PiFileC,
	PiFileCpp,
	PiFileCSharp,
	PiFileCss,
	PiFileCsv,
	PiFileDoc,
	PiFileHtml,
	PiFileImage,
	PiFileIni,
	PiFileJpg,
	PiFileJs,
	PiFileMd,
	PiFilePdf,
	PiFilePng,
	PiFilePpt,
	PiFilePy,
	PiFileRs,
	PiFileSql,
	PiFileSvg,
	PiFileTs,
	PiFileTsx,
	PiFileTxt,
	PiFileVideo,
	PiFileVue,
	PiFileXls,
	PiFileZip,
} from 'react-icons/pi';

export const FileExtIcon: Record<string, ComponentType<any>> = {
	c: PiFileC,
	cpp: PiFileCpp,
	csharp: PiFileCSharp,
	css: PiFileCss,
	csv: PiFileCsv,
	doc: PiFileDoc,
	docx: PiFileDoc,
	flac: PiFileAudio,
	gz: PiFileArchive,
	heic: PiFileImage,
	html: PiFileHtml,
	ini: PiFileIni,
	jpeg: PiFileJpg,
	jpg: PiFileJpg,
	js: PiFileJs,
	md: PiFileMd,
	mp3: PiFileAudio,
	mp4: PiFileVideo,
	pdf: PiFilePdf,
	png: PiFilePng,
	ppt: PiFilePpt,
	pptx: PiFilePpt,
	py: PiFilePy,
	rar: PiFileArchive,
	rs: PiFileRs,
	sql: PiFileSql,
	svg: PiFileSvg,
	tar: PiFileArchive,
	ts: PiFileTs,
	tsx: PiFileTsx,
	txt: PiFileTxt,
	vue: PiFileVue,
	wav: PiFileAudio,
	xls: PiFileXls,
	xlsx: PiFileXls,
	numbers: PiFileXls,
	zip: PiFileZip,
	tif: BsFiletypeTiff,
	tiff: BsFiletypeTiff,
	psd: PiFileImage,
};
