import * as React from "react";
import { TreeItem } from "../tree/tree";
-import { ProjectIcon, MoreOptionsIcon } from "../icon/icon";
+import { ProjectIcon, MoreOptionsIcon, DefaultIcon, CollectionIcon } from "../icon/icon";
import { Typography, IconButton, StyleRulesCallback, withStyles, WithStyles } from "@material-ui/core";
-import { formatFileSize } from "../../common/formatters";
+import { formatFileSize } from "~/common/formatters";
import { ListItemTextIcon } from "../list-item-text-icon/list-item-text-icon";
import { FileTreeData } from "./file-tree-data";
root: {
display: "flex",
alignItems: "center",
- paddingRight: `${theme.spacing.unit}px`
+ paddingRight: `${theme.spacing.unit * 1.5}px`
},
spacer: {
flex: "1"
},
sizeInfo: {
- marginRight: `${theme.spacing.unit * 3}px`
+ width: `${theme.spacing.unit * 8}px`
},
button: {
width: theme.spacing.unit * 3,
- height: theme.spacing.unit * 3
+ height: theme.spacing.unit * 3,
+ marginRight: theme.spacing.unit
}
});
const { classes, item } = this.props;
return <div className={classes.root}>
<ListItemTextIcon
- icon={ProjectIcon}
+ icon={getIcon(item)}
name={item.data.name} />
<div className={classes.spacer} />
<Typography
}
});
+const getIcon = (item: TreeItem<FileTreeData>) => {
+ switch(item.data.type){
+ case 'directory':
+ return ProjectIcon;
+ case 'file':
+ return CollectionIcon;
+ default:
+ return DefaultIcon;
+ }
+};
+