Shun Miyazawa 2 лет назад
Родитель
Сommit
d722cc9e37

+ 5 - 5
apps/app/src/components/PageEditor/PageEditor.tsx

@@ -123,7 +123,7 @@ export const PageEditor = React.memo((props: Props): JSX.Element => {
   const { data: defaultIndentSize } = useDefaultIndentSize();
   const { data: defaultIndentSize } = useDefaultIndentSize();
   const { data: acceptedUploadFileType } = useAcceptedUploadFileType();
   const { data: acceptedUploadFileType } = useAcceptedUploadFileType();
   const { open: openConflictDiffModal, close: closeConflictDiffModal } = useConflictDiffModal();
   const { open: openConflictDiffModal, close: closeConflictDiffModal } = useConflictDiffModal();
-  const { storeMethods: storeConflictHandler, clearMethods: clearConflictHandler } = usePageStatusAlert();
+  const { storeMethods: storeMethodsForPageStatusAlert, clearMethods: clearMethodsForPageStatusAlert } = usePageStatusAlert();
   const { data: editorSettings } = useEditorSettings();
   const { data: editorSettings } = useEditorSettings();
   const { setRemoteLatestPageData } = useSetRemoteLatestPageData();
   const { setRemoteLatestPageData } = useSetRemoteLatestPageData();
   const { data: user } = useCurrentUser();
   const { data: user } = useCurrentUser();
@@ -258,12 +258,12 @@ export const PageEditor = React.memo((props: Props): JSX.Element => {
       // Reflect conflict resolution results in CodeMirrorEditor
       // Reflect conflict resolution results in CodeMirrorEditor
       codeMirrorEditor?.initDoc(newMarkdown);
       codeMirrorEditor?.initDoc(newMarkdown);
 
 
-      clearConflictHandler();
+      clearMethodsForPageStatusAlert();
       closeConflictDiffModal();
       closeConflictDiffModal();
       toastSuccess(t('toaster.save_succeeded'));
       toastSuccess(t('toaster.save_succeeded'));
       updateStateAfterSave?.();
       updateStateAfterSave?.();
     };
     };
-  }, [clearConflictHandler, closeConflictDiffModal, codeMirrorEditor, save, t, updateStateAfterSave]);
+  }, [save, codeMirrorEditor, clearMethodsForPageStatusAlert, closeConflictDiffModal, t, updateStateAfterSave]);
 
 
   const onConflictHandler: ConflictHandler = useCallback((remoteRevidsionData, newMarkdown, saveOptions) => {
   const onConflictHandler: ConflictHandler = useCallback((remoteRevidsionData, newMarkdown, saveOptions) => {
     setRemoteLatestPageData(remoteRevidsionData);
     setRemoteLatestPageData(remoteRevidsionData);
@@ -274,8 +274,8 @@ export const PageEditor = React.memo((props: Props): JSX.Element => {
       openConflictDiffModal(newMarkdown, resolveConflictHandler);
       openConflictDiffModal(newMarkdown, resolveConflictHandler);
     };
     };
 
 
-    storeConflictHandler(conflictHandler);
-  }, [generateResolveConflictHandler, openConflictDiffModal, setRemoteLatestPageData, storeConflictHandler]);
+    storeMethodsForPageStatusAlert({ onResolveConflict: conflictHandler });
+  }, [setRemoteLatestPageData, generateResolveConflictHandler, storeMethodsForPageStatusAlert, openConflictDiffModal]);
 
 
   const saveAndReturnToViewHandler = useCallback(async(opts: {slackChannels: string, overwriteScopesOfDescendants?: boolean}) => {
   const saveAndReturnToViewHandler = useCallback(async(opts: {slackChannels: string, overwriteScopesOfDescendants?: boolean}) => {
     const markdown = codeMirrorEditor?.getDoc();
     const markdown = codeMirrorEditor?.getDoc();

+ 2 - 2
apps/app/src/components/PageStatusAlert.tsx

@@ -36,7 +36,7 @@ export const PageStatusAlert = (): JSX.Element => {
   }, [mutateEditingMarkdown, mutatePageData]);
   }, [mutateEditingMarkdown, mutatePageData]);
 
 
   const onClickResolveConflict = useCallback(() => {
   const onClickResolveConflict = useCallback(() => {
-    pageStatusAlertData?.onConflict?.();
+    pageStatusAlertData?.onResolveConflict?.();
   }, [pageStatusAlertData]);
   }, [pageStatusAlertData]);
 
 
   const alertContentsForView = useMemo(() => {
   const alertContentsForView = useMemo(() => {
@@ -86,7 +86,7 @@ export const PageStatusAlert = (): JSX.Element => {
     return <></>;
     return <></>;
   }
   }
 
 
-  const hasConflictHandler = pageStatusAlertData?.onConflict != null;
+  const hasConflictHandler = pageStatusAlertData?.onResolveConflict != null;
   if (!hasConflictHandler && editorMode === EditorMode.Editor) {
   if (!hasConflictHandler && editorMode === EditorMode.Editor) {
     return <></>;
     return <></>;
   }
   }

+ 7 - 7
apps/app/src/stores/alert.tsx

@@ -4,21 +4,21 @@ import type { SWRResponse } from 'swr';
 /*
 /*
 * PageStatusAlert
 * PageStatusAlert
 */
 */
-type PageStatusAlertStatus = {
-  onConflict?: () => void,
+type PageStatusAlertMethods = {
+  onResolveConflict?: () => void,
 }
 }
 
 
 type PageStatusAlertUtils = {
 type PageStatusAlertUtils = {
-  storeMethods: (conflictHandler: () => void) => void,
+  storeMethods: (methods: PageStatusAlertMethods) => void,
   clearMethods: () => void,
   clearMethods: () => void,
 }
 }
-export const usePageStatusAlert = (): SWRResponse<PageStatusAlertStatus, Error> & PageStatusAlertUtils => {
-  const swrResponse = useSWRStatic<PageStatusAlertStatus, Error>('pageStatusAlert', undefined);
+export const usePageStatusAlert = (): SWRResponse<PageStatusAlertMethods, Error> & PageStatusAlertUtils => {
+  const swrResponse = useSWRStatic<PageStatusAlertMethods, Error>('pageStatusAlert', undefined);
 
 
   return {
   return {
     ...swrResponse,
     ...swrResponse,
-    storeMethods(onConflict) {
-      swrResponse.mutate({ onConflict });
+    storeMethods(methods) {
+      swrResponse.mutate(methods);
     },
     },
     clearMethods() {
     clearMethods() {
       swrResponse.mutate({});
       swrResponse.mutate({});