|
@@ -42,10 +42,11 @@ export const TrashPageAlert = (): JSX.Element => {
|
|
|
const deleteUser = pageData?.deleteUser;
|
|
const deleteUser = pageData?.deleteUser;
|
|
|
const deletedAt = pageData?.deletedAt ? format(new Date(pageData?.deletedAt), 'yyyy/MM/dd HH:mm') : '';
|
|
const deletedAt = pageData?.deletedAt ? format(new Date(pageData?.deletedAt), 'yyyy/MM/dd HH:mm') : '';
|
|
|
const revisionId = pageData?.revision?._id;
|
|
const revisionId = pageData?.revision?._id;
|
|
|
-
|
|
|
|
|
|
|
+ const isEmptyPage = pageId == null || revisionId == null || pagePath == null;
|
|
|
|
|
|
|
|
const openPutbackPageModalHandler = useCallback(() => {
|
|
const openPutbackPageModalHandler = useCallback(() => {
|
|
|
- if (pageId == null || pagePath == null) {
|
|
|
|
|
|
|
+ // User cannot operate empty page.
|
|
|
|
|
+ if (isEmptyPage) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
const putBackedHandler = () => {
|
|
const putBackedHandler = () => {
|
|
@@ -62,10 +63,11 @@ export const TrashPageAlert = (): JSX.Element => {
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
openPutBackPageModal({ pageId, path: pagePath }, { onPutBacked: putBackedHandler });
|
|
openPutBackPageModal({ pageId, path: pagePath }, { onPutBacked: putBackedHandler });
|
|
|
- }, [currentPagePath, mutateCurrentPage, openPutBackPageModal, pageId, pagePath, router]);
|
|
|
|
|
|
|
+ }, [currentPagePath, mutateCurrentPage, openPutBackPageModal, pageId, pagePath, router, isEmptyPage]);
|
|
|
|
|
|
|
|
const openPageDeleteModalHandler = useCallback(() => {
|
|
const openPageDeleteModalHandler = useCallback(() => {
|
|
|
- if (pageId === undefined || revisionId === undefined || pagePath === undefined) {
|
|
|
|
|
|
|
+ // User cannot operate empty page.
|
|
|
|
|
+ if (isEmptyPage) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
const pageToDelete = {
|
|
const pageToDelete = {
|
|
@@ -77,7 +79,7 @@ export const TrashPageAlert = (): JSX.Element => {
|
|
|
meta: pageInfo,
|
|
meta: pageInfo,
|
|
|
};
|
|
};
|
|
|
openDeleteModal([pageToDelete], { onDeleted: onDeletedHandler });
|
|
openDeleteModal([pageToDelete], { onDeleted: onDeletedHandler });
|
|
|
- }, [openDeleteModal, pageId, pageInfo, pagePath, revisionId]);
|
|
|
|
|
|
|
+ }, [openDeleteModal, pageId, pageInfo, pagePath, revisionId, isEmptyPage]);
|
|
|
|
|
|
|
|
const renderTrashPageManagementButtons = useCallback(() => {
|
|
const renderTrashPageManagementButtons = useCallback(() => {
|
|
|
return (
|
|
return (
|
|
@@ -103,7 +105,8 @@ export const TrashPageAlert = (): JSX.Element => {
|
|
|
);
|
|
);
|
|
|
}, [openPageDeleteModalHandler, openPutbackPageModalHandler, pageInfo?.isAbleToDeleteCompletely, t]);
|
|
}, [openPageDeleteModalHandler, openPutbackPageModalHandler, pageInfo?.isAbleToDeleteCompletely, t]);
|
|
|
|
|
|
|
|
- if (!isTrashPage) {
|
|
|
|
|
|
|
+ // Show this alert only for non-empty pages in trash.
|
|
|
|
|
+ if (!isTrashPage || isEmptyPage) {
|
|
|
return <></>;
|
|
return <></>;
|
|
|
}
|
|
}
|
|
|
|
|
|