From 4272111ce7da4293bff7d11cf08e172651e7b3b1 Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Thu, 21 Sep 2017 17:34:19 +0200 Subject: Make sidebars collapsible --- src/components/sidebars/Sidebar.js | 40 ++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) (limited to 'src/components/sidebars/Sidebar.js') diff --git a/src/components/sidebars/Sidebar.js b/src/components/sidebars/Sidebar.js index ce743b17..00e3607a 100644 --- a/src/components/sidebars/Sidebar.js +++ b/src/components/sidebars/Sidebar.js @@ -2,13 +2,37 @@ import classNames from "classnames"; import React from "react"; import "./Sidebar.css"; -const Sidebar = ({isRight, children}) => ( -
e.stopPropagation()} - > - {children} -
-); +class Sidebar extends React.Component { + state = { + collapsed: false + }; + + render() { + const collapseButton = ( +
this.setState({collapsed: !this.state.collapsed})} + > + {(this.state.collapsed && this.props.isRight) || (!this.state.collapsed && !this.props.isRight) ? + : + + } +
+ ); + + if (this.state.collapsed) { + return collapseButton; + } + return ( +
e.stopPropagation()} + > + {this.props.children} + {collapseButton} +
+ ); + } +} export default Sidebar; -- cgit v1.2.3