import DomElement from "./dom_element" function iconImage() { return DomElement.fromTemplate(` `) } function iconAudio() { return DomElement.fromTemplate(` `) } function iconVideo() { return DomElement.fromTemplate(` `) } function iconPDF() { return DomElement.fromTemplate(` `) } function iconArchive() { return DomElement.fromTemplate(` `) } function iconFile() { return DomElement.fromTemplate(` `) } function iconText() { return DomElement.fromTemplate(` `) } export default function getIconByMime(fileType) { const defaultChoice = { color: '#838999', icon: iconFile(), } if (!fileType) return defaultChoice const fileTypeGeneral = fileType.split('/')[0] const fileTypeSpecific = fileType.split('/')[1] // Text if (fileTypeGeneral === 'text') { return { color: '#5a5e69', icon: iconText(), } } // Image if (fileTypeGeneral === 'image') { return { color: '#686de0', icon: iconImage(), } } // Audio if (fileTypeGeneral === 'audio') { return { color: '#068dbb', icon: iconAudio(), } } // Video if (fileTypeGeneral === 'video') { return { color: '#19af67', icon: iconVideo(), } } // PDF if (fileTypeGeneral === 'application' && fileTypeSpecific === 'pdf') { return { color: '#e25149', icon: iconPDF(), } } // Archive const archiveTypes = ['zip', 'x-7z-compressed', 'x-rar-compressed', 'x-tar', 'x-gzip', 'x-apple-diskimage'] if (fileTypeGeneral === 'application' && archiveTypes.indexOf(fileTypeSpecific) !== -1) { return { color: '#00C469', icon: iconArchive(), } } return defaultChoice }