From 69e7bd73f2bec8d36fa2614929a3977f36c2c216 Mon Sep 17 00:00:00 2001 From: Philipinho <16838612+Philipinho@users.noreply.github.com> Date: Mon, 27 Apr 2026 01:50:05 +0100 Subject: [PATCH] feat(base): render table icon in sidebar for is_base=true pages - Add isBase to SpaceTreeNode type - Forward isBase from IPage in buildTree utility - In the sidebar Node renderer, show IconTable when node.data.isBase is true and no custom emoji icon is set --- apps/client/src/features/page/tree/components/space-tree.tsx | 3 +++ apps/client/src/features/page/tree/types.ts | 1 + apps/client/src/features/page/tree/utils/utils.ts | 1 + 3 files changed, 5 insertions(+) diff --git a/apps/client/src/features/page/tree/components/space-tree.tsx b/apps/client/src/features/page/tree/components/space-tree.tsx index ee4d77458..3918c75f9 100644 --- a/apps/client/src/features/page/tree/components/space-tree.tsx +++ b/apps/client/src/features/page/tree/components/space-tree.tsx @@ -30,6 +30,7 @@ import { IconPointFilled, IconStar, IconStarFilled, + IconTable, IconTrash, } from "@tabler/icons-react"; import { @@ -422,6 +423,8 @@ function Node({ node, style, dragHandle, tree }: NodeRendererProps) { icon={ node.data.icon ? ( node.data.icon + ) : node.data.isBase ? ( + ) : ( ) diff --git a/apps/client/src/features/page/tree/types.ts b/apps/client/src/features/page/tree/types.ts index 6c60b157d..5d43df27e 100644 --- a/apps/client/src/features/page/tree/types.ts +++ b/apps/client/src/features/page/tree/types.ts @@ -7,6 +7,7 @@ export type SpaceTreeNode = { spaceId: string; parentPageId: string; hasChildren: boolean; + isBase?: boolean; canEdit?: boolean; children: SpaceTreeNode[]; }; diff --git a/apps/client/src/features/page/tree/utils/utils.ts b/apps/client/src/features/page/tree/utils/utils.ts index 0c42f9b92..8bdea777d 100644 --- a/apps/client/src/features/page/tree/utils/utils.ts +++ b/apps/client/src/features/page/tree/utils/utils.ts @@ -24,6 +24,7 @@ export function buildTree(pages: IPage[]): SpaceTreeNode[] { hasChildren: page.hasChildren, spaceId: page.spaceId, parentPageId: page.parentPageId, + isBase: page.isBase, canEdit: page.canEdit ?? page.permissions?.canEdit, children: [], };