diff --git a/web/core/store/user/user-membership.store.ts b/web/core/store/user/user-membership.store.ts index ecc73e16f..226b3ce79 100644 --- a/web/core/store/user/user-membership.store.ts +++ b/web/core/store/user/user-membership.store.ts @@ -1,7 +1,8 @@ -import { set } from "lodash"; +import set from "lodash/set"; +import update from "lodash/update"; import { action, observable, runInAction, makeObservable, computed } from "mobx"; // types -import { IWorkspaceMemberMe, IProjectMember, IUserProjectsRole } from "@plane/types"; +import { IWorkspaceMemberMe, IProjectMember, IUserProjectsRole, IProjectMemberLite } from "@plane/types"; // constants import { EUserProjectRoles } from "@/constants/project"; import { EUserWorkspaceRoles } from "@/constants/workspace"; @@ -253,6 +254,15 @@ export class UserMembershipStore implements IUserMembershipStore { set(this.hasPermissionToProject, [projectId], false); // update the project member list with the new permissions set(this.store.projectRoot.project.projectMap, [projectId, "is_member"], false); + // remove user from project members list + update(this.store.projectRoot.project.projectMap, projectId, (project) => { + if (project) { + project.members = project.members.filter( + (member: IProjectMemberLite) => member.member_id !== this.store.user?.data?.id + ); + } + return project; + }); }); /**