Sidebar.jsx 2.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import React from 'react'
  2. import {connect} from 'react-redux'
  3. import WorkspaceListItem from '../component/Sidebar/WorkspaceListItem.jsx'
  4. class Sidebar extends React.Component {
  5. constructor (props) {
  6. super(props)
  7. this.state = {
  8. firstWsOpen: false
  9. }
  10. }
  11. handleClickWorkspace = wsId => {
  12. // console.log('sidebar handleClickWs')
  13. this.setState(prev => ({firstWsOpen: !prev.firstWsOpen})) // delete this, purpose is only to test transition on click
  14. // console.log('sidebar firstwsOpen toggled')
  15. }
  16. render () {
  17. // <div className='sidebar-expandbar'>
  18. // <i className='fa fa-minus-square-o sidebar-expandbar__icon' />
  19. // </div>
  20. return (
  21. <div className='sidebar d-none d-lg-table-cell'>
  22. <nav className='sidebar__navigation navbar navbar-light'>
  23. <ul className='sidebar__navigation__workspace navbar-nav collapse navbar-collapse'>
  24. <WorkspaceListItem
  25. number={1}
  26. name='workspace 1 sympa'
  27. isOpen={this.state.firstWsOpen}
  28. onClickTitle={() => this.handleClickWorkspace(1)}
  29. />
  30. <li className='sidebar__navigation__workspace__item nav-item dropdown'>
  31. <div className='sidebar__navigation__workspace__item__wrapper'>
  32. <div className='sidebar__navigation__workspace__item__number'>
  33. 02
  34. </div>
  35. <div className='sidebar__navigation__workspace__item__name'>
  36. Workspace 2
  37. </div>
  38. <div className='sidebar__navigation__workspace__item__icon'>
  39. <i className='fa fa-chevron-down' />
  40. </div>
  41. </div>
  42. </li>
  43. <li className='sidebar__navigation__workspace__item nav-item dropdown'>
  44. <div className='sidebar__navigation__workspace__item__wrapper'>
  45. <div className='sidebar__navigation__workspace__item__number'>
  46. 03
  47. </div>
  48. <div className='sidebar__navigation__workspace__item__name'>
  49. Workspace 3
  50. </div>
  51. <div className='sidebar__navigation__workspace__item__icon'>
  52. <i className='fa fa-chevron-down' />
  53. </div>
  54. </div>
  55. </li>
  56. </ul>
  57. </nav>
  58. <div className='sidebar__btnnewworkspace'>
  59. <button className='sidebar__btnnewworkspace__btn btn btn-success'>
  60. Créer un workspace
  61. </button>
  62. </div>
  63. </div>
  64. )
  65. }
  66. }
  67. const mapStateToProps = ({user}) => ({user})
  68. export default connect(mapStateToProps)(Sidebar)