2022-02-06 18:42:00 +02:00
|
|
|
import { FolderIcon, FolderIconType } from '@joplin/lib/services/database/types';
|
|
|
|
|
|
|
|
interface Props {
|
|
|
|
folderIcon: FolderIcon;
|
2022-09-05 18:26:22 +02:00
|
|
|
opacity?: number;
|
2022-02-06 18:42:00 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export default function(props: Props) {
|
|
|
|
const folderIcon = props.folderIcon;
|
2022-09-05 18:26:22 +02:00
|
|
|
const opacity = 'opacity' in props ? props.opacity : 1;
|
2022-02-06 18:42:00 +02:00
|
|
|
|
|
|
|
if (folderIcon.type === FolderIconType.Emoji) {
|
2022-09-05 18:26:22 +02:00
|
|
|
return <span style={{ fontSize: 20, opacity }}>{folderIcon.emoji}</span>;
|
2022-02-06 18:42:00 +02:00
|
|
|
} else if (folderIcon.type === FolderIconType.DataUrl) {
|
2022-09-05 18:26:22 +02:00
|
|
|
return <img style={{ width: 20, height: 20, opacity }} src={folderIcon.dataUrl} />;
|
|
|
|
} else if (folderIcon.type === FolderIconType.FontAwesome) {
|
|
|
|
return <i style={{ fontSize: 18, width: 20, opacity }} className={folderIcon.name}></i>;
|
2022-02-06 18:42:00 +02:00
|
|
|
} else {
|
|
|
|
throw new Error(`Unsupported folder icon type: ${folderIcon.type}`);
|
|
|
|
}
|
|
|
|
}
|