import type { IMessage, ITranslatedMessage } from '@rocket.chat/core-typings'; import { isEditedMessage, isE2EEMessage, isE2EEPinnedMessage } from '@rocket.chat/core-typings'; import { MessageStatusIndicator, MessageStatusIndicatorItem } from '@rocket.chat/fuselage'; import { useUserId } from '@rocket.chat/ui-contexts'; import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { useMessageDateFormatter, useShowStarred, useShowTranslated, useShowFollowing } from './list/MessageListContext'; type StatusIndicatorsProps = { message: IMessage & Partial; }; const StatusIndicators = ({ message }: StatusIndicatorsProps): ReactElement => { const { t } = useTranslation(); const translated = useShowTranslated(message); const starred = useShowStarred({ message }); const following = useShowFollowing({ message }); const isEncryptedMessage = isE2EEMessage(message) || isE2EEPinnedMessage(message); const uid = useUserId(); const formatter = useMessageDateFormatter(); return ( {translated && } {following && } {message.sentByEmail && } {isEditedMessage(message) && ( )} {message.pinned && } {isEncryptedMessage && } {starred && } ); }; export default StatusIndicators;