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;