import { FullModalCommonTitle } from '@/components/FullModal/CommonTitle'; import { IconBtn } from '@/components/IconBtn'; import { UserListItem } from '@/components/UserListItem'; import { useGroupMemberAction } from '@/hooks/useGroupMemberAction'; import { Dropdown, Input, MenuProps } from 'antd'; import React from 'react'; import { Icon } from 'tailchat-design'; import { t, UserBaseInfo } from 'tailchat-shared'; import { Virtuoso } from 'react-virtuoso'; /** * 群组成员管理 */ export const GroupMember: React.FC<{ groupId: string }> = React.memo( (props) => { const groupId = props.groupId; const { userInfos, searchText, setSearchText, isSearching, searchResult: filteredGroupMembers, generateActionMenu, } = useGroupMemberAction(groupId); const renderUser = (member: UserBaseInfo) => { const menu: MenuProps = generateActionMenu(member); return (
, ]} /> ); }; return (
{t('成员管理')}
} value={searchText} onChange={(e) => setSearchText(e.target.value)} />
renderUser(item)} />
); } ); GroupMember.displayName = 'GroupMember';