Skip to content

Commit 2064f9e

Browse files
committed
[teams] inactivate Leave Team action for last team owner
1 parent ec744db commit 2064f9e

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

components/dashboard/src/teams/Members.tsx

+8
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export default function() {
3131
const [ showInviteModal, setShowInviteModal ] = useState<boolean>(false);
3232
const [ searchText, setSearchText ] = useState<string>('');
3333
const [ roleFilter, setRoleFilter ] = useState<TeamMemberRole | undefined>();
34+
const [ leaveTeamEnabled, setLeaveTeamEnabled ] = useState<boolean>(false);
3435

3536
useEffect(() => {
3637
if (!team) {
@@ -46,6 +47,12 @@ export default function() {
4647
})();
4748
}, [ team ]);
4849

50+
useEffect(() => {
51+
const owners = members.filter(m => m.role === "owner");
52+
const isOwner = owners.some(o => o.userId === user?.id);
53+
setLeaveTeamEnabled(!isOwner || owners.length > 1);
54+
}, [ members ]);
55+
4956
const ownMemberInfo = members.find(m => m.userId === user?.id);
5057

5158
const getInviteURL = (inviteId: string) => {
@@ -181,6 +188,7 @@ export default function() {
181188
? [{
182189
title: 'Leave Team',
183190
customFontStyle: 'text-red-600 dark:text-red-400 hover:text-red-800 dark:hover:text-red-300',
191+
active: leaveTeamEnabled,
184192
onClick: () => removeTeamMember(m.userId)
185193
}]
186194
: (ownMemberInfo?.role === 'owner'

0 commit comments

Comments
 (0)