import { isGroup, EntityKind } from '@h5web/shared';
import type { ChildEntity } from '@h5web/shared';
import {
FiHash,
FiChevronDown,
FiChevronRight,
FiLayers,
FiLink,
} from 'react-icons/fi';
import styles from './Explorer.module.css';
const LEAF_ICONS = {
[EntityKind.Dataset]: FiLayers,
[EntityKind.Datatype]: FiHash,
[EntityKind.Unresolved]: FiLink,
};
interface Props {
entity: ChildEntity;
isExpanded: boolean;
}
function Icon(props: Props) {
const { entity, isExpanded } = props;
if (isGroup(entity)) {
return isExpanded ? (
) : (
);
}
const LeafIcon = LEAF_ICONS[entity.kind];
return ;
}
export default Icon;