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

fix the hidden condition of NotFoundAlert

Yuki Takei 4 лет назад
Родитель
Сommit
7365875573
2 измененных файлов с 12 добавлено и 13 удалено
  1. 0 1
      packages/app/src/client/app.jsx
  2. 12 12
      packages/app/src/components/Page/NotFoundAlert.tsx

+ 0 - 1
packages/app/src/client/app.jsx

@@ -117,7 +117,6 @@ Object.assign(componentMappings, {
   'renamed-alert': <RenamedAlert />,
   'renamed-alert': <RenamedAlert />,
   'not-found-alert': <NotFoundAlert
   'not-found-alert': <NotFoundAlert
     isGuestUserMode={appContainer.isGuestUser}
     isGuestUserMode={appContainer.isGuestUser}
-    isHidden={pageContainer.state.pageId != null ? (pageContainer.state.isNotCreatable || pageContainer.state.isTrashPage) : false} // !!DO NOT MOVE THIS!! https://github.com/weseek/growi/pull/4899
   />,
   />,
 });
 });
 
 

+ 12 - 12
packages/app/src/components/Page/NotFoundAlert.jsx → packages/app/src/components/Page/NotFoundAlert.tsx

@@ -1,15 +1,21 @@
 import React, { useCallback } from 'react';
 import React, { useCallback } from 'react';
-import PropTypes from 'prop-types';
 import { useTranslation } from 'react-i18next';
 import { useTranslation } from 'react-i18next';
 import { UncontrolledTooltip } from 'reactstrap';
 import { UncontrolledTooltip } from 'reactstrap';
+
 import { EditorMode, useEditorMode } from '~/stores/ui';
 import { EditorMode, useEditorMode } from '~/stores/ui';
 
 
 
 
-const NotFoundAlert = (props) => {
+type Props = {
+  isGuestUserMode?: boolean,
+}
+
+const NotFoundAlert = (props: Props): JSX.Element => {
   const { t } = useTranslation();
   const { t } = useTranslation();
-  const { isHidden, isGuestUserMode } = props;
+  const { isGuestUserMode } = props;
+
+  const { data: editorMode, mutate: mutateEditorMode } = useEditorMode();
 
 
-  const { mutate: mutateEditorMode } = useEditorMode();
+  const isEditorMode = editorMode !== EditorMode.View;
 
 
   const clickHandler = useCallback(() => {
   const clickHandler = useCallback(() => {
     // check guest user,
     // check guest user,
@@ -22,11 +28,10 @@ const NotFoundAlert = (props) => {
 
 
   }, [isGuestUserMode, mutateEditorMode]);
   }, [isGuestUserMode, mutateEditorMode]);
 
 
-  if (isHidden) {
-    return null;
+  if (isEditorMode) {
+    return <></>;
   }
   }
 
 
-
   return (
   return (
     <div className="border border-info p-3">
     <div className="border border-info p-3">
       <div
       <div
@@ -59,9 +64,4 @@ const NotFoundAlert = (props) => {
 };
 };
 
 
 
 
-NotFoundAlert.propTypes = {
-  isHidden: PropTypes.bool.isRequired,
-  isGuestUserMode: PropTypes.bool.isRequired,
-};
-
 export default NotFoundAlert;
 export default NotFoundAlert;