ソースを参照

remove useIsPageExist

Yuki Takei 4 年 前
コミット
ed542ea298

+ 1 - 3
packages/app/src/client/services/ContextExtractor.tsx

@@ -3,7 +3,7 @@ import { pagePathUtils } from '@growi/core';
 
 import {
   useCurrentCreatedAt, useDeleteUsername, useDeletedAt, useHasChildren, useHasDraftOnHackmd, useIsAbleToDeleteCompletely,
-  useIsDeletable, useIsDeleted, useIsNotCreatable, useIsPageExist, useIsTrashPage, useIsUserPage, useLastUpdateUsername,
+  useIsDeletable, useIsDeleted, useIsNotCreatable, useIsTrashPage, useIsUserPage, useLastUpdateUsername,
   useCurrentPageId, usePageIdOnHackmd, usePageUser, useCurrentPagePath, useRevisionCreatedAt, useRevisionId, useRevisionIdHackmdSynced,
   useShareLinkId, useShareLinksNumber, useTemplateTagData, useCurrentUpdatedAt, useCreator, useRevisionAuthor, useCurrentUser, useTargetAndAncestors,
   useSlackChannels, useNotFoundTargetPathOrId, useIsSearchPage, useIsForbidden, useIsIdenticalPath,
@@ -58,7 +58,6 @@ const ContextExtractorOnce: FC = () => {
   const isDeletable = JSON.parse(mainContent?.getAttribute('data-page-is-deletable') || jsonNull) ?? false;
   const isNotCreatable = JSON.parse(mainContent?.getAttribute('data-page-is-not-creatable') || jsonNull) ?? false;
   const isAbleToDeleteCompletely = JSON.parse(mainContent?.getAttribute('data-page-is-able-to-delete-completely') || jsonNull) ?? false;
-  const isPageExist = mainContent?.getAttribute('data-page-id') != null;
   const isForbidden = forbiddenContent != null;
   const pageUser = JSON.parse(mainContent?.getAttribute('data-page-user') || jsonNull);
   const hasChildren = JSON.parse(mainContent?.getAttribute('data-page-has-children') || jsonNull);
@@ -105,7 +104,6 @@ const ContextExtractorOnce: FC = () => {
   useIsDeletable(isDeletable);
   useIsDeleted(isDeleted);
   useIsNotCreatable(isNotCreatable);
-  useIsPageExist(isPageExist);
   useIsForbidden(isForbidden);
   useIsTrashPage(isTrashPage);
   useIsUserPage(isUserPage);

+ 0 - 4
packages/app/src/stores/context.tsx

@@ -71,10 +71,6 @@ export const useIsAbleToDeleteCompletely = (initialData?: boolean): SWRResponse<
   return useStaticSWR<boolean, Error>('isAbleToDeleteCompletely', initialData, { fallbackData: false });
 };
 
-export const useIsPageExist = (initialData?: boolean): SWRResponse<boolean, Error> => {
-  return useStaticSWR<boolean, Error>('isPageExist', initialData, { fallbackData: false });
-};
-
 export const useIsForbidden = (initialData?: boolean): SWRResponse<boolean, Error> => {
   return useStaticSWR<boolean, Error>('isForbidden', initialData, { fallbackData: false });
 };

+ 9 - 9
packages/app/src/stores/ui.tsx

@@ -11,7 +11,7 @@ import loggerFactory from '~/utils/logger';
 
 import { useStaticSWR } from './use-static-swr';
 import {
-  useCurrentPagePath, useIsEditable, useIsPageExist, useIsTrashPage, useIsUserPage,
+  useCurrentPageId, useCurrentPagePath, useIsEditable, useIsTrashPage, useIsUserPage,
   useIsNotCreatable, useIsSharedUser, useNotFoundTargetPathOrId, useIsForbidden, useIsIdenticalPath,
 } from './context';
 import { IFocusable } from '~/client/interfaces/focusable';
@@ -314,16 +314,16 @@ export const useGlobalSearchFormRef = (initialData?: RefObject<IFocusable>): SWR
 
 export const useIsAbleToShowPageManagement = (): SWRResponse<boolean, Error> => {
   const key = 'isAbleToShowPageManagement';
-  const { data: isPageExist } = useIsPageExist();
+  const { data: currentPageId } = useCurrentPageId();
   const { data: isTrashPage } = useIsTrashPage();
   const { data: isSharedUser } = useIsSharedUser();
 
-  const includesUndefined = [isPageExist, isTrashPage, isSharedUser].some(v => v === undefined);
+  const includesUndefined = [currentPageId, isTrashPage, isSharedUser].some(v => v === undefined);
+  const isPageExist = currentPageId != null;
 
   return useSWRImmutable(
     includesUndefined ? null : key,
-    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
-    () => isPageExist! && !isTrashPage && !isSharedUser,
+    () => isPageExist && !isTrashPage && !isSharedUser,
   );
 };
 
@@ -364,14 +364,14 @@ export const useIsAbleToShowPageEditorModeManager = (): SWRResponse<boolean, Err
 
 export const useIsAbleToShowPageAuthors = (): SWRResponse<boolean, Error> => {
   const key = 'isAbleToShowPageAuthors';
-  const { data: isPageExist } = useIsPageExist();
+  const { data: currentPageId } = useCurrentPageId();
   const { data: isUserPage } = useIsUserPage();
 
-  const includesUndefined = [isPageExist, isUserPage].some(v => v === undefined);
+  const includesUndefined = [currentPageId, isUserPage].some(v => v === undefined);
+  const isPageExist = currentPageId != null;
 
   return useSWRImmutable(
     includesUndefined ? null : key,
-    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
-    () => isPageExist! && !isUserPage,
+    () => isPageExist && !isUserPage,
   );
 };