Files
bee-dashboard/src/modules/filemanager/utils/GetIconElement.tsx
T
Bálint Ujvári 519c411db0 feat: sync and update with all changes from fork (#720)
* feat: sync and update with all changes from fork
* refactor: extract clipboard copy logic into custom hook
* fix: correct spelling of DEFAULT_REFRESH_FREQUENCY_MS in Stamps and WalletBalance providers
* refactor(ui-tests): replace fixed sleeps with condition-based waits
* fix: handle null values for size and granteeCount in infoGroups
* fix(lint): add newline at end of file in useClipboardCopy hook
* fix(ui-tests): page.goto URL
* refactor: update import paths for useClipboardCopy

---------

Co-authored-by: Ferenc Sárai <sarai.ferenc@gmail.com>
2026-03-02 11:34:39 +01:00

26 lines
694 B
TypeScript

import { ReactElement } from 'react'
import FileIcon from 'remixicon-react/FileTextLineIcon'
import ImageIcon from 'remixicon-react/Image2LineIcon'
import { guessMime } from './view'
interface ContextMenuProps {
name: string
metadata?: Record<string, string>
size?: string
color?: string
}
export function GetIconElement({ name, metadata, size = '21px', color = '#ed8131' }: ContextMenuProps): ReactElement {
const { mime } = guessMime(name, metadata)
const iconType = mime.split('/')[0]?.toLowerCase() || 'file'
switch (iconType) {
case 'image':
return <ImageIcon size={size} color={color} />
default:
return <FileIcon size={size} color={color} />
}
}