import { ButtonGroup, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React, { memo, ReactElement } from 'react'; import { IStats } from '../../../../definition/IStats'; import { useHasLicense } from '../../../../ee/client/hooks/useHasLicense'; import Card from '../../../components/Card'; import { UserStatus } from '../../../components/UserStatus'; import { useRoute } from '../../../contexts/RouterContext'; import { useTranslation } from '../../../contexts/TranslationContext'; import { useFormatMemorySize } from '../../../hooks/useFormatMemorySize'; import TextSeparator from './TextSeparator'; type UsageCardProps = { statistics: IStats; vertical: boolean; }; const UsageCard = ({ statistics, vertical }: UsageCardProps): ReactElement => { const t = useTranslation(); const formatMemorySize = useFormatMemorySize(); const router = useRoute('engagement-dashboard'); const handleEngagement = useMutableCallback(() => { router.push(); }); const canViewEngagement = useHasLicense('engagement-dashboard'); return ( {t('Usage')} {t('Users')} {t('Total')} } value={statistics.totalUsers} /> {' '} {t('Online')} } value={statistics.onlineUsers} /> {' '} {t('Busy')} } value={statistics.busyUsers} /> {' '} {t('Away')} } value={statistics.awayUsers} /> {' '} {t('Offline')} } value={statistics.offlineUsers} /> {t('Types_and_Distribution')} {t('Uploads')} {t('Rooms')} {t('Stats_Total_Rooms')} } value={statistics.totalRooms} /> {t('Stats_Total_Channels')} } value={statistics.totalChannels} /> {t('Stats_Total_Private_Groups')} } value={statistics.totalPrivateGroups} /> {t('Stats_Total_Direct_Messages')} } value={statistics.totalDirect} /> {t('Total_Discussions')} } value={statistics.totalDiscussions} /> {t('Stats_Total_Livechat_Rooms')} } value={statistics.totalLivechat} /> {t('Messages')} ); }; export default memo(UsageCard);