import { AutoComplete, Option, Box } from '@rocket.chat/fuselage'; import { RoomAvatar } from '@rocket.chat/ui-avatar'; import { useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; import type { ComponentProps } from 'react'; import { memo, useMemo, useState } from 'react'; export type TeamAutocompleteProps = Omit, 'filter'>; const TeamAutocomplete = ({ value, onChange, ...props }: TeamAutocompleteProps) => { const [filter, setFilter] = useState(''); const teamsAutoCompleteEndpoint = useEndpoint('GET', '/v1/teams.autocomplete'); const { data, isSuccess } = useQuery({ queryKey: ['teamsAutoComplete', filter], queryFn: async () => teamsAutoCompleteEndpoint({ name: filter }), }); const options = useMemo( () => isSuccess ? data?.teams.map(({ name, teamId, _id, avatarETag, t }) => ({ value: teamId as string, label: { name, avatarETag, type: t, _id }, })) : [], [data, isSuccess], ); return ( ( {room.name} )} renderItem={({ value, label: room, ...props }) => (