|
|
@@ -1,8 +1,7 @@
|
|
|
+import type { IPageToDeleteWithMeta } from '@growi/core';
|
|
|
import { atom, useAtom } from 'jotai';
|
|
|
import { useCallback } from 'react';
|
|
|
|
|
|
-import type { IPageToDeleteWithMeta } from '@growi/core';
|
|
|
-
|
|
|
import type { OnDeletedFunction } from '../../../interfaces/ui';
|
|
|
|
|
|
// Type definitions
|
|
|
@@ -22,7 +21,7 @@ export type DeleteModalUtils = {
|
|
|
};
|
|
|
|
|
|
// Atom for page delete modal
|
|
|
-const pageDeleteModalAtom = atom<DeleteModalStatus>({
|
|
|
+const pageDeleteModalAtom = atom<DeleteModalStatus>({
|
|
|
isOpened: false,
|
|
|
pages: [],
|
|
|
});
|
|
|
@@ -31,17 +30,22 @@ const pageDeleteModalAtom = atom<DeleteModalStatus>({
|
|
|
* Hook for managing page delete modal state
|
|
|
* Used for deleting single or multiple pages
|
|
|
*/
|
|
|
-export const usePageDeleteModal = (): { data: DeleteModalStatus } & DeleteModalUtils => {
|
|
|
+export const usePageDeleteModal = (): {
|
|
|
+ data: DeleteModalStatus;
|
|
|
+} & DeleteModalUtils => {
|
|
|
const [status, setStatus] = useAtom(pageDeleteModalAtom);
|
|
|
-
|
|
|
- const open = useCallback((pages?: IPageToDeleteWithMeta[], opts?: IDeleteModalOption) => {
|
|
|
- setStatus({ isOpened: true, pages, opts });
|
|
|
- }, [setStatus]);
|
|
|
-
|
|
|
+
|
|
|
+ const open = useCallback(
|
|
|
+ (pages?: IPageToDeleteWithMeta[], opts?: IDeleteModalOption) => {
|
|
|
+ setStatus({ isOpened: true, pages, opts });
|
|
|
+ },
|
|
|
+ [setStatus],
|
|
|
+ );
|
|
|
+
|
|
|
const close = useCallback(() => {
|
|
|
setStatus({ isOpened: false, pages: [] });
|
|
|
}, [setStatus]);
|
|
|
-
|
|
|
+
|
|
|
return {
|
|
|
data: status,
|
|
|
open,
|