1- import React , { useEffect } from "react"
1+ import React , { useEffect , useState } from "react"
22import { Button , Dropdown } from 'react-bootstrap' ;
33import { Nav , Navbar } from "react-bootstrap"
44import { NewDataProduct } from "./NewDataProduct"
@@ -8,9 +8,21 @@ import {DATA_PRODUCTS} from "../routing/constants"
88import { UserMenu } from "./UserMenu" ;
99import { sortAlphabetically } from "./utils" ;
1010import { useNavigate , useParams , useLocation } from "react-router-dom"
11+ import { SlArrowLeft , SlArrowRight } from "react-icons/sl"
1112
12- export const MainNavBar = ( { setShowTimeTravel, changeRequestHolder} ) => {
13- const { woqlClient, changeOrganization, accessControlDashboard, clientUser} = WOQLClientObj ( )
13+ const CollpaseButton = ( { setCollapseSideBar, collapseSideBar } ) => {
14+ return < Button className = "btn-btn-lg bg-transparent border border-0 ml-3"
15+ title = { collapseSideBar ? "Show Sidebar" : "Hide Sidebar" }
16+ onClick = { ( e ) => setCollapseSideBar ( ! collapseSideBar ) } >
17+ { collapseSideBar && < SlArrowRight size = { 24 } /> }
18+ { ! collapseSideBar && < SlArrowLeft size = { 24 } /> }
19+ </ Button >
20+ }
21+
22+ export const MainNavBar = ( { setShowTimeTravel, changeRequestHolder, showLeftSideBar} ) => {
23+
24+ const { woqlClient, changeOrganization, accessControlDashboard, clientUser, collapseSideBar,
25+ setCollapseSideBar} = WOQLClientObj ( )
1426 if ( ! clientUser || ! woqlClient ) return ""
1527 //we don't need setRoute
1628 const { organization, dataProduct } = useParams ( ) ;
@@ -25,7 +37,8 @@ export const MainNavBar = ({setShowTimeTravel, changeRequestHolder}) => {
2537 // sort list in alphabetical order
2638 const teamList = sortAlphabetically ( woqlClient ? woqlClient . userOrganizations ( ) : [ ] )
2739
28- return < Navbar className = "navbar-dark bg-dark p-0 sticky-top main-navbar-shadow" >
40+ return < Navbar className = "navbar-dark bg-dark p-0 sticky-top main-navbar-shadow" >
41+ { showLeftSideBar && < CollpaseButton setCollapseSideBar = { setCollapseSideBar } collapseSideBar = { collapseSideBar } /> }
2942 < div className = "d-flex flex-grow-1 " >
3043 { dataProduct && currentPage !== `/${ organization } /${ dataProduct } ` &&
3144 < React . Fragment >
0 commit comments