mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-01 15:09:14 +00:00
Side nav (#6309)
* [user panel] combined 7 commits into 1: [user side nav] added 'fold/unfold' for the sidebar [redesign] redesigned toolbar for 'my libs' & 'shared with all'; redesigned 'top bar' for 'help', 'clients' and other pages [Shared with all] 'share existing libraries' dialog: added the 'close' icon back, enabled clicking outside to close the dialog ['Invite Guest' page] redesigned the toolbar ['Share Admin' - 'Links'] 'Share Links' page: redesigned the toolbar ['Share Admin' - 'Links'] 'Upload Links' page: redesigned the toolbar cleaned up code * [user side panel] update * [user panel] update * [code style] update: remove an eslint warning
This commit is contained in:
@@ -6,6 +6,8 @@ import { Modal } from 'reactstrap';
|
||||
import { siteRoot } from './utils/constants';
|
||||
import { Utils } from './utils/utils';
|
||||
import SystemNotification from './components/system-notification';
|
||||
//import Header from './components/header';
|
||||
import Logo from './components/logo';
|
||||
import SidePanel from './components/side-panel';
|
||||
import MainPanel from './components/main-panel';
|
||||
import FilesActivities from './pages/dashboard/files-activities';
|
||||
@@ -42,6 +44,7 @@ const LinkedDevicesWrapper = MainContentWrapper(LinkedDevices);
|
||||
const SharedLibrariesWrapper = MainContentWrapper(SharedLibraries);
|
||||
const SharedWithOCMWrapper = MainContentWrapper(ShareWithOCM);
|
||||
const OCMViaWebdavWrapper = MainContentWrapper(OCMViaWebdav);
|
||||
const InvitationsViewWrapper = MainContentWrapper(InvitationsView);
|
||||
const ShareAdminLibrariesWrapper = MainContentWrapper(ShareAdminLibraries);
|
||||
const ShareAdminFoldersWrapper = MainContentWrapper(ShareAdminFolders);
|
||||
|
||||
@@ -50,8 +53,8 @@ class App extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
isOpen: false,
|
||||
isSidePanelClosed: false,
|
||||
isSidePanelFolded: localStorage.getItem('sf_user_side_nav_folded') == 'true' || false,
|
||||
currentTab: '',
|
||||
pathPrefix: [],
|
||||
};
|
||||
@@ -203,14 +206,38 @@ class App extends Component {
|
||||
});
|
||||
};
|
||||
|
||||
toggleFoldSideNav = () => {
|
||||
this.setState({
|
||||
isSidePanelFolded: !this.state.isSidePanelFolded
|
||||
}, () => {
|
||||
localStorage.setItem('sf_user_side_nav_folded', this.state.isSidePanelFolded);
|
||||
});
|
||||
};
|
||||
|
||||
render() {
|
||||
let { currentTab, isSidePanelClosed } = this.state;
|
||||
const { currentTab, isSidePanelClosed, isSidePanelFolded } = this.state;
|
||||
|
||||
return (
|
||||
<React.Fragment>
|
||||
<SystemNotification />
|
||||
<div id="main">
|
||||
<SidePanel isSidePanelClosed={this.state.isSidePanelClosed} onCloseSidePanel={this.onCloseSidePanel} currentTab={currentTab} tabItemClick={this.tabItemClick} />
|
||||
{/*<Header
|
||||
isSidePanelClosed={isSidePanelClosed}
|
||||
onCloseSidePanel={this.onCloseSidePanel}
|
||||
onShowSidePanel={this.onShowSidePanel}
|
||||
onSearchedClick={this.onSearchedClick}
|
||||
/>
|
||||
*/}
|
||||
<div id="main" className="user-panel">
|
||||
<Logo onCloseSidePanel={this.onCloseSidePanel} positioned={true} />
|
||||
<SidePanel
|
||||
isSidePanelClosed={isSidePanelClosed}
|
||||
isSidePanelFolded={isSidePanelFolded}
|
||||
onCloseSidePanel={this.onCloseSidePanel}
|
||||
currentTab={currentTab}
|
||||
tabItemClick={this.tabItemClick}
|
||||
showLogoOnlyInMobile={true}
|
||||
toggleFoldSideNav={this.toggleFoldSideNav}
|
||||
/>
|
||||
<MainPanel>
|
||||
<Router className="reach-router">
|
||||
<Libraries path={ siteRoot } onShowSidePanel={this.onShowSidePanel} onSearchedClick={this.onSearchedClick} />
|
||||
@@ -239,7 +266,7 @@ class App extends Component {
|
||||
/>
|
||||
<Wikis path={siteRoot + 'published'} onShowSidePanel={this.onShowSidePanel} onSearchedClick={this.onSearchedClick}/>
|
||||
<PublicSharedView path={siteRoot + 'org/'} onShowSidePanel={this.onShowSidePanel} onSearchedClick={this.onSearchedClick} onTabNavClick={this.tabItemClick}/>
|
||||
<InvitationsView path={siteRoot + 'invitations/'} onShowSidePanel={this.onShowSidePanel} onSearchedClick={this.onSearchedClick} />
|
||||
<InvitationsViewWrapper path={siteRoot + 'invitations/'} onShowSidePanel={this.onShowSidePanel} onSearchedClick={this.onSearchedClick} />
|
||||
</Router>
|
||||
</MainPanel>
|
||||
<MediaQuery query="(max-width: 767.8px)">
|
||||
|
Reference in New Issue
Block a user