From b7abab9df454ae762fad6648856d6c45959aa012 Mon Sep 17 00:00:00 2001 From: Philipinho <16838612+Philipinho@users.noreply.github.com> Date: Sun, 22 Feb 2026 07:34:50 +0000 Subject: [PATCH] fix permission call --- .../ee/page-permission/components/page-share-modal.tsx | 9 +++------ .../ee/page-permission/queries/page-permission-query.ts | 2 +- .../comment/components/comment-list-with-tabs.tsx | 6 +----- apps/client/src/features/page/types/page.types.ts | 4 ++++ apps/client/src/pages/page/page.tsx | 4 +--- 5 files changed, 10 insertions(+), 15 deletions(-) diff --git a/apps/client/src/ee/page-permission/components/page-share-modal.tsx b/apps/client/src/ee/page-permission/components/page-share-modal.tsx index 929af6a5..85ea8197 100644 --- a/apps/client/src/ee/page-permission/components/page-share-modal.tsx +++ b/apps/client/src/ee/page-permission/components/page-share-modal.tsx @@ -30,13 +30,10 @@ export function PageShareModal({ readOnly }: PageShareModalProps) { const { data: page } = usePageQuery({ pageId: pageSlugId }); const pageId = page?.id; + const isRestricted = page?.permissions?.hasRestriction ?? false; const { data: restrictionInfo, isLoading: restrictionLoading } = - usePageRestrictionInfoQuery(pageId); - - const isRestricted = - restrictionInfo?.hasDirectRestriction || - restrictionInfo?.hasInheritedRestriction; + usePageRestrictionInfoQuery(opened ? pageId : undefined); return ( <> @@ -47,7 +44,7 @@ export function PageShareModal({ readOnly }: PageShareModalProps) { {isRestricted ? ( diff --git a/apps/client/src/ee/page-permission/queries/page-permission-query.ts b/apps/client/src/ee/page-permission/queries/page-permission-query.ts index a2b53520..8a263faf 100644 --- a/apps/client/src/ee/page-permission/queries/page-permission-query.ts +++ b/apps/client/src/ee/page-permission/queries/page-permission-query.ts @@ -26,7 +26,7 @@ import { IPagination, QueryParams } from "@/lib/types"; import { useTranslation } from "react-i18next"; export function usePageRestrictionInfoQuery( - pageId: string, + pageId: string | undefined, ): UseQueryResult { return useQuery({ queryKey: ["page-restriction-info", pageId], diff --git a/apps/client/src/features/comment/components/comment-list-with-tabs.tsx b/apps/client/src/features/comment/components/comment-list-with-tabs.tsx index c493513d..3b394ab0 100644 --- a/apps/client/src/features/comment/components/comment-list-with-tabs.tsx +++ b/apps/client/src/features/comment/components/comment-list-with-tabs.tsx @@ -17,7 +17,6 @@ import { useTranslation } from "react-i18next"; import { useQueryEmit } from "@/features/websocket/use-query-emit"; import { useIsCloudEE } from "@/hooks/use-is-cloud-ee"; import { useGetSpaceBySlugQuery } from "@/features/space/queries/space-query.ts"; -import { usePagePermission } from "@/ee/page-permission"; function CommentListWithTabs() { const { t } = useTranslation(); @@ -34,10 +33,7 @@ function CommentListWithTabs() { const isCloudEE = useIsCloudEE(); const { data: space } = useGetSpaceBySlugQuery(page?.space?.slug); - const { canEdit: canComment } = usePagePermission( - page?.id, - space?.membership?.permissions, - ); + const canComment = page?.permissions?.canEdit ?? false; // Separate active and resolved comments const { activeComments, resolvedComments } = useMemo(() => { diff --git a/apps/client/src/features/page/types/page.types.ts b/apps/client/src/features/page/types/page.types.ts index a19809ce..3febafc5 100644 --- a/apps/client/src/features/page/types/page.types.ts +++ b/apps/client/src/features/page/types/page.types.ts @@ -22,6 +22,10 @@ export interface IPage { lastUpdatedBy: ILastUpdatedBy; deletedBy: IDeletedBy; space: Partial; + permissions?: { + canEdit: boolean; + hasRestriction: boolean; + }; } interface ICreator { diff --git a/apps/client/src/pages/page/page.tsx b/apps/client/src/pages/page/page.tsx index 6ddc204e..fc564b4b 100644 --- a/apps/client/src/pages/page/page.tsx +++ b/apps/client/src/pages/page/page.tsx @@ -13,8 +13,6 @@ 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 { usePagePermission } from "@/ee/page-permission"; - const MemoizedFullEditor = React.memo(FullEditor); const MemoizedPageHeader = React.memo(PageHeader); const MemoizedHistoryModal = React.memo(HistoryModal); @@ -54,7 +52,7 @@ function PageContent({ pageSlug }: { pageSlug: string | undefined }) { } = usePageQuery({ pageId: extractPageSlugId(pageSlug) }); const { data: space } = useGetSpaceBySlugQuery(page?.space?.slug); - const { canEdit } = usePagePermission(page?.id, space?.membership?.permissions); + const canEdit = page?.permissions?.canEdit ?? false; if (isLoading) { return <>;