From 88887ea58e1e3f0d68be2eb9ab41d488bba60881 Mon Sep 17 00:00:00 2001 From: yyh Date: Fri, 23 Jan 2026 17:09:23 +0800 Subject: [PATCH] feat(icons): add custom FileImageFill icon for image file type Replace RiFileImageFill with a custom FileImageFill icon to provide a more distinctive visual representation for image files in the file tree. --- .../base/file-uploader/file-type-icon.tsx | 4 +-- .../vender/solid/files/file-image-fill.svg | 3 +++ .../src/vender/solid/files/FileImageFill.json | 26 +++++++++++++++++++ .../src/vender/solid/files/FileImageFill.tsx | 20 ++++++++++++++ .../icons/src/vender/solid/files/index.ts | 1 + 5 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 web/app/components/base/icons/assets/vender/solid/files/file-image-fill.svg create mode 100644 web/app/components/base/icons/src/vender/solid/files/FileImageFill.json create mode 100644 web/app/components/base/icons/src/vender/solid/files/FileImageFill.tsx diff --git a/web/app/components/base/file-uploader/file-type-icon.tsx b/web/app/components/base/file-uploader/file-type-icon.tsx index 72d4f3bc3b..18696f0d48 100644 --- a/web/app/components/base/file-uploader/file-type-icon.tsx +++ b/web/app/components/base/file-uploader/file-type-icon.tsx @@ -4,7 +4,6 @@ import { RiFileCodeFill, RiFileExcelFill, RiFileGifFill, - RiFileImageFill, RiFileMusicFill, RiFilePdf2Fill, RiFilePpt2Fill, @@ -15,6 +14,7 @@ import { } from '@remixicon/react' import { memo } from 'react' import { FileDatabase2Fill } from '@/app/components/base/icons/src/vender/solid/development' +import { FileImageFill } from '@/app/components/base/icons/src/vender/solid/files' import { cn } from '@/utils/classnames' import { FileAppearanceTypeEnum } from './types' @@ -24,7 +24,7 @@ const FILE_TYPE_ICON_MAP = { color: 'text-[#EA3434]', }, [FileAppearanceTypeEnum.image]: { - component: RiFileImageFill, + component: FileImageFill, color: 'text-[#00B2EA]', }, [FileAppearanceTypeEnum.video]: { diff --git a/web/app/components/base/icons/assets/vender/solid/files/file-image-fill.svg b/web/app/components/base/icons/assets/vender/solid/files/file-image-fill.svg new file mode 100644 index 0000000000..28c3247d9a --- /dev/null +++ b/web/app/components/base/icons/assets/vender/solid/files/file-image-fill.svg @@ -0,0 +1,3 @@ + + + diff --git a/web/app/components/base/icons/src/vender/solid/files/FileImageFill.json b/web/app/components/base/icons/src/vender/solid/files/FileImageFill.json new file mode 100644 index 0000000000..6504eb4a61 --- /dev/null +++ b/web/app/components/base/icons/src/vender/solid/files/FileImageFill.json @@ -0,0 +1,26 @@ +{ + "icon": { + "type": "element", + "isRootNode": true, + "name": "svg", + "attributes": { + "width": "16", + "height": "16", + "viewBox": "0 0 16 16", + "fill": "none", + "xmlns": "http://www.w3.org/2000/svg" + }, + "children": [ + { + "type": "element", + "name": "path", + "attributes": { + "d": "M14 4.66683L10.6667 1.3335H2.66227C2.29663 1.3335 2 1.62953 2 1.9947V14.0056C2 14.3633 2.29651 14.6668 2.66227 14.6668H13.3377C13.7034 14.6668 14 14.3708 14 14.0056V4.66683ZM7.33333 6.3335C7.33333 6.88576 6.8856 7.3335 6.33333 7.3335C5.78105 7.3335 5.33333 6.88576 5.33333 6.3335C5.33333 5.78121 5.78105 5.3335 6.33333 5.3335C6.8856 5.3335 7.33333 5.78121 7.33333 6.3335ZM11.6667 11.3335H5.33333L9 6.66683L11.6667 11.3335Z", + "fill": "currentColor" + }, + "children": [] + } + ] + }, + "name": "FileImageFill" +} diff --git a/web/app/components/base/icons/src/vender/solid/files/FileImageFill.tsx b/web/app/components/base/icons/src/vender/solid/files/FileImageFill.tsx new file mode 100644 index 0000000000..5b5ee4cfea --- /dev/null +++ b/web/app/components/base/icons/src/vender/solid/files/FileImageFill.tsx @@ -0,0 +1,20 @@ +// GENERATE BY script +// DON NOT EDIT IT MANUALLY + +import type { IconData } from '@/app/components/base/icons/IconBase' +import * as React from 'react' +import IconBase from '@/app/components/base/icons/IconBase' +import data from './FileImageFill.json' + +const Icon = ( + { + ref, + ...props + }: React.SVGProps & { + ref?: React.RefObject> + }, +) => + +Icon.displayName = 'FileImageFill' + +export default Icon diff --git a/web/app/components/base/icons/src/vender/solid/files/index.ts b/web/app/components/base/icons/src/vender/solid/files/index.ts index fa93cd68dc..f641243894 100644 --- a/web/app/components/base/icons/src/vender/solid/files/index.ts +++ b/web/app/components/base/icons/src/vender/solid/files/index.ts @@ -1,4 +1,5 @@ export { default as File05 } from './File05' +export { default as FileImageFill } from './FileImageFill' export { default as FileSearch02 } from './FileSearch02' export { default as FileZip } from './FileZip' export { default as Folder } from './Folder'