From f54f2ea440f19a6c8fdd4118722691463906273d Mon Sep 17 00:00:00 2001 From: EnixCoda Date: Sun, 1 Dec 2019 22:59:44 +0800 Subject: [PATCH] fix: look for longer extension names --- src/utils/parseIconMapCSV.tsx | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/utils/parseIconMapCSV.tsx b/src/utils/parseIconMapCSV.tsx index 28ce618..ded7655 100644 --- a/src/utils/parseIconMapCSV.tsx +++ b/src/utils/parseIconMapCSV.tsx @@ -52,10 +52,17 @@ export function getFolderIconSrc(node: TreeNode, open: boolean) { const { filenameIndex, fileExtensionIndex } = parseFileIconMapCSV() export function getFileIconSrc(node: TreeNode) { - const name = - filenameIndex.get(node.name.toLowerCase()) || - fileExtensionIndex.get((node.name.split('.').pop() as string).toLowerCase()) - return getIconSrc('file', name) + const fileName = node.name.toLowerCase() + let iconName = filenameIndex.get(fileName) + if (!iconName) { + const tail = fileName.split('.') + tail.shift() + while (!iconName && tail.length > 0) { + iconName = fileExtensionIndex.get(tail.join('.')) + tail.shift() + } + } + return getIconSrc('file', iconName) } export function getIconSrc(type: 'folder' | 'file', name: string = 'default', open?: boolean) {