sourcebot/packages/web/src/features/fileTree/components/fileTreeItemIcon.tsx

23 lines
725 B
TypeScript
Raw Normal View History

2025-06-09 19:51:35 +00:00
'use client';
import { useMemo } from "react";
import { VscodeFolderIcon } from "@/app/components/vscodeFolderIcon";
import { VscodeFileIcon } from "@/app/components/vscodeFileIcon";
import { FileTreeItem } from "../types";
2025-06-09 19:51:35 +00:00
interface FileTreeItemIconProps {
item: FileTreeItem;
className?: string;
}
export const FileTreeItemIcon = ({ item, className }: FileTreeItemIconProps) => {
const ItemIcon = useMemo(() => {
2025-06-09 19:51:35 +00:00
if (item.type === 'tree') {
return <VscodeFolderIcon folderName={item.name} className={className} />
} else {
return <VscodeFileIcon fileName={item.name} className={className} />
2025-06-09 19:51:35 +00:00
}
}, [item.name, item.type, className]);
2025-06-09 19:51:35 +00:00
return ItemIcon;
2025-06-09 19:51:35 +00:00
}