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;