فهرست منبع

render PutbackPageModal in SearchPageBase & conditionally in [[...path]].page

yohei0125 3 سال پیش
والد
کامیت
9a4d405359
2فایلهای تغییر یافته به همراه18 افزوده شده و 2 حذف شده
  1. 5 0
      packages/app/src/components/SearchPage2/SearchPageBase.tsx
  2. 13 2
      packages/app/src/pages/[[...path]].page.tsx

+ 5 - 0
packages/app/src/components/SearchPage2/SearchPageBase.tsx

@@ -3,6 +3,7 @@ import React, {
 } from 'react';
 
 import { useTranslation } from 'next-i18next';
+import dynamic from 'next/dynamic';
 
 import { ISelectableAll } from '~/client/interfaces/selectable-all';
 import AppContainer from '~/client/services/AppContainer';
@@ -43,6 +44,9 @@ type Props = {
 }
 
 const SearchPageBaseSubstance: ForwardRefRenderFunction<ISelectableAll & IReturnSelectedPageIds, Props> = (props:Props, ref) => {
+
+  const PutbackPageModal = dynamic(() => import('../PutbackPageModal'), { ssr: false });
+
   const {
     appContainer,
     pages,
@@ -213,6 +217,7 @@ const SearchPageBaseSubstance: ForwardRefRenderFunction<ISelectableAll & IReturn
         </div>
 
       </div>
+      <PutbackPageModal />
     </div>
   );
 };

+ 13 - 2
packages/app/src/pages/[[...path]].page.tsx

@@ -77,6 +77,12 @@ const IdenticalPathPage = (): JSX.Element => {
   return <IdenticalPathPage />;
 };
 
+const PutbackPageModal = (): JSX.Element => {
+  const PutbackPageModal = dynamic(() => import('../components/PutbackPageModal'), { ssr: false });
+  return <PutbackPageModal />;
+};
+
+
 type IPageToShowRevisionWithMeta = IDataWithMeta<IPagePopulatedToShowRevision, IPageInfoForEntity>;
 
 type Props = CommonProps & {
@@ -132,7 +138,6 @@ const GrowiPage: NextPage<Props> = (props: Props) => {
   const router = useRouter();
 
   const UnsavedAlertDialog = dynamic(() => import('./UnsavedAlertDialog'), { ssr: false });
-  const PutbackPageModal = dynamic(() => import('../components/PutbackPageModal'), { ssr: false });
 
   const { data: currentUser } = useCurrentUser(props.currentUser != null ? JSON.parse(props.currentUser) : null);
 
@@ -198,6 +203,12 @@ const GrowiPage: NextPage<Props> = (props: Props) => {
   if (props.pageWithMetaStr != null) {
     pageWithMeta = JSON.parse(props.pageWithMetaStr) as IPageToShowRevisionWithMeta;
   }
+
+  let shouldRenderPutbackPageModal = false;
+  if (pageWithMeta != null) {
+    shouldRenderPutbackPageModal = _isTrashPage(pageWithMeta.data.path);
+  }
+
   useCurrentPageId(pageWithMeta?.data._id);
   useSWRxCurrentPage(undefined, pageWithMeta?.data); // store initial data
   // useSWRxPage(pageWithMeta?.data._id);
@@ -289,8 +300,8 @@ const GrowiPage: NextPage<Props> = (props: Props) => {
         </footer>
 
         <UnsavedAlertDialog />
+        {shouldRenderPutbackPageModal && <PutbackPageModal />}
 
-        {_isTrashPage(props.currentPathname) && <PutbackPageModal />}
       </BasicLayout>
     </>
   );