const drawerWidth = 240;
-type CssRules = 'root' | 'appBar' | 'drawerPaper' | 'content' | 'row' | 'toolbar';
+type CssRules = 'root' | 'appBar' | 'active' | 'drawerPaper' | 'content' | 'row' | 'treeContainer' | 'toolbar';
const styles: StyleRulesCallback<CssRules> = (theme: Theme) => ({
root: {
zIndex: theme.zIndex.drawer + 1,
backgroundColor: '#692498'
},
+ active: {
+ color: '#4285F6',
+ },
drawerPaper: {
position: 'relative',
width: drawerWidth,
minWidth: 0,
},
row: {
- display: 'flex'
+ display: 'flex',
+ alignItems: 'center',
+ },
+ treeContainer: {
+ position: 'absolute',
+ overflowX: 'visible',
+ marginTop: '80px',
+ minWidth: drawerWidth,
+ whiteSpace: 'nowrap',
},
toolbar: theme.mixins.toolbar
});
paper: classes.drawerPaper,
}}>
<div className={classes.toolbar}/>
- <Tree items={projects}
- toggleItem={this.props.toggleProjectTreeItem}
- render={(p: Project) => <span className={classes.row}>
- <div style={{marginTop: "3px"}}><ListItemIcon>{p.icon}</ListItemIcon></div>
- <div><ListItemText primary={p.name}/></div>
- </span>}
- />
+ <div className={classes.treeContainer}>
+ <Tree items={projects}
+ toggleItem={this.props.toggleProjectTreeItem}
+ render={(project: TreeItem<Project>) => <span className={classes.row}>
+ <div><ListItemIcon className={project.active ? classes.active : ''}>{project.data.icon}</ListItemIcon></div>
+ <div><ListItemText primary={<Typography className={project.active ? classes.active : ''}>{project.data.name}</Typography>} /></div>
+ </span>}
+ />
+ </div>
</Drawer>
<main className={classes.content}>
<div className={classes.toolbar}/>