Browse Source

create isAbleToShowThreeStrandedButton

itizawa 5 years ago
parent
commit
ac497e6b0f

+ 1 - 1
src/client/js/components/Navbar/GrowiSubNavigation.jsx

@@ -145,7 +145,7 @@ const GrowiSubNavigation = (props) => {
             { pageContainer.isAbleToShowPageManagement && <PageManagement isCompactMode={isCompactMode} /> }
           </div>
           <div className="mt-2">
-            {!isNotCreatable && !isPageInTrash && !isPageForbidden && (
+            {pageContainer.isAbleToShowThreeStrandedButton && (
               <ThreeStrandedButton
                 onThreeStrandedButtonClicked={onThreeStrandedButtonClicked}
                 isBtnDisabled={currentUser == null}

+ 11 - 0
src/client/js/services/PageContainer.js

@@ -187,6 +187,17 @@ export default class PageContainer extends Container {
     return (!isPageInTrash && isPageExist && !isPageForbidden && !isSharedUser);
   }
 
+  /**
+   * whether to threeStrandedButton
+   * ex.) view, edit, hackmd
+   */
+  get isAbleToShowThreeStrandedButton() {
+    const { isPageForbidden, isNotCreatable, isPageInTrash } = this.state;
+    const { isSharedUser, isGuestUser } = this.appContainer;
+
+    return (isNotCreatable && !isPageInTrash && !isPageForbidden && !isSharedUser && !isGuestUser);
+  }
+
   /**
    * initialize state for markdown data
    */