From fd50502de3096d7e35be94b41540749c660c9d60 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Wed, 16 Oct 2024 14:48:07 +0530 Subject: [PATCH 1/2] fix: workspace draft header action validation --- .../(projects)/drafts/header.tsx | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/web/app/[workspaceSlug]/(projects)/drafts/header.tsx b/web/app/[workspaceSlug]/(projects)/drafts/header.tsx index 41c68bdbb7e..f77e61c3199 100644 --- a/web/app/[workspaceSlug]/(projects)/drafts/header.tsx +++ b/web/app/[workspaceSlug]/(projects)/drafts/header.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC, useState } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { PenSquare } from "lucide-react"; // ui @@ -11,16 +11,17 @@ import { CreateUpdateIssueModal } from "@/components/issues"; // constants import { EIssuesStoreType } from "@/constants/issue"; // hooks -import { useUserPermissions, useWorkspaceDraftIssues } from "@/hooks/store"; +import { useProject, useUserPermissions, useWorkspaceDraftIssues } from "@/hooks/store"; // plane-web import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions"; -export const WorkspaceDraftHeader: FC = observer(() => { +export const WorkspaceDraftHeader = observer(() => { // state const [isDraftIssueModalOpen, setIsDraftIssueModalOpen] = useState(false); // store hooks const { allowPermissions } = useUserPermissions(); const { paginationInfo } = useWorkspaceDraftIssues(); + const { joinedProjectIds } = useProject(); // check if user is authorized to create draft issue const isAuthorizedUser = allowPermissions( [EUserPermissions.ADMIN, EUserPermissions.MEMBER], @@ -53,15 +54,17 @@ export const WorkspaceDraftHeader: FC = observer(() => { - + {joinedProjectIds && joinedProjectIds.length > 0 && ( + + )} From bc1156382db0fb1897623a67c8e12a4d2faa8095 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Wed, 16 Oct 2024 14:48:29 +0530 Subject: [PATCH 2/2] fix: delete project mutation --- web/core/store/project/project.store.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/web/core/store/project/project.store.ts b/web/core/store/project/project.store.ts index 4330dfe01c9..64abe25b310 100644 --- a/web/core/store/project/project.store.ts +++ b/web/core/store/project/project.store.ts @@ -404,6 +404,7 @@ export class ProjectStore implements IProjectStore { runInAction(() => { delete this.projectMap[projectId]; if (this.rootStore.favorite.entityMap[projectId]) this.rootStore.favorite.removeFavoriteFromStore(projectId); + delete this.rootStore.user.permission.workspaceProjectsPermissions[workspaceSlug][projectId]; }); } catch (error) { console.log("Failed to delete project from project store");