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'; 'use client';
import { TeamContext } from 'app/(main)/teams/[teamId]/TeamProvider';
import TeamMembersDataTable from './TeamMembersDataTable'; import TeamMembersDataTable from './TeamMembersDataTable';
import PageHeader from 'components/layout/PageHeader'; 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 }) { export function TeamMembersPage({ teamId }: { teamId: string }) {
const team = useContext(TeamContext);
const { user } = useLogin();
const { formatMessage, labels } = useMessages(); const { formatMessage, labels } = useMessages();
const canEdit = team?.teamUser?.find(
({ userId, role }) => role === ROLES.teamOwner && userId === user.id,
);
return ( return (
<> <>
<PageHeader title={formatMessage(labels.members)} /> <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({ export function TeamMembersTable({
data = [], data = [],
teamId, teamId,
allowEdit, allowEdit = false,
}: { }: {
data: any[]; data: any[];
teamId: string; teamId: string;