{option.label}
{option?.["email"]}
);
export function MultiUserSelect({ onChange, label }: MultiUserSelectProps) {
const { t } = useTranslation();
const [searchValue, setSearchValue] = useState("");
const [debouncedQuery] = useDebouncedValue(searchValue, 500);
const { data: users, isLoading } = useWorkspaceMembersQuery({
query: debouncedQuery,
limit: 50,
});
const [data, setData] = useState([]);
useEffect(() => {
if (users) {
const usersData = users?.items.map((user: IUser) => {
return {
value: user.id,
label: user.name,
avatarUrl: user.avatarUrl,
email: user.email,
};
});
// Filter out existing users by their ids
const filteredUsersData = usersData.filter(
(user) =>
!data.find((existingUser) => existingUser.value === user.value),
);
// Combine existing data with new search data
setData((prevData) => [...prevData, ...filteredUsersData]);
}
}, [users]);
return (