From c41407f783e8b8420b754f7d32152d1b05d2d57a Mon Sep 17 00:00:00 2001 From: Michael An <2331806369@qq.com> Date: Thu, 11 Jul 2024 17:45:30 +0800 Subject: [PATCH] 12.0 change app structure (#6335) * 01 change app structure * 02 change setting page * 03 optimize header style * 04 change app mobile side panel logo --- frontend/src/app.js | 78 ++++++------- .../common}/event-bus-type.js | 4 + .../utils => components/common}/event-bus.js | 0 frontend/src/components/header.css | 5 + frontend/src/components/header.js | 12 +- frontend/src/components/logo.js | 11 +- .../src/components/main-content-wrapper.js | 22 ---- frontend/src/components/side-panel.js | 15 ++- .../src/components/toolbar/common-toolbar.js | 30 ++++- .../src/components/toolbar/general-toolbar.js | 36 ------ .../user-settings/setting-side-panel.js | 31 ++++++ .../setting-top-toolbar.js} | 8 +- frontend/src/css/layout.css | 15 --- frontend/src/css/repo-folder-trash.css | 4 +- frontend/src/css/repo-history.css | 4 +- frontend/src/css/repo-snapshot.css | 4 +- frontend/src/css/search.css | 6 +- frontend/src/css/shared-dir-view.css | 12 +- frontend/src/css/tc-accept.css | 7 +- frontend/src/css/upload-link.css | 11 +- .../popover/groupby-popover/index.jsx | 2 +- .../metadata/metadata-view/constants/index.js | 2 +- .../src/metadata/metadata-view/context.js | 2 +- frontend/src/pages/groups/group-view.js | 9 -- .../src/pages/invitations/invitations-view.js | 7 -- .../lib-content-view/lib-content-toolbar.js | 1 - .../lib-content-view/lib-content-view.js | 57 +++------- frontend/src/pages/libraries/index.js | 19 +--- frontend/src/pages/my-libs/my-libs-deleted.js | 8 -- frontend/src/pages/my-libs/my-libs.js | 14 --- frontend/src/pages/share-admin/share-links.js | 13 --- .../src/pages/share-admin/upload-links.js | 12 -- .../pages/share-with-ocm/remote-dir-topbar.js | 30 ----- .../pages/share-with-ocm/remote-dir-view.js | 19 +--- frontend/src/pages/shared-with-all/index.js | 8 -- frontend/src/pages/wikis/wikis.js | 15 --- frontend/src/settings.js | 103 ++++++++---------- media/css/seahub.css | 10 +- 38 files changed, 238 insertions(+), 408 deletions(-) rename frontend/src/{metadata/metadata-view/constants => components/common}/event-bus-type.js (93%) rename frontend/src/{metadata/metadata-view/utils => components/common}/event-bus.js (100%) create mode 100644 frontend/src/components/header.css delete mode 100644 frontend/src/components/main-content-wrapper.js delete mode 100644 frontend/src/components/toolbar/general-toolbar.js create mode 100644 frontend/src/components/user-settings/setting-side-panel.js rename frontend/src/components/{toolbar/top-toolbar.js => user-settings/setting-top-toolbar.js} (83%) delete mode 100644 frontend/src/pages/share-with-ocm/remote-dir-topbar.js diff --git a/frontend/src/app.js b/frontend/src/app.js index 06ba0309f3..a9e44a307a 100644 --- a/frontend/src/app.js +++ b/frontend/src/app.js @@ -6,8 +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 EventBus from './components/common/event-bus'; +import Header from './components/header'; import SidePanel from './components/side-panel'; import MainPanel from './components/main-panel'; import FilesActivities from './pages/dashboard/files-activities'; @@ -30,22 +30,11 @@ import Group from './pages/groups/group-view'; import InvitationsView from './pages/invitations/invitations-view'; import Wikis from './pages/wikis/wikis'; import Libraries from './pages/libraries'; -import MainContentWrapper from './components/main-content-wrapper'; import './css/layout.css'; import './css/toolbar.css'; import './css/search.css'; -const FilesActivitiesWrapper = MainContentWrapper(FilesActivities); -const MyFileActivitiesWrapper = MainContentWrapper(MyFileActivities); -const StarredWrapper = MainContentWrapper(Starred); -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); class App extends Component { @@ -62,6 +51,8 @@ class App extends Component { }; this.dirViewPanels = ['libraries', 'my-libs', 'shared-libs', 'org']; // and group window.onpopstate = this.onpopstate; + const eventBus = new EventBus(); + this.eventBus = eventBus; } onpopstate = (event) => { @@ -222,52 +213,55 @@ class App extends Component { return ( - {/*
- */}
- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - diff --git a/frontend/src/metadata/metadata-view/constants/event-bus-type.js b/frontend/src/components/common/event-bus-type.js similarity index 93% rename from frontend/src/metadata/metadata-view/constants/event-bus-type.js rename to frontend/src/components/common/event-bus-type.js index 9a6faf0518..9be0551074 100644 --- a/frontend/src/metadata/metadata-view/constants/event-bus-type.js +++ b/frontend/src/components/common/event-bus-type.js @@ -1,4 +1,5 @@ export const EVENT_BUS_TYPE = { + // metadata QUERY_COLLABORATORS: 'query-collaborators', QUERY_COLLABORATOR: 'query-collaborator', UPDATE_TABLE_ROWS: 'update-table-rows', @@ -34,4 +35,7 @@ export const EVENT_BUS_TYPE = { // change VIEW_CHANGED: 'view_changed', + + // library + CURRENT_LIBRARY_CHANGED: 'current_library_changed', }; diff --git a/frontend/src/metadata/metadata-view/utils/event-bus.js b/frontend/src/components/common/event-bus.js similarity index 100% rename from frontend/src/metadata/metadata-view/utils/event-bus.js rename to frontend/src/components/common/event-bus.js diff --git a/frontend/src/components/header.css b/frontend/src/components/header.css new file mode 100644 index 0000000000..c8f7d17b2b --- /dev/null +++ b/frontend/src/components/header.css @@ -0,0 +1,5 @@ +.top-header { + background-color: #f8fafd; + border-bottom: 1px solid #eee; + padding: .5rem 1rem; +} diff --git a/frontend/src/components/header.js b/frontend/src/components/header.js index 17d84a04ac..1cb0109e6f 100644 --- a/frontend/src/components/header.js +++ b/frontend/src/components/header.js @@ -3,7 +3,11 @@ import PropTypes from 'prop-types'; import Logo from './logo'; import CommonToolbar from './toolbar/common-toolbar'; +import './header.css'; + const propTypes = { + children: PropTypes.object, + eventBus: PropTypes.object.isRequired, isSidePanelClosed: PropTypes.bool, onCloseSidePanel: PropTypes.func, onShowSidePanel: PropTypes.func, @@ -15,21 +19,23 @@ const propTypes = { class Header extends React.Component { render() { - const { onShowSidePanel, onSearchedClick, showSearch } = this.props; + const { onShowSidePanel, onSearchedClick, showSearch, children } = this.props; return ( -