Просмотр исходного кода

remove appcontainer and navicontainer from tag

yuto-o 4 лет назад
Родитель
Сommit
830a9e6e0b

+ 0 - 1
packages/app/src/components/Sidebar.jsx

@@ -162,7 +162,6 @@ class Sidebar extends React.Component {
           <div id="grw-sidebar-content-container">
             <SidebarContents
               isSharedUser={this.props.appContainer.isSharedUser}
-              appContainer={this.props.appContainer}
             />
           </div>
         </div>

+ 15 - 11
packages/app/src/components/Sidebar/SidebarContents.jsx

@@ -4,7 +4,6 @@ import PropTypes from 'prop-types';
 import { withTranslation } from 'react-i18next';
 
 import { withUnstatedContainers } from '../UnstatedUtils';
-import AppContainer from '~/client/services/AppContainer';
 import NavigationContainer from '~/client/services/NavigationContainer';
 
 import RecentChanges from './RecentChanges';
@@ -12,26 +11,31 @@ import CustomSidebar from './CustomSidebar';
 import Tag from './Tag';
 
 const SidebarContents = (props) => {
-  const { appContainer, navigationContainer, isSharedUser } = props;
+  const { navigationContainer, isSharedUser } = props;
 
   if (isSharedUser) {
     return null;
   }
 
-  if (navigationContainer.state.sidebarContentsId === 'recent') {
-    return <RecentChanges />;
+  let Contents;
+  switch (navigationContainer.state.sidebarContentsId) {
+    case 'recent':
+      Contents = RecentChanges;
+      break;
+    case 'tag':
+      Contents = Tag;
+      break;
+    default:
+      Contents = CustomSidebar;
+
+      return (
+        <Contents />
+      );
   }
-  if (navigationContainer.state.sidebarContentsId === 'tag') {
-    return <Tag appContainer={appContainer} navigationContainer={navigationContainer} />;
-  }
-
-  return <CustomSidebar />;
-
 };
 
 SidebarContents.propTypes = {
   navigationContainer: PropTypes.instanceOf(NavigationContainer).isRequired,
-  appContainer: PropTypes.instanceOf(AppContainer).isRequired,
 
   isSharedUser: PropTypes.bool,
 };

+ 1 - 4
packages/app/src/components/Sidebar/Tag.tsx

@@ -2,17 +2,15 @@ import React, { FC, useState, useEffect } from 'react';
 import { useTranslation } from 'react-i18next';
 import TagsList from '../TagsList';
 import AppContainer from '../../client/services/AppContainer';
-import NavigationContainer from '../../client/services/NavigationContainer';
 
 type Props = {
   appContainer: AppContainer,
-  navigationContainer: NavigationContainer,
 };
 
 const Tag: FC<Props> = (props:Props) => {
   const { t } = useTranslation('');
   const [isOnReload, setIsOnReload] = useState<boolean>(false);
-  const { appContainer, navigationContainer } = props;
+  const { appContainer } = props;
 
   useEffect(() => {
     setIsOnReload(false);
@@ -37,7 +35,6 @@ const Tag: FC<Props> = (props:Props) => {
           className="btn btn-primary my-4"
           type="button"
           onClick={() => {
-            navigationContainer.selectSidebarContents('recent');
             window.location.href = '/tags';
           }}
         >