From 19821d3aeb266a5af988c96dedfd0061a163c363 Mon Sep 17 00:00:00 2001 From: Philipinho <16838612+Philipinho@users.noreply.github.com> Date: Mon, 27 Apr 2026 01:49:54 +0100 Subject: [PATCH] feat(base): page renderer dispatches to base view when page.isBase - Add isBase to page repo baseFields so it is always selected - Add isBase to sidebar pages query select list - Add isBase to client IPage type - In PageContent, render when page.isBase is true instead of the TipTap editor path --- apps/client/src/features/page/types/page.types.ts | 1 + apps/client/src/pages/page/page.tsx | 13 +++++++++++++ apps/server/src/core/page/services/page.service.ts | 1 + apps/server/src/database/repos/page/page.repo.ts | 1 + 4 files changed, 16 insertions(+) diff --git a/apps/client/src/features/page/types/page.types.ts b/apps/client/src/features/page/types/page.types.ts index 0bba09ff1..41cf689fa 100644 --- a/apps/client/src/features/page/types/page.types.ts +++ b/apps/client/src/features/page/types/page.types.ts @@ -12,6 +12,7 @@ export interface IPage { spaceId: string; workspaceId: string; isLocked: boolean; + isBase: boolean; lastUpdatedById: string; createdAt: Date; updatedAt: Date; diff --git a/apps/client/src/pages/page/page.tsx b/apps/client/src/pages/page/page.tsx index b4e3baa80..b6b7da3ce 100644 --- a/apps/client/src/pages/page/page.tsx +++ b/apps/client/src/pages/page/page.tsx @@ -13,6 +13,7 @@ import { IconAlertTriangle, IconFileOff } from "@tabler/icons-react"; import { Button } from "@mantine/core"; import { Link } from "react-router-dom"; import { ErrorBoundary } from "react-error-boundary"; +import { BaseTable } from "@/features/base/components/base-table"; const MemoizedFullEditor = React.memo(FullEditor); const MemoizedPageHeader = React.memo(PageHeader); const MemoizedHistoryModal = React.memo(HistoryModal); @@ -90,6 +91,18 @@ function PageContent({ pageSlug }: { pageSlug: string | undefined }) { return <>; } + if (page?.isBase) { + return ( +
+ + {`${page?.icon || ""} ${page?.title || t("untitled")}`} + + + +
+ ); + } + return ( page && (
diff --git a/apps/server/src/core/page/services/page.service.ts b/apps/server/src/core/page/services/page.service.ts index 2f0462f92..244bff8bf 100644 --- a/apps/server/src/core/page/services/page.service.ts +++ b/apps/server/src/core/page/services/page.service.ts @@ -289,6 +289,7 @@ export class PageService { 'parentPageId', 'spaceId', 'creatorId', + 'isBase', 'deletedAt', ]) .select((eb) => this.pageRepo.withHasChildren(eb)) diff --git a/apps/server/src/database/repos/page/page.repo.ts b/apps/server/src/database/repos/page/page.repo.ts index a35234f66..30137529c 100644 --- a/apps/server/src/database/repos/page/page.repo.ts +++ b/apps/server/src/database/repos/page/page.repo.ts @@ -38,6 +38,7 @@ export class PageRepo { 'spaceId', 'workspaceId', 'isLocked', + 'isBase', 'createdAt', 'updatedAt', 'deletedAt',