diff --git a/apps/client/src/features/page/queries/page-query.ts b/apps/client/src/features/page/queries/page-query.ts
index 11ba7f32d..1dc4311be 100644
--- a/apps/client/src/features/page/queries/page-query.ts
+++ b/apps/client/src/features/page/queries/page-query.ts
@@ -193,6 +193,7 @@ export function useRestorePageMutation() {
spaceId: restoredPage.spaceId,
parentPageId: restoredPage.parentPageId,
hasChildren: restoredPage.hasChildren || false,
+ isBase: restoredPage.isBase,
children: [],
};
diff --git a/apps/client/src/features/page/trash/components/trash-page-content-modal.tsx b/apps/client/src/features/page/trash/components/trash-page-content-modal.tsx
index 842c4257c..6d1a2b4eb 100644
--- a/apps/client/src/features/page/trash/components/trash-page-content-modal.tsx
+++ b/apps/client/src/features/page/trash/components/trash-page-content-modal.tsx
@@ -1,12 +1,15 @@
import { Modal, Text, ScrollArea } from "@mantine/core";
+import { IconTable } from "@tabler/icons-react";
import { useTranslation } from "react-i18next";
import ReadonlyPageEditor from "@/features/editor/readonly-page-editor.tsx";
+import { EmptyState } from "@/components/ui/empty-state.tsx";
interface Props {
opened: boolean;
onClose: () => void;
pageTitle: string;
pageContent: any;
+ isBase?: boolean;
}
export default function TrashPageContentModal({
@@ -14,6 +17,7 @@ export default function TrashPageContentModal({
onClose,
pageTitle,
pageContent,
+ isBase,
}: Props) {
const { t } = useTranslation();
const title = pageTitle || t("Untitled");
@@ -32,7 +36,15 @@ export default function TrashPageContentModal({
-
+ {isBase ? (
+
+ ) : (
+
+ )}
diff --git a/apps/client/src/features/page/trash/components/trash.tsx b/apps/client/src/features/page/trash/components/trash.tsx
index 2b5ca9649..6863e8921 100644
--- a/apps/client/src/features/page/trash/components/trash.tsx
+++ b/apps/client/src/features/page/trash/components/trash.tsx
@@ -14,7 +14,6 @@ import {
IconDots,
IconRestore,
IconTrash,
- IconFileDescription,
} from "@tabler/icons-react";
import { TrashBanner } from "@/features/page/trash/components/trash-banner.tsx";
import {
@@ -31,6 +30,7 @@ import { UserInfo } from "@/components/common/user-info.tsx";
import Paginate from "@/components/common/paginate.tsx";
import { useCursorPaginate } from "@/hooks/use-cursor-paginate";
import { useRestorePageModal } from "@/features/page/hooks/use-restore-page-modal.tsx";
+import { PageListIcon } from "@/components/common/page-list-icon";
export default function Trash() {
const { t } = useTranslation();
@@ -47,6 +47,7 @@ export default function Trash() {
const [selectedPage, setSelectedPage] = useState<{
title: string;
content: any;
+ isBase?: boolean;
} | null>(null);
const [modalOpened, setModalOpened] = useState(false);
@@ -79,7 +80,11 @@ export default function Trash() {
const hasPages = deletedPages && deletedPages.items.length > 0;
const handlePageClick = (page: any) => {
- setSelectedPage({ title: page.title, content: page.content });
+ setSelectedPage({
+ title: page.title,
+ content: page.content,
+ isBase: page.isBase,
+ });
setModalOpened(true);
};
@@ -118,15 +123,7 @@ export default function Trash() {
style={{ cursor: "pointer" }}
onClick={() => handlePageClick(page)}
>
- {page.icon || (
-
-
-
- )}
+
{page.title || t("Untitled")}
@@ -207,6 +204,7 @@ export default function Trash() {
onClose={() => setModalOpened(false)}
pageTitle={selectedPage.title}
pageContent={selectedPage.content}
+ isBase={selectedPage.isBase}
/>
)}