@sendbird/uikit-react
Version:
Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
39 lines (36 loc) • 2.09 kB
JavaScript
import { i as isSameDay } from '../../chunks/bundle-otQQaCra.js';
import { compareMessagesForGrouping } from './compareMessagesForGrouping.js';
import '../../chunks/bundle-BGdOmHwC.js';
import '../../chunks/bundle-3nZUyzSE.js';
import '../../chunks/bundle-D0GNokoe.js';
import '../../chunks/bundle-D4ssOJFH.js';
import '../../chunks/bundle-B7RvGM03.js';
import '@sendbird/chat/groupChannel';
import '../../utils/message/getOutgoingMessageState.js';
import '../../chunks/bundle-DHiHHi0U.js';
import '../../chunks/bundle-jVso52Zj.js';
import '../../chunks/bundle-DwUX_8pX.js';
/**
* exported, should be backward compatible
*/
var getMessagePartsInfo = function (_a) {
var allMessages = _a.allMessages, stringSet = _a.stringSet, _b = _a.isMessageGroupingEnabled, isMessageGroupingEnabled = _b === void 0 ? true : _b, _c = _a.currentIndex, currentIndex = _c === void 0 ? 0 : _c, currentMessage = _a.currentMessage, _d = _a.currentChannel, currentChannel = _d === void 0 ? null : _d, _e = _a.replyType, replyType = _e === void 0 ? '' : _e;
var previousMessage = allMessages[currentIndex - 1];
var nextMessage = allMessages[currentIndex + 1];
var _f = isMessageGroupingEnabled
? compareMessagesForGrouping(previousMessage, currentMessage, nextMessage, stringSet, currentChannel, replyType)
: [false, false], chainTop = _f[0], chainBottom = _f[1];
var previousMessageCreatedAt = previousMessage === null || previousMessage === void 0 ? void 0 : previousMessage.createdAt;
var currentCreatedAt = currentMessage.createdAt;
// NOTE: for pending/failed messages
var isLocalMessage = 'sendingStatus' in currentMessage && (currentMessage.sendingStatus !== 'succeeded');
// https://stackoverflow.com/a/41855608
var hasSeparator = isLocalMessage ? false : !(previousMessageCreatedAt && (isSameDay(currentCreatedAt, previousMessageCreatedAt)));
return {
chainTop: chainTop,
chainBottom: chainBottom,
hasSeparator: hasSeparator,
};
};
export { getMessagePartsInfo };
//# sourceMappingURL=getMessagePartsInfo.js.map