import React from 'react'; import { Box, Margins, Tag, Button, Icon } from '@rocket.chat/fuselage'; import { css } from '@rocket.chat/css-in-js'; import { useTimeAgo } from '../../hooks/useTimeAgo'; import { useTranslation } from '../../contexts/TranslationContext'; import VerticalBar from './VerticalBar'; import { UTCClock } from './UTCClock'; import UserAvatar from './avatar/UserAvatar'; import UserCard from './UserCard'; import MarkdownText from './MarkdownText'; const Label = (props) => ; const wordBreak = css` word-break: break-word; `; const Info = ({ className, ...props }) => ; const Avatar = ({ username, ...props }) => ; const Username = ({ username, status, ...props }) => ; export const UserInfo = React.memo(function UserInfo({ username, bio, email, status, phone, customStatus, roles = [], lastLogin, createdAt, utcOffset, customFields = [], name, data, nickname, // onChange, actions, ...props }) { const t = useTranslation(); const timeAgo = useTimeAgo(); return {actions} {customStatus} {!!roles && <> {roles} } {Number.isInteger(utcOffset) && <> } {username !== name && <> {username} } {lastLogin ? timeAgo(lastLogin) : t('Never')} {name && <> {name} } {nickname && <> {nickname} } {bio && <> } {phone && <> {phone} } {email && <> {email.address} {email.verified && {t('Verified')}} {email.verified || {t('Not_verified')}} } { customFields && Object.entries(customFields).map(([label, value]) => {value} ) } {timeAgo(createdAt)} ; }); export const Action = ({ icon, label, ...props }) => ( ); UserInfo.Action = Action; UserInfo.Avatar = Avatar; UserInfo.Info = Info; UserInfo.Label = Label; UserInfo.Username = Username; export default UserInfo;