@livelike/react-native
Version:
LiveLike React Native package
58 lines • 1.8 kB
JavaScript
import React from 'react';
import { Image, StyleSheet, View } from 'react-native';
import { useStyles } from '../../hooks';
import { LLChatMessageItemBodyText } from './LLChatMessageItemBodyText';
export function LLChatMessageItemBody(_ref) {
let {
message: messageDetails,
isSelfMessage,
styles: stylesProp,
ChatMessageItemBodyTextStyles,
ChatMessageItemBodyText = LLChatMessageItemBodyText
} = _ref;
const messageItemBodyStyles = useStyles({
componentStylesFn: getMessageItemBodyStyles,
stylesProp
});
return /*#__PURE__*/React.createElement(View, {
style: [messageItemBodyStyles.textContainer, isSelfMessage && messageItemBodyStyles.selfMessageTextContainer]
}, messageDetails.image_url && !messageDetails.isDeleted ? /*#__PURE__*/React.createElement(Image, {
style: {
display: 'flex',
width: messageDetails.image_width,
height: messageDetails.image_height,
maxWidth: '95%'
},
source: {
uri: messageDetails.image_url
},
resizeMode: "contain"
}) : /*#__PURE__*/React.createElement(View, {
style: [messageItemBodyStyles.textContent]
}, /*#__PURE__*/React.createElement(ChatMessageItemBodyText, {
message: messageDetails.message,
isDeleted: messageDetails.isDeleted,
isSelfMessage: isSelfMessage,
styles: ChatMessageItemBodyTextStyles
})));
}
const getMessageItemBodyStyles = _ref2 => {
let {
theme
} = _ref2;
return StyleSheet.create({
textContainer: {
alignSelf: 'flex-start',
marginTop: 8,
flexWrap: 'wrap'
},
selfMessageTextContainer: {},
textContent: {
alignSelf: 'flex-start',
alignItems: 'center',
flexDirection: 'row',
flexWrap: 'wrap'
}
});
};
//# sourceMappingURL=LLChatMessageItemBody.js.map