UNPKG

@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
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