The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/client/components/UserStatus/UserStatus.tsx

27 lines
983 B

import { StatusBullet } from '@rocket.chat/fuselage';
import React, { memo, ComponentProps, ReactElement } from 'react';
import { useTranslation } from '../../contexts/TranslationContext';
type UserStatusProps = {
small?: boolean;
} & ComponentProps<typeof StatusBullet>;
const UserStatus = ({ small, status, ...props }: UserStatusProps): ReactElement => {
const size = small ? 'small' : 'large';
const t = useTranslation();
switch (status) {
case 'online':
return <StatusBullet size={size} status={status} title={t('Online')} {...props} />;
case 'busy':
return <StatusBullet size={size} status={status} title={t('Busy')} {...props} />;
case 'away':
return <StatusBullet size={size} status={status} title={t('Away')} {...props} />;
case 'offline':
return <StatusBullet size={size} status={status} title={t('Offline')} {...props} />;
default:
return <StatusBullet size={size} title={t('Loading')} {...props} />;
}
};
export default memo(UserStatus);