import { Box, Button, ButtonGroup, Callout, Icon, Margins, ProgressBar, Skeleton, StatesAction, StatesIcon, StatesSubtitle, ToggleSwitch, } from '@rocket.chat/fuselage'; import { useEndpoint, useSetting, useTranslation } from '@rocket.chat/ui-contexts'; import { useMutation } from '@tanstack/react-query'; import React from 'react'; import { ContextualbarContent, ContextualbarFooter } from '../../../components/Contextualbar'; import { useIsEnterprise } from '../../../hooks/useIsEnterprise'; import { useActiveConnections } from './hooks/useActiveConnections'; const CustomUserStatusService = () => { const t = useTranslation(); const result = useActiveConnections(); const presenceDisabled = useSetting('Presence_broadcast_disabled'); const togglePresenceServiceEndpoint = useEndpoint('POST', '/v1/presence.enableBroadcast'); const disablePresenceService = useMutation(() => togglePresenceServiceEndpoint()); const { data: license, isLoading: licenseIsLoading } = useIsEnterprise(); if (result.isLoading || disablePresenceService.isLoading || licenseIsLoading) { return ( ); } if (result.isError || disablePresenceService.isError) { return ( Unable to load active connections result.refetch()}> Retry ); } const { current, max, percentage } = result.data; return ( <>
{t('Service_status')} disablePresenceService.mutate()} /> {t('Active_connections')} {license?.isEnterprise ? current : `${current}/${max}`} {!license?.isEnterprise && 80 ? 'danger' : 'success'} />} {presenceDisabled && ( {t('Service_disabled_description')} )}
{license?.isEnterprise ? ( <> {t('Enterprise_cap_description')} {t('Larger_amounts_of_active_connections')}{' '} {t('multiple_instance_solutions')} ) : ( <> {t('Community_cap_description')} {t('Enterprise_cap_description')} )}
{!license?.isEnterprise && ( )} ); }; export default CustomUserStatusService;