import type * as MessageParser from '@rocket.chat/message-parser'; import { useMemo, useContext, memo } from 'react'; import { MarkupInteractionContext } from '../MarkupInteractionContext'; import EmojiRenderer from './EmojiRenderer'; import PlainSpan from '../elements/PlainSpan'; export type EmojiProps = MessageParser.Emoji & { big?: boolean; preview?: boolean; }; const Emoji = ({ big = false, preview = false, ...emoji }: EmojiProps) => { const { convertAsciiToEmoji, useEmoji } = useContext(MarkupInteractionContext); const asciiEmoji = useMemo( () => ('shortCode' in emoji && emoji.value.value !== emoji.shortCode ? emoji.value.value : undefined), [emoji], ); if (!useEmoji && 'shortCode' in emoji) { return ; } if (!convertAsciiToEmoji && asciiEmoji) { return ; } return ; }; export default memo(Emoji);