stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
47 lines • 2.1 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useMessageData = void 0;
var _MessageContext = require("../../../contexts/messageContext/MessageContext");
var _utils = require("../../../utils/utils");
var useMessageData = ({
channel: propChannel,
groupStyles: propGroupStyles,
isMyMessage: propIsMyMessage,
message: propMessage
}) => {
var _channel$state$messag;
var _useMessageContext = (0, _MessageContext.useMessageContext)(),
contextChannel = _useMessageContext.channel,
contextGroupStyles = _useMessageContext.groupStyles,
contextIsMyMessage = _useMessageContext.isMyMessage,
contextMessage = _useMessageContext.message;
var channel = propChannel || contextChannel;
var groupStyles = propGroupStyles || contextGroupStyles;
var isMyMessage = propIsMyMessage || contextIsMyMessage;
var message = propMessage || contextMessage;
var isVeryLastMessage = (channel == null || (_channel$state$messag = channel.state.messages[(channel == null ? void 0 : channel.state.messages.length) - 1]) == null ? void 0 : _channel$state$messag.id) === message.id;
var messageGroupedSingle = groupStyles.includes('single');
var messageGroupedBottom = groupStyles.includes('bottom');
var messageGroupedTop = groupStyles.includes('top');
var messageGroupedMiddle = groupStyles.includes('middle');
var messageGroupedSingleOrBottom = messageGroupedSingle || messageGroupedBottom;
var isMessageErrorType = message.type === 'error' || message.status === _utils.MessageStatusTypes.FAILED;
var isMessageTypeDeleted = message.type === 'deleted';
var isMessageReceivedOrErrorType = !isMyMessage || isMessageErrorType;
var hasThreadReplies = !!(message != null && message.reply_count);
return {
hasThreadReplies,
isMessageErrorType,
isMessageReceivedOrErrorType,
isMessageTypeDeleted,
isVeryLastMessage,
messageGroupedSingle,
messageGroupedBottom,
messageGroupedTop,
messageGroupedSingleOrBottom,
messageGroupedMiddle
};
};
exports.useMessageData = useMessageData;
//# sourceMappingURL=useMessageData.js.map