import { Box, Icon, Option, OptionAvatar, OptionColumn, OptionContent, OptionDescription, OptionMenu } from '@rocket.chat/fuselage'; import { UserAvatar } from '@rocket.chat/ui-avatar'; import { GenericMenu } from '@rocket.chat/ui-client'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { getUserDisplayNames } from '../../../../../lib/getUserDisplayNames'; import { normalizeUsername } from '../../../../../lib/utils/normalizeUsername'; import { ReactiveUserStatus } from '../../../../components/UserStatus'; import type { BannedUser } from '../../../hooks/useRoomBannedUsers'; export type BannedUsersItemProps = { user: BannedUser; useRealName: boolean; onClickUnban: (username: string) => void; }; const BannedUsersItem = ({ user, useRealName, onClickUnban }: BannedUsersItemProps) => { const { t } = useTranslation(); const [nameOrUsername, displayUsername] = getUserDisplayNames(user.name, user.username, useRealName); const federated = user.username.startsWith('@') && user.username.includes(':'); const options = useMemo( () => [ { id: 'unban-user', content: {t('Unban_user_from_room')}, icon: 'ban' as const, iconColor: 'status-font-on-danger', onClick: () => onClickUnban(user.username), }, ], [onClickUnban, t, user.username], ); return ( ); }; export default BannedUsersItem;