Allow only team owner to remove other members

This commit is contained in:
Francis Cao 2024-02-07 11:58:58 -08:00
parent 8969a010e8
commit a47f94c577
2 changed files with 12 additions and 3 deletions

View File

@ -1,15 +1,24 @@
'use client';
import { TeamContext } from 'app/(main)/teams/[teamId]/TeamProvider';
import TeamMembersDataTable from './TeamMembersDataTable';
import PageHeader from 'components/layout/PageHeader';
import { useMessages } from 'components/hooks';
import { useLogin, useMessages } from 'components/hooks';
import { ROLES } from 'lib/constants';
import { useContext } from 'react';
export function TeamMembersPage({ teamId }: { teamId: string }) {
const team = useContext(TeamContext);
const { user } = useLogin();
const { formatMessage, labels } = useMessages();
const canEdit = team?.teamUser?.find(
({ userId, role }) => role === ROLES.teamOwner && userId === user.id,
);
return (
<>
<PageHeader title={formatMessage(labels.members)} />
<TeamMembersDataTable teamId={teamId} allowEdit={true} />
<TeamMembersDataTable teamId={teamId} allowEdit={canEdit} />
</>
);
}

View File

@ -6,7 +6,7 @@ import TeamMemberRemoveButton from './TeamMemberRemoveButton';
export function TeamMembersTable({
data = [],
teamId,
allowEdit,
allowEdit = false,
}: {
data: any[];
teamId: string;