From 79feee374471a349181bfa7faa350713ae67d322 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Thu, 22 Aug 2024 15:40:07 +0530 Subject: [PATCH] fix: project intake viewer permission validation --- .../projects/(detail)/[projectId]/inbox/header.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/inbox/header.tsx b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/inbox/header.tsx index 20d5befb275..9d977116dd8 100644 --- a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/inbox/header.tsx +++ b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/inbox/header.tsx @@ -9,8 +9,10 @@ import { Breadcrumbs, Button, Intake } from "@plane/ui"; // components import { BreadcrumbLink, Logo } from "@/components/common"; import { InboxIssueCreateEditModalRoot } from "@/components/inbox"; +// constants +import { EUserProjectRoles } from "@/constants/project"; // hooks -import { useProject, useProjectInbox } from "@/hooks/store"; +import { useProject, useProjectInbox, useUser } from "@/hooks/store"; export const ProjectInboxHeader: FC = observer(() => { // states @@ -18,9 +20,15 @@ export const ProjectInboxHeader: FC = observer(() => { // router const { workspaceSlug, projectId } = useParams(); // store hooks + const { + membership: { currentProjectRole }, + } = useUser(); const { currentProjectDetails, loader: currentProjectDetailsLoader } = useProject(); const { loader } = useProjectInbox(); + // derived value + const isViewer = currentProjectRole === EUserProjectRoles.VIEWER; + return (
@@ -58,7 +66,7 @@ export const ProjectInboxHeader: FC = observer(() => {
- {currentProjectDetails?.inbox_view && workspaceSlug && projectId && ( + {currentProjectDetails?.inbox_view && workspaceSlug && projectId && !isViewer && (