Skip to content

Commit c801028

Browse files
Fix: Hide 'Leave Project' button for project owners
1 parent 6711f7c commit c801028

3 files changed

Lines changed: 29 additions & 28 deletions

File tree

frontend/src/locale/en.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,6 @@
174174
"settings": "Settings",
175175
"join": "Join Project",
176176
"leave": "Leave Project",
177-
"owner_cannot_leave": "Owner Cannot Leave",
178177
"join_success": "Successfully joined the project",
179178
"leave_success": "Successfully left the project",
180179
"join_error": "Failed to join project",

frontend/src/pages/Project/Details/index.tsx

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,21 +48,23 @@ export const ProjectDetails: React.FC = () => {
4848
// Prevent owners and admins from leaving their projects
4949
const canLeave = !isProjectOwner && currentUserRole !== 'admin';
5050

51-
return (
52-
<Button
53-
onClick={() => handleLeaveProject(project.project_name, userData.username!, () => navigate(ROUTES.PROJECT.LIST))}
54-
disabled={isMemberActionLoading || !canLeave}
55-
variant="normal"
56-
>
57-
{!canLeave
58-
? t('projects.owner_cannot_leave')
59-
: isMemberActionLoading
60-
? t('common.loading')
61-
: t('projects.leave')
62-
}
63-
</Button>
64-
);
51+
if (canLeave) {
52+
return (
53+
<Button
54+
onClick={() => handleLeaveProject(project.project_name, userData.username!, () => navigate(ROUTES.PROJECT.LIST))}
55+
disabled={isMemberActionLoading}
56+
variant="normal"
57+
>
58+
{isMemberActionLoading
59+
? t('common.loading')
60+
: t('projects.leave')
61+
}
62+
</Button>
63+
);
64+
}
6565
}
66+
67+
return null;
6668
};
6769

6870
return (

frontend/src/pages/Project/Members/index.tsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -141,21 +141,21 @@ export const ProjectMembers: React.FC<IProps> = ({ members, loading, onChange, r
141141
// Prevent owners and admins from leaving their projects
142142
const canLeave = !isProjectOwner && currentUserRole !== 'admin';
143143

144-
actions.unshift(
145-
<Button
146-
key="leave"
147-
onClick={() => handleLeaveProject(project.project_name, userData.username!, () => navigate(ROUTES.PROJECT.LIST))}
148-
disabled={isMemberActionLoading || !canLeave}
149-
variant="normal"
150-
>
151-
{!canLeave
152-
? t('projects.owner_cannot_leave')
153-
: isMemberActionLoading
144+
if (canLeave) {
145+
actions.unshift(
146+
<Button
147+
key="leave"
148+
onClick={() => handleLeaveProject(project.project_name, userData.username!, () => navigate(ROUTES.PROJECT.LIST))}
149+
disabled={isMemberActionLoading}
150+
variant="normal"
151+
>
152+
{isMemberActionLoading
154153
? t('common.loading')
155154
: t('projects.leave')
156-
}
157-
</Button>
158-
);
155+
}
156+
</Button>
157+
);
158+
}
159159
}
160160
}
161161

0 commit comments

Comments
 (0)