import { Skeleton, ButtonGroup, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React, { memo } from 'react'; 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'; const UsageCard = memo(function UsageCard({ statistics, isLoading, vertical }) { const s = (fn) => (isLoading ? : fn()); 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={s(() => statistics.totalUsers)} /> {' '} {t('Online')} } value={s(() => statistics.onlineUsers)} /> {' '} {t('Busy')} } value={s(() => statistics.busyUsers)} /> {' '} {t('Away')} } value={s(() => statistics.awayUsers)} /> {' '} {t('Offline')} } value={s(() => statistics.offlineUsers)} /> {t('Types_and_Distribution')} statistics.totalConnectedUsers)} /> statistics.activeUsers)} /> statistics.activeGuests)} /> statistics.nonActiveUsers)} /> statistics.appUsers)} /> {t('Uploads')} statistics.uploadsTotal)} /> formatMemorySize(statistics.uploadsTotalSize))} /> {t('Rooms')} {t('Stats_Total_Rooms')} } value={s(() => statistics.totalRooms)} /> {t('Stats_Total_Channels')} } value={s(() => statistics.totalChannels)} /> {t('Stats_Total_Private_Groups')} } value={s(() => statistics.totalPrivateGroups)} /> {t('Stats_Total_Direct_Messages')} } value={s(() => statistics.totalDirect)} /> {t('Total_Discussions')} } value={s(() => statistics.totalDiscussions)} /> {t('Stats_Total_Livechat_Rooms')} } value={s(() => statistics.totalLivechat)} /> {t('Messages')} statistics.totalMessages)} /> statistics.totalThreads)} /> statistics.totalChannelMessages)} /> statistics.totalPrivateGroupMessages)} /> statistics.totalDirectMessages)} /> statistics.totalLivechatMessages)} /> ); }); export default UsageCard;