import { MessageFooterCallout } from '@rocket.chat/ui-composer'; import { useUserId } from '@rocket.chat/ui-contexts'; import { useTranslation } from 'react-i18next'; import { useIsRoomOverMacLimit } from '../../../omnichannel/hooks/useIsRoomOverMacLimit'; import { useOmnichannelRoom, useUserIsSubscribed } from '../../contexts/RoomContext'; import type { ComposerMessageProps } from '../ComposerMessage'; import ComposerMessage from '../ComposerMessage'; import ComposerOmnichannelCallout from './ComposerOmnichannelCallout'; import { ComposerOmnichannelInquiry } from './ComposerOmnichannelInquiry'; import { ComposerOmnichannelJoin } from './ComposerOmnichannelJoin'; import { ComposerOmnichannelOnHold } from './ComposerOmnichannelOnHold'; const ComposerOmnichannel = (props: ComposerMessageProps) => { const { t } = useTranslation(); const userId = useUserId(); const room = useOmnichannelRoom(); const { servedBy, queuedAt, open, onHold } = room; const isSubscribed = useUserIsSubscribed(); const isInquired = !servedBy && queuedAt; const isSameAgent = servedBy?._id === userId; const isRoomOverMacLimit = useIsRoomOverMacLimit(room); if (!open) { return ( <> {t('This_conversation_is_already_closed')} ); } if (isRoomOverMacLimit) { return ( <> {t('Workspace_exceeded_MAC_limit_disclaimer')} ); } if (onHold) { return ( <> ); } if (isInquired) { return ( <> ); } if (!isSubscribed && !isSameAgent) { return ( <> ); } return ( <> ); }; export default ComposerOmnichannel;