diff --git a/web/core/components/project/settings/member-columns.tsx b/web/core/components/project/settings/member-columns.tsx index b5b48d63151..eaa43dd7d18 100644 --- a/web/core/components/project/settings/member-columns.tsx +++ b/web/core/components/project/settings/member-columns.tsx @@ -90,7 +90,7 @@ export const AccountTypeColumn: React.FC = observer((props) => } = useForm(); // store hooks const { - project: { updateMember }, + project: { updateMember, getProjectMemberDetails }, workspace: { getWorkspaceMemberDetails }, } = useMember(); const { data: currentUser } = useUser(); @@ -101,7 +101,11 @@ export const AccountTypeColumn: React.FC = observer((props) => const isWorkspaceMember = [EUserPermissions.MEMBER].includes( Number(getWorkspaceMemberDetails(rowData.member.id)?.role) ?? EUserPermissions.GUEST ); - const isRoleNonEditable = isCurrentUser || (isProjectAdminOrGuest && !isWorkspaceMember); + const isCurrentUserProjectMember = currentUser + ? getProjectMemberDetails(currentUser.id)?.role === EUserPermissions.MEMBER + : false; + const isRoleNonEditable = + isCurrentUser || (isProjectAdminOrGuest && !isWorkspaceMember) || isCurrentUserProjectMember; const checkCurrentOptionWorkspaceRole = (value: string) => { const currentMemberWorkspaceRole = getWorkspaceMemberDetails(value)?.role as EUserPermissions | undefined;