|
@@ -2,6 +2,7 @@ import { useCallback, useMemo } from 'react';
|
|
|
|
|
|
|
|
import { SWRResponse } from 'swr';
|
|
import { SWRResponse } from 'swr';
|
|
|
|
|
|
|
|
|
|
+import Linker from '~/client/models/Linker';
|
|
|
import MarkdownTable from '~/client/models/MarkdownTable';
|
|
import MarkdownTable from '~/client/models/MarkdownTable';
|
|
|
import { IPageToDeleteWithMeta, IPageToRenameWithMeta } from '~/interfaces/page';
|
|
import { IPageToDeleteWithMeta, IPageToRenameWithMeta } from '~/interfaces/page';
|
|
|
import {
|
|
import {
|
|
@@ -607,3 +608,32 @@ export const useTemplateModal = (): SWRResponse<TemplateModalStatus, Error> & Te
|
|
|
},
|
|
},
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
|
|
|
+
|
|
|
|
|
+/*
|
|
|
|
|
+ * LinkEditModal
|
|
|
|
|
+ */
|
|
|
|
|
+type LinkEditModalStatus = {
|
|
|
|
|
+ isOpened: boolean,
|
|
|
|
|
+ defaultMarkdownLink?: Linker,
|
|
|
|
|
+ onSave?: (linkText: string) => void
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+type LinkEditModalUtils = {
|
|
|
|
|
+ open(defaultMarkdownLink: Linker, onSave: (linkText: string) => void): void,
|
|
|
|
|
+ close(): void,
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+export const useLinkEditModal = (): SWRResponse<LinkEditModalStatus, Error> & LinkEditModalUtils => {
|
|
|
|
|
+
|
|
|
|
|
+ const initialStatus: LinkEditModalStatus = { isOpened: false };
|
|
|
|
|
+ const swrResponse = useStaticSWR<LinkEditModalStatus, Error>('linkEditModal', undefined, { fallbackData: initialStatus });
|
|
|
|
|
+
|
|
|
|
|
+ return Object.assign(swrResponse, {
|
|
|
|
|
+ open: (defaultMarkdownLink: Linker, onSave: (linkText: string) => void) => {
|
|
|
|
|
+ swrResponse.mutate({ isOpened: true, defaultMarkdownLink, onSave });
|
|
|
|
|
+ },
|
|
|
|
|
+ close: () => {
|
|
|
|
|
+ swrResponse.mutate({ isOpened: false });
|
|
|
|
|
+ },
|
|
|
|
|
+ });
|
|
|
|
|
+};
|