import { Column, Heading, Row } from '@umami/react-zen'; import { TeamLeaveButton } from '@/app/(main)/teams/TeamLeaveButton'; import { PageHeader } from '@/components/common/PageHeader'; import { Panel } from '@/components/common/Panel'; import { useLoginQuery, useMessages, useNavigation, useTeam } from '@/components/hooks'; import { Users } from '@/components/icons'; import { labels } from '@/components/messages'; import { ROLES } from '@/lib/constants'; import { TeamsMemberAddButton } from '../TeamsMemberAddButton'; import { TeamEditForm } from './TeamEditForm'; import { TeamManage } from './TeamManage'; import { TeamMembersDataTable } from './TeamMembersDataTable'; export function TeamSettings({ teamId }: { teamId: string }) { const team: any = useTeam(); const { user } = useLoginQuery(); const { pathname } = useNavigation(); const { formatMessage } = useMessages(); const isAdmin = pathname.includes('/admin'); const isTeamOwner = !!team?.members?.find(({ userId, role }) => role === ROLES.teamOwner && userId === user.id) && user.role !== ROLES.viewOnly; const canEdit = user.isAdmin || (!!team?.members?.find( ({ userId, role }) => (role === ROLES.teamOwner || role === ROLES.teamManager) && userId === user.id, ) && user.role !== ROLES.viewOnly); return ( }> {!isTeamOwner && !isAdmin && } {formatMessage(labels.members)} {isAdmin && } {isTeamOwner && ( )} ); }