import React, { PropsWithChildren, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import TencentCloudChat from '@tencentcloud/chat'; import { MESSAGE_FLOW, MESSAGE_OPERATE } from '../../constants'; import { useTUIChatActionContext } from '../../context'; import type { MessageContextProps } from './MessageText'; function MessageRevokeWithContext ( props: PropsWithChildren, ):React.ReactElement { const { message, } = props; const { t } = useTranslation(); const { operateMessage } = useTUIChatActionContext('MessageRevokeWithContext'); const handleRevoke = useCallback(() => { operateMessage({ [MESSAGE_OPERATE.REVOKE]: message, }); }, [operateMessage]); return (
{ message?.flow === MESSAGE_FLOW.IN && {message?.nick || message?.from} } { message?.flow !== MESSAGE_FLOW.IN && {t('TUIChat.You')} } {t('TUIChat.recalled a message')} { message?.flow === MESSAGE_FLOW.OUT && message?.type === TencentCloudChat.TYPES.MSG_TEXT && {t('TUIChat.Re-edit')} }
); } const MemoizedMessageRevoke = React.memo(MessageRevokeWithContext) as typeof MessageRevokeWithContext; export function MessageRevoke(props:MessageContextProps):React.ReactElement { return ( ); }