import { useParams } from 'common' import { Search } from 'lucide-react' import { useState } from 'react' import { Admonition } from 'ui-patterns' import { Input } from 'ui-patterns/DataInputs/Input' import { InviteMemberButton } from './InviteMemberButton' import MembersView from './MembersView' import { ScaffoldActionsContainer, ScaffoldActionsGroup, ScaffoldContainer, ScaffoldFilterAndContent, ScaffoldSection, ScaffoldSectionContent, ScaffoldTitle, } from '@/components/layouts/Scaffold' import { DocsButton } from '@/components/ui/DocsButton' import { useOrganizationRolesV2Query } from '@/data/organization-members/organization-roles-query' import { useOrgProjectsInfiniteQuery } from '@/data/projects/org-projects-infinite-query' import { DOCS_URL } from '@/lib/constants' export const TeamSettings = () => { const { slug } = useParams() const [searchString, setSearchString] = useState('') const { data: roles } = useOrganizationRolesV2Query({ slug }) const hasProjectScopedRoles = (roles?.project_scoped_roles ?? []).length > 0 const { data } = useOrgProjectsInfiniteQuery({ slug }) const totalCount = data?.pages[0].pagination.count ?? 0 const threshold = 1000 return ( Team } value={searchString} onChange={(e: any) => setSearchString(e.target.value)} name="email" id="email" placeholder="Filter members" /> {hasProjectScopedRoles && totalCount > threshold && ( )} ) }