type $TSFixMe = any;
function iconImage() {
return (
);
}
function iconAudio() {
return (
);
}
function iconVideo() {
return (
);
}
function iconPDF() {
return (
);
}
function iconArchive() {
return (
);
}
function iconFile() {
return (
);
}
function iconText() {
return (
);
}
export function getIconByMime(fileType: $TSFixMe): $TSFixMe {
const defaultChoice = {
color: "#838999",
icon: iconFile(),
};
const undefinedChoice = {
color: "#838999",
icon: null,
};
if (!fileType) return undefinedChoice;
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-zip-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;
}