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;