import React from 'react'; import { Pressable } from 'react-native'; import type { SendbirdMessage } from '@sendbird/uikit-utils'; import { getMessageTimeFormat } from '@sendbird/uikit-utils'; import Box from '../../components/Box'; import Text from '../../components/Text'; import createStyleSheet from '../../styles/createStyleSheet'; import useUIKitTheme from '../../theme/useUIKitTheme'; import Avatar from '../Avatar'; import type { GroupChannelMessageProps } from './index'; type Props = GroupChannelMessageProps; const MessageContainer = (props: Props) => { if (props.variant === 'incoming') { return ; } else { return ; } }; MessageContainer.Incoming = function MessageContainerIncoming({ children, replyInfo, groupedWithNext, groupedWithPrev, message, onPressAvatar, strings, parentMessage, }: Props) { const { colors } = useUIKitTheme(); const color = colors.ui.groupChannelMessage.incoming; return ( {(message.isFileMessage() || message.isUserMessage()) && !groupedWithNext && ( )} {parentMessage} {!groupedWithPrev && !parentMessage && ( {(message.isFileMessage() || message.isUserMessage()) && ( {strings?.senderName ?? message.sender.nickname} )} )} {children} {!groupedWithNext && ( {strings?.sentDate ?? getMessageTimeFormat(new Date(message.createdAt))} )} {replyInfo} ); }; MessageContainer.Outgoing = function MessageContainerOutgoing({ children, replyInfo, message, groupedWithNext, strings, sendingStatus, parentMessage, }: Props) { const { colors } = useUIKitTheme(); const color = colors.ui.groupChannelMessage.outgoing; return ( {parentMessage} {sendingStatus && {sendingStatus}} {!groupedWithNext && ( {strings?.sentDate ?? getMessageTimeFormat(new Date(message.createdAt))} )} {children} {replyInfo} ); }; const styles = createStyleSheet({ bubble: { maxWidth: 240, overflow: 'hidden', flexShrink: 1, }, }); export default MessageContainer;