import React from 'react'; import { useTranslation } from '../../../hooks/useTranslation'; import { SkeletonText } from './SkeletonText'; import { useFormatters } from '../../../hooks/useFormatters'; import { InformationList } from './InformationList'; import { InformationEntry } from './InformationEntry'; export function UsageSection({ statistics, isLoading }) { const s = (fn) => (isLoading ? : fn()); const t = useTranslation(); const { formatMemorySize } = useFormatters(); if (!statistics) { return null; } return <>

{t('Usage')}

{s(() => statistics.totalUsers)} {s(() => statistics.activeUsers)} {s(() => statistics.nonActiveUsers)} {s(() => statistics.totalConnectedUsers)} {s(() => statistics.onlineUsers)} {s(() => statistics.awayUsers)} {s(() => statistics.offlineUsers)} {s(() => statistics.totalRooms)} {s(() => statistics.totalChannels)} {s(() => statistics.totalPrivateGroups)} {s(() => statistics.totalDirect)} {s(() => statistics.totalLivechat)} {s(() => statistics.totalDiscussions)} {s(() => statistics.totalThreads)} {s(() => statistics.totalMessages)} {s(() => statistics.totalChannelMessages)} {s(() => statistics.totalPrivateGroupMessages)} {s(() => statistics.totalDirectMessages)} {s(() => statistics.totalLivechatMessages)} {s(() => statistics.uploadsTotal)} {s(() => formatMemorySize(statistics.uploadsTotalSize))} {statistics.apps && <> {statistics.apps.totalInstalled} {statistics.apps.totalActive} } {s(() => statistics.integrations.totalIntegrations)} {s(() => statistics.integrations.totalIncoming)} {s(() => statistics.integrations.totalIncomingActive)} {s(() => statistics.integrations.totalOutgoing)} {s(() => statistics.integrations.totalOutgoingActive)} {s(() => statistics.integrations.totalWithScriptEnabled)} ; }