@livelike/react-native
Version:
LiveLike React Native package
65 lines (64 loc) • 2.16 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.LLChatMessageItemBody = LLChatMessageItemBody;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _hooks = require("../../hooks");
var _LLChatMessageItemBodyText = require("./LLChatMessageItemBodyText");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function LLChatMessageItemBody(_ref) {
let {
message: messageDetails,
isSelfMessage,
styles: stylesProp,
ChatMessageItemBodyTextStyles,
ChatMessageItemBodyText = _LLChatMessageItemBodyText.LLChatMessageItemBodyText
} = _ref;
const messageItemBodyStyles = (0, _hooks.useStyles)({
componentStylesFn: getMessageItemBodyStyles,
stylesProp
});
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [messageItemBodyStyles.textContainer, isSelfMessage && messageItemBodyStyles.selfMessageTextContainer]
}, messageDetails.image_url && !messageDetails.isDeleted ? /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
style: {
display: 'flex',
width: messageDetails.image_width,
height: messageDetails.image_height,
maxWidth: '95%'
},
source: {
uri: messageDetails.image_url
},
resizeMode: "contain"
}) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [messageItemBodyStyles.textContent]
}, /*#__PURE__*/_react.default.createElement(ChatMessageItemBodyText, {
message: messageDetails.message,
isDeleted: messageDetails.isDeleted,
isSelfMessage: isSelfMessage,
styles: ChatMessageItemBodyTextStyles
})));
}
const getMessageItemBodyStyles = _ref2 => {
let {
theme
} = _ref2;
return _reactNative.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