X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3c7e3cdc547ad5468421e1c049daa94b0d4b8bc0..9fe1e9ff7d9af167f0ee350ab5a68ded128d8043:/src/views-components/side-panel/side-panel.tsx diff --git a/src/views-components/side-panel/side-panel.tsx b/src/views-components/side-panel/side-panel.tsx index 218b624cd5..18aed873aa 100644 --- a/src/views-components/side-panel/side-panel.tsx +++ b/src/views-components/side-panel/side-panel.tsx @@ -12,10 +12,12 @@ import { navigateFromSidePanel } from 'store/side-panel/side-panel-action'; import { Grid } from '@material-ui/core'; import { SidePanelButton } from 'views-components/side-panel-button/side-panel-button'; import { RootState } from 'store/store'; +import SidePanelToggle from 'views-components/side-panel-toggle/side-panel-toggle'; +import { SidePanelCollapsed } from './side-panel-collapsed'; -const DRAWER_WITDH = 240; +const DRAWER_WIDTH = 240; -type CssRules = 'root'; +type CssRules = 'root' | 'topButtonContainer'; const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ root: { @@ -23,7 +25,11 @@ const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ borderRight: `1px solid ${theme.palette.divider}`, height: '100%', overflowX: 'auto', - width: DRAWER_WITDH, + width: DRAWER_WIDTH, + }, + topButtonContainer: { + display: 'flex', + justifyContent: 'space-between' } }); @@ -33,15 +39,27 @@ const mapDispatchToProps = (dispatch: Dispatch): SidePanelTreeProps => ({ } }); -const mapStateToProps = ({ router }: RootState) => ({ +const mapStateToProps = ({ router, sidePanel }: RootState) => ({ currentRoute: router.location ? router.location.pathname : '', + isCollapsed: sidePanel.collapsedState }); export const SidePanel = withStyles(styles)( connect(mapStateToProps, mapDispatchToProps)( ({ classes, ...props }: WithStyles & SidePanelTreeProps & { currentRoute: string }) => - - + {props.isCollapsed ? + <> + + + + : + <> + + + + + + } ));