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

132486 define typeof revisionId

soumaeda 2 лет назад
Родитель
Сommit
acf00fdfe0

+ 4 - 1
apps/app/src/components/PageControls/PageControls.tsx

@@ -296,7 +296,7 @@ const PageControlsSubstance = (props: PageControlsSubstanceProps): JSX.Element =
 type PageControlsProps = CommonProps & {
   pageId: string,
   shareLinkId?: string | null,
-  revisionId?: string | null,
+  revisionId?: string,
   path?: string | null,
   expandContentWidth?: boolean,
 };
@@ -312,6 +312,9 @@ export const PageControls = memo((props: PageControlsProps): JSX.Element => {
   const { open: openTagEditModal } = useTagEditModal();
 
   const onClickEditTagsButton = useCallback(() => {
+    if (pageId != null && revisionId != null) {
+      return;
+    }
     openTagEditModal(tagsInfoData?.tags, pageId, revisionId);
   }, [openTagEditModal, tagsInfoData?.tags, pageId, revisionId]);
 

+ 3 - 0
apps/app/src/components/PageSideContents/PageSideContents.tsx

@@ -45,6 +45,9 @@ const Tags = (props: TagsProps): JSX.Element => {
   const { open: openTagEditModal } = useTagEditModal();
 
   const onClickEditTagsButton = useCallback(() => {
+    if (pageId != null && revisionId != null) {
+      return;
+    }
     openTagEditModal(tagsInfoData?.tags, pageId, revisionId);
   }, [openTagEditModal, pageId, revisionId, tagsInfoData?.tags]);
 

+ 14 - 12
apps/app/src/stores/modal.tsx

@@ -700,7 +700,7 @@ export const useDeleteAttachmentModal = (): SWRResponse<DeleteAttachmentModalSta
   const open = useCallback((attachment: IAttachmentHasId, remove: Remove) => {
     mutate({ isOpened: true, attachment, remove });
   }, [mutate]);
-  const close = useCallback((): void => {
+  const close = useCallback(() => {
     mutate({ isOpened: false });
   }, [mutate]);
 
@@ -778,24 +778,26 @@ export const usePageSelectModal = (
 * TagEditModal
 */
 export type TagEditModalStatus = {
-  tags: string[],
   isOpen: boolean,
+  tags: string[],
   pageId: string,
   revisionId: string,
 }
 
 type TagEditModalUtils = {
-  open(tags, pageId, revisionId): void,
+  open(tags?: string[], pageId?: string, revisionId?: string): void,
   close(): void,
 }
 
 export const useTagEditModal = (): SWRResponse<TagEditModalStatus, Error> & TagEditModalUtils => {
-  const initialStatus: TagEditModalStatus = {
-    isOpen: false,
-    tags: [],
-    pageId: '',
-    revisionId: '',
-  };
+  const initialStatus: TagEditModalStatus = useMemo(() => {
+    return {
+      isOpen: false,
+      tags: [],
+      pageId: '',
+      revisionId: '',
+    };
+  }, []);
 
   const swrResponse = useStaticSWR<TagEditModalStatus, Error>('TagEditModal', undefined, { fallbackData: initialStatus });
   const { mutate } = swrResponse;
@@ -809,9 +811,9 @@ export const useTagEditModal = (): SWRResponse<TagEditModalStatus, Error> & TagE
     });
   }, [mutate]);
 
-  const close = useCallback(() => {
-    mutate({ isOpen: false });
-  }, [mutate]);
+  const close = useCallback(async() => {
+    mutate(initialStatus);
+  }, [initialStatus, mutate]);
 
   return {
     ...swrResponse,