import React from 'react'; import { Image, StyleSheet, View, ViewStyle } from 'react-native'; import { useStyles } from '../../hooks'; import { LLChatMessageItemBodyText, LLChatMessageItemBodyTextProps, } from './LLChatMessageItemBodyText'; import { IChatUserMessage, ComponentStyleProp, LLComponentStyleFn, } from '../../types'; export type LLChatMessageItemBodyStyles = { textContainer: ViewStyle; selfMessageTextContainer: ViewStyle; textContent: ViewStyle; }; export type LLChatMessageItemBodyProps = ComponentStyleProp & { message: IChatUserMessage; isSelfMessage: boolean; ChatMessageItemBodyText?: typeof LLChatMessageItemBodyText; ChatMessageItemBodyTextStyles?: LLChatMessageItemBodyTextProps['styles']; }; export function LLChatMessageItemBody({ message: messageDetails, isSelfMessage, styles: stylesProp, ChatMessageItemBodyTextStyles, ChatMessageItemBodyText = LLChatMessageItemBodyText, }: LLChatMessageItemBodyProps) { const messageItemBodyStyles = useStyles({ componentStylesFn: getMessageItemBodyStyles, stylesProp, }); return ( {messageDetails.image_url && !messageDetails.isDeleted ? ( ) : ( )} ); } const getMessageItemBodyStyles: LLComponentStyleFn = ({ theme }) => StyleSheet.create({ textContainer: { alignSelf: 'flex-start', marginTop: 8, flexWrap: 'wrap', }, selfMessageTextContainer: {}, textContent: { alignSelf: 'flex-start', alignItems: 'center', flexDirection: 'row', flexWrap: 'wrap', }, });