stream-chat-react-native-core 8.6.1 → 8.6.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Channel/Channel.js +13 -3
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +3 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +5 -3
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewData.js +38 -21
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewData.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageBubble.js +157 -0
- package/lib/commonjs/components/Message/MessageSimple/MessageBubble.js.map +1 -0
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +29 -124
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageFlashList.js +56 -65
- package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +20 -8
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js +5 -3
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/hooks/usePrunableMessageList.js +63 -0
- package/lib/commonjs/hooks/usePrunableMessageList.js.map +1 -0
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +13 -3
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js +3 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +5 -3
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewData.js +38 -21
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewData.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageBubble.js +157 -0
- package/lib/module/components/Message/MessageSimple/MessageBubble.js.map +1 -0
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +29 -124
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/MessageList/MessageFlashList.js +56 -65
- package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +20 -8
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js +5 -3
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/module/hooks/usePrunableMessageList.js +63 -0
- package/lib/module/hooks/usePrunableMessageList.js.map +1 -0
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageBubble.d.ts +11 -0
- package/lib/typescript/components/Message/MessageSimple/MessageBubble.d.ts.map +1 -0
- package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/MessageFlashList.d.ts +10 -1
- package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +1 -0
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +6 -0
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
- package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +5 -0
- package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts.map +1 -1
- package/lib/typescript/hooks/usePrunableMessageList.d.ts +19 -0
- package/lib/typescript/hooks/usePrunableMessageList.d.ts.map +1 -0
- package/lib/typescript/hooks/useTranslatedMessage.d.ts +4 -0
- package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/components/Channel/Channel.tsx +9 -1
- package/src/components/Channel/hooks/useCreateChannelContext.ts +3 -0
- package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +3 -1
- package/src/components/ChannelPreview/hooks/useChannelPreviewData.ts +59 -29
- package/src/components/Message/MessageSimple/MessageBubble.tsx +235 -0
- package/src/components/Message/MessageSimple/MessageSimple.tsx +30 -193
- package/src/components/MessageList/MessageFlashList.tsx +69 -66
- package/src/components/MessageList/MessageList.tsx +37 -14
- package/src/components/MessageList/hooks/useMessageList.ts +3 -2
- package/src/contexts/channelContext/ChannelContext.tsx +6 -0
- package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +5 -0
- package/src/hooks/usePrunableMessageList.ts +79 -0
- package/src/version.json +1 -1
|
@@ -9,15 +9,33 @@ var _throttle = _interopRequireDefault(require("lodash/throttle"));
|
|
|
9
9
|
var _useIsChannelMuted2 = require("./useIsChannelMuted");
|
|
10
10
|
var _useLatestMessagePreview = require("./useLatestMessagePreview");
|
|
11
11
|
var _contexts = require("../../../contexts");
|
|
12
|
+
var _hooks = require("../../../hooks");
|
|
13
|
+
var setLastMessageThrottleTimeout = 500;
|
|
14
|
+
var setLastMessageThrottleOptions = {
|
|
15
|
+
leading: true,
|
|
16
|
+
trailing: true
|
|
17
|
+
};
|
|
18
|
+
var refreshUnreadCountThrottleTimeout = 400;
|
|
19
|
+
var refreshUnreadCountThrottleOptions = setLastMessageThrottleOptions;
|
|
12
20
|
var useChannelPreviewData = exports.useChannelPreviewData = function useChannelPreviewData(channel, client, forceUpdateOverride) {
|
|
13
21
|
var _useState = (0, _react.useState)(0),
|
|
14
22
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
15
23
|
forceUpdate = _useState2[0],
|
|
16
24
|
setForceUpdate = _useState2[1];
|
|
17
|
-
var _useState3 = (0, _react.useState)(
|
|
25
|
+
var _useState3 = (0, _react.useState)(function () {
|
|
26
|
+
return channel.state.messages[channel.state.messages.length - 1];
|
|
27
|
+
}),
|
|
18
28
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
19
29
|
lastMessage = _useState4[0],
|
|
20
|
-
|
|
30
|
+
setLastMessageInner = _useState4[1];
|
|
31
|
+
var throttledSetLastMessage = (0, _react.useMemo)(function () {
|
|
32
|
+
return (0, _throttle.default)(function (newLastMessage) {
|
|
33
|
+
return setLastMessageInner(newLastMessage);
|
|
34
|
+
}, setLastMessageThrottleTimeout, setLastMessageThrottleOptions);
|
|
35
|
+
}, []);
|
|
36
|
+
var setLastMessage = (0, _hooks.useStableCallback)(function (newLastMessage) {
|
|
37
|
+
return throttledSetLastMessage(newLastMessage);
|
|
38
|
+
});
|
|
21
39
|
var _useState5 = (0, _react.useState)(channel.countUnread()),
|
|
22
40
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
23
41
|
unread = _useState6[0],
|
|
@@ -29,6 +47,15 @@ var useChannelPreviewData = exports.useChannelPreviewData = function useChannelP
|
|
|
29
47
|
var channelListForceUpdate = forceUpdateOverride != null ? forceUpdateOverride : contextForceUpdate;
|
|
30
48
|
var channelLastMessage = channel.lastMessage();
|
|
31
49
|
var channelLastMessageString = `${channelLastMessage == null ? void 0 : channelLastMessage.id}${channelLastMessage == null ? void 0 : channelLastMessage.updated_at}`;
|
|
50
|
+
var refreshUnreadCount = (0, _react.useMemo)(function () {
|
|
51
|
+
return (0, _throttle.default)(function () {
|
|
52
|
+
if (muted) {
|
|
53
|
+
setUnread(0);
|
|
54
|
+
} else {
|
|
55
|
+
setUnread(channel.countUnread());
|
|
56
|
+
}
|
|
57
|
+
}, refreshUnreadCountThrottleTimeout, refreshUnreadCountThrottleOptions);
|
|
58
|
+
}, [channel, muted]);
|
|
32
59
|
(0, _react.useEffect)(function () {
|
|
33
60
|
var unsubscribe = channel.messageComposer.registerDraftEventSubscriptions();
|
|
34
61
|
return function () {
|
|
@@ -37,18 +64,17 @@ var useChannelPreviewData = exports.useChannelPreviewData = function useChannelP
|
|
|
37
64
|
}, [channel.messageComposer]);
|
|
38
65
|
(0, _react.useEffect)(function () {
|
|
39
66
|
var _client$on = client.on('notification.mark_read', function () {
|
|
40
|
-
|
|
67
|
+
refreshUnreadCount();
|
|
41
68
|
}),
|
|
42
69
|
unsubscribe = _client$on.unsubscribe;
|
|
43
70
|
return unsubscribe;
|
|
44
|
-
}, [
|
|
71
|
+
}, [client, refreshUnreadCount]);
|
|
45
72
|
(0, _react.useEffect)(function () {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}, [channel, channelLastMessage, channelLastMessageString, channelListForceUpdate, lastMessage]);
|
|
73
|
+
setLastMessage(function (prevLastMessage) {
|
|
74
|
+
return channelLastMessage && (channelLastMessage.id !== (prevLastMessage == null ? void 0 : prevLastMessage.id) || channelLastMessage.updated_at !== (prevLastMessage == null ? void 0 : prevLastMessage.updated_at)) ? channelLastMessage : prevLastMessage;
|
|
75
|
+
});
|
|
76
|
+
refreshUnreadCount();
|
|
77
|
+
}, [channelLastMessage, channelLastMessageString, channelListForceUpdate, setLastMessage, refreshUnreadCount]);
|
|
52
78
|
(0, _react.useEffect)(function () {
|
|
53
79
|
var handleReadEvent = function handleReadEvent(event) {
|
|
54
80
|
var _event$user, _event$user2;
|
|
@@ -88,15 +114,6 @@ var useChannelPreviewData = exports.useChannelPreviewData = function useChannelP
|
|
|
88
114
|
unsubscribe = _client$on3.unsubscribe;
|
|
89
115
|
return unsubscribe;
|
|
90
116
|
}, [client, channel]);
|
|
91
|
-
var refreshUnreadCount = (0, _react.useMemo)(function () {
|
|
92
|
-
return (0, _throttle.default)(function () {
|
|
93
|
-
if (muted) {
|
|
94
|
-
setUnread(0);
|
|
95
|
-
} else {
|
|
96
|
-
setUnread(channel.countUnread());
|
|
97
|
-
}
|
|
98
|
-
}, 400);
|
|
99
|
-
}, [channel, muted]);
|
|
100
117
|
(0, _react.useEffect)(function () {
|
|
101
118
|
refreshUnreadCount();
|
|
102
119
|
var handleEvent = function handleEvent() {
|
|
@@ -107,7 +124,7 @@ var useChannelPreviewData = exports.useChannelPreviewData = function useChannelP
|
|
|
107
124
|
var message = event.message;
|
|
108
125
|
if (message && (!message.parent_id || message.show_in_channel)) {
|
|
109
126
|
setLastMessage(message);
|
|
110
|
-
|
|
127
|
+
refreshUnreadCount();
|
|
111
128
|
}
|
|
112
129
|
};
|
|
113
130
|
var handleUpdatedOrDeletedMessage = function handleUpdatedOrDeletedMessage(event) {
|
|
@@ -125,7 +142,7 @@ var useChannelPreviewData = exports.useChannelPreviewData = function useChannelP
|
|
|
125
142
|
return l.unsubscribe();
|
|
126
143
|
});
|
|
127
144
|
};
|
|
128
|
-
}, [channel, refreshUnreadCount, forceUpdate, channelListForceUpdate]);
|
|
145
|
+
}, [channel, refreshUnreadCount, forceUpdate, channelListForceUpdate, setLastMessage]);
|
|
129
146
|
var latestMessagePreview = (0, _useLatestMessagePreview.useLatestMessagePreview)(channel, forceUpdate, lastMessage);
|
|
130
147
|
return {
|
|
131
148
|
latestMessagePreview: latestMessagePreview,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_throttle","_interopRequireDefault","_useIsChannelMuted2","_useLatestMessagePreview","_contexts","useChannelPreviewData","exports","channel","client","forceUpdateOverride","_useState","useState","_useState2","_slicedToArray2","default","forceUpdate","setForceUpdate","_useState3","state","messages","length","_useState4","lastMessage","setLastMessage","_useState5","countUnread","_useState6","unread","setUnread","_useIsChannelMuted","useIsChannelMuted","muted","_useChannelsContext","useChannelsContext","contextForceUpdate","channelListForceUpdate","channelLastMessage","channelLastMessageString","id","updated_at","useEffect","unsubscribe","messageComposer","registerDraftEventSubscriptions","_client$on","on","
|
|
1
|
+
{"version":3,"names":["_react","require","_throttle","_interopRequireDefault","_useIsChannelMuted2","_useLatestMessagePreview","_contexts","_hooks","setLastMessageThrottleTimeout","setLastMessageThrottleOptions","leading","trailing","refreshUnreadCountThrottleTimeout","refreshUnreadCountThrottleOptions","useChannelPreviewData","exports","channel","client","forceUpdateOverride","_useState","useState","_useState2","_slicedToArray2","default","forceUpdate","setForceUpdate","_useState3","state","messages","length","_useState4","lastMessage","setLastMessageInner","throttledSetLastMessage","useMemo","throttle","newLastMessage","setLastMessage","useStableCallback","_useState5","countUnread","_useState6","unread","setUnread","_useIsChannelMuted","useIsChannelMuted","muted","_useChannelsContext","useChannelsContext","contextForceUpdate","channelListForceUpdate","channelLastMessage","channelLastMessageString","id","updated_at","refreshUnreadCount","useEffect","unsubscribe","messageComposer","registerDraftEventSubscriptions","_client$on","on","prevLastMessage","handleReadEvent","event","_event$user","_event$user2","cid","user","userID","prev","_client$on2","handleUnreadEvent","_event$user3","_client$user","_client$on3","handleEvent","latestMessages","handleNewMessageEvent","message","parent_id","show_in_channel","handleUpdatedOrDeletedMessage","_event$message","listeners","forEach","l","latestMessagePreview","useLatestMessagePreview"],"sourceRoot":"../../../../../src","sources":["components/ChannelPreview/hooks/useChannelPreviewData.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.SwipableMessageBubble = exports.MessageBubble = void 0;
|
|
6
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
7
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _reactNative = require("react-native");
|
|
10
|
+
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
11
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
12
|
+
var _contexts = require("../../../contexts");
|
|
13
|
+
var _native = require("../../../native");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
var _excluded = ["MessageSwipeContent", "shouldRenderSwipeableWrapper", "messageSwipeToReplyHitSlop", "onSwipe"];
|
|
16
|
+
var _this = this,
|
|
17
|
+
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageBubble.tsx";
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
|
+
var MessageBubble = exports.MessageBubble = _react.default.memo(function (_ref) {
|
|
21
|
+
var reactionListPosition = _ref.reactionListPosition,
|
|
22
|
+
messageContentWidth = _ref.messageContentWidth,
|
|
23
|
+
setMessageContentWidth = _ref.setMessageContentWidth,
|
|
24
|
+
MessageContent = _ref.MessageContent,
|
|
25
|
+
ReactionListTop = _ref.ReactionListTop,
|
|
26
|
+
backgroundColor = _ref.backgroundColor,
|
|
27
|
+
isVeryLastMessage = _ref.isVeryLastMessage,
|
|
28
|
+
messageGroupedSingleOrBottom = _ref.messageGroupedSingleOrBottom,
|
|
29
|
+
noBorder = _ref.noBorder;
|
|
30
|
+
var _useTheme = (0, _contexts.useTheme)(),
|
|
31
|
+
contentWrapper = _useTheme.theme.messageSimple.contentWrapper;
|
|
32
|
+
return (0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
33
|
+
style: [styles.contentWrapper, contentWrapper],
|
|
34
|
+
children: [(0, _jsxRuntime.jsx)(MessageContent, {
|
|
35
|
+
backgroundColor: backgroundColor,
|
|
36
|
+
isVeryLastMessage: isVeryLastMessage,
|
|
37
|
+
messageGroupedSingleOrBottom: messageGroupedSingleOrBottom,
|
|
38
|
+
noBorder: noBorder,
|
|
39
|
+
setMessageContentWidth: setMessageContentWidth
|
|
40
|
+
}), reactionListPosition === 'top' && ReactionListTop ? (0, _jsxRuntime.jsx)(ReactionListTop, {
|
|
41
|
+
messageContentWidth: messageContentWidth
|
|
42
|
+
}) : null]
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
var AnimatedWrapper = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.View);
|
|
46
|
+
var SwipableMessageBubble = exports.SwipableMessageBubble = _react.default.memo(function (props) {
|
|
47
|
+
var MessageSwipeContent = props.MessageSwipeContent,
|
|
48
|
+
shouldRenderSwipeableWrapper = props.shouldRenderSwipeableWrapper,
|
|
49
|
+
messageSwipeToReplyHitSlop = props.messageSwipeToReplyHitSlop,
|
|
50
|
+
onSwipe = props.onSwipe,
|
|
51
|
+
messageBubbleProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
52
|
+
var _useTheme2 = (0, _contexts.useTheme)(),
|
|
53
|
+
_useTheme2$theme$mess = _useTheme2.theme.messageSimple,
|
|
54
|
+
contentWrapper = _useTheme2$theme$mess.contentWrapper,
|
|
55
|
+
swipeContentContainer = _useTheme2$theme$mess.swipeContentContainer;
|
|
56
|
+
var translateX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
57
|
+
var touchStart = (0, _reactNativeReanimated.useSharedValue)(null);
|
|
58
|
+
var isSwiping = (0, _reactNativeReanimated.useSharedValue)(false);
|
|
59
|
+
var _useState = (0, _react.useState)(shouldRenderSwipeableWrapper),
|
|
60
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
61
|
+
shouldRenderAnimatedWrapper = _useState2[0],
|
|
62
|
+
setShouldRenderAnimatedWrapper = _useState2[1];
|
|
63
|
+
var SWIPABLE_THRESHOLD = 25;
|
|
64
|
+
var triggerHaptic = _native.NativeHandlers.triggerHaptic;
|
|
65
|
+
var swipeGesture = (0, _react.useMemo)(function () {
|
|
66
|
+
return _reactNativeGestureHandler.Gesture.Pan().hitSlop(messageSwipeToReplyHitSlop).onBegin(function (event) {
|
|
67
|
+
touchStart.value = {
|
|
68
|
+
x: event.x,
|
|
69
|
+
y: event.y
|
|
70
|
+
};
|
|
71
|
+
}).onTouchesMove(function (event, state) {
|
|
72
|
+
if (!touchStart.value || !event.changedTouches.length) {
|
|
73
|
+
state.fail();
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
var xDiff = Math.abs(event.changedTouches[0].x - touchStart.value.x);
|
|
77
|
+
var yDiff = Math.abs(event.changedTouches[0].y - touchStart.value.y);
|
|
78
|
+
var isHorizontalPanning = xDiff > yDiff;
|
|
79
|
+
if (isHorizontalPanning) {
|
|
80
|
+
state.activate();
|
|
81
|
+
isSwiping.value = true;
|
|
82
|
+
if (!shouldRenderSwipeableWrapper) {
|
|
83
|
+
(0, _reactNativeReanimated.runOnJS)(setShouldRenderAnimatedWrapper)(isSwiping.value);
|
|
84
|
+
}
|
|
85
|
+
} else {
|
|
86
|
+
state.fail();
|
|
87
|
+
}
|
|
88
|
+
}).onStart(function () {
|
|
89
|
+
translateX.value = 0;
|
|
90
|
+
}).onChange(function (_ref2) {
|
|
91
|
+
var translationX = _ref2.translationX;
|
|
92
|
+
if (translationX > 0) {
|
|
93
|
+
translateX.value = translationX;
|
|
94
|
+
}
|
|
95
|
+
}).onEnd(function () {
|
|
96
|
+
if (translateX.value >= SWIPABLE_THRESHOLD) {
|
|
97
|
+
(0, _reactNativeReanimated.runOnJS)(onSwipe)();
|
|
98
|
+
if (triggerHaptic) {
|
|
99
|
+
(0, _reactNativeReanimated.runOnJS)(triggerHaptic)('impactMedium');
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
isSwiping.value = false;
|
|
103
|
+
translateX.value = (0, _reactNativeReanimated.withSpring)(0, {
|
|
104
|
+
dampingRatio: 1,
|
|
105
|
+
duration: 500,
|
|
106
|
+
overshootClamping: true,
|
|
107
|
+
stiffness: 1
|
|
108
|
+
}, function () {
|
|
109
|
+
if (!shouldRenderSwipeableWrapper) {
|
|
110
|
+
(0, _reactNativeReanimated.runOnJS)(setShouldRenderAnimatedWrapper)(isSwiping.value);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
}, [isSwiping, messageSwipeToReplyHitSlop, onSwipe, touchStart, translateX, triggerHaptic, shouldRenderSwipeableWrapper]);
|
|
115
|
+
var messageBubbleAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
|
|
116
|
+
return {
|
|
117
|
+
transform: [{
|
|
118
|
+
translateX: translateX.value
|
|
119
|
+
}]
|
|
120
|
+
};
|
|
121
|
+
}, []);
|
|
122
|
+
var swipeContentAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
|
|
123
|
+
return {
|
|
124
|
+
opacity: (0, _reactNativeReanimated.interpolate)(translateX.value, [0, SWIPABLE_THRESHOLD], [0, 1]),
|
|
125
|
+
transform: [{
|
|
126
|
+
translateX: (0, _reactNativeReanimated.interpolate)(translateX.value, [0, SWIPABLE_THRESHOLD], [-SWIPABLE_THRESHOLD, 0], _reactNativeReanimated.Extrapolation.CLAMP)
|
|
127
|
+
}]
|
|
128
|
+
};
|
|
129
|
+
}, []);
|
|
130
|
+
return (0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
131
|
+
gesture: swipeGesture,
|
|
132
|
+
children: (0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
133
|
+
hitSlop: messageSwipeToReplyHitSlop,
|
|
134
|
+
style: [styles.contentWrapper, contentWrapper],
|
|
135
|
+
children: shouldRenderAnimatedWrapper ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
136
|
+
children: [(0, _jsxRuntime.jsx)(AnimatedWrapper, {
|
|
137
|
+
style: [styles.swipeContentContainer, swipeContentAnimatedStyle, swipeContentContainer],
|
|
138
|
+
children: MessageSwipeContent ? (0, _jsxRuntime.jsx)(MessageSwipeContent, {}) : null
|
|
139
|
+
}), (0, _jsxRuntime.jsx)(AnimatedWrapper, {
|
|
140
|
+
pointerEvents: "box-none",
|
|
141
|
+
style: messageBubbleAnimatedStyle,
|
|
142
|
+
children: (0, _jsxRuntime.jsx)(MessageBubble, Object.assign({}, messageBubbleProps))
|
|
143
|
+
})]
|
|
144
|
+
}) : (0, _jsxRuntime.jsx)(MessageBubble, Object.assign({}, messageBubbleProps))
|
|
145
|
+
})
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
var styles = _reactNative.StyleSheet.create({
|
|
149
|
+
contentWrapper: {
|
|
150
|
+
alignItems: 'center',
|
|
151
|
+
flexDirection: 'row'
|
|
152
|
+
},
|
|
153
|
+
swipeContentContainer: {
|
|
154
|
+
position: 'absolute'
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
//# sourceMappingURL=MessageBubble.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_contexts","_native","_jsxRuntime","_excluded","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageBubble","exports","React","memo","_ref","reactionListPosition","messageContentWidth","setMessageContentWidth","MessageContent","ReactionListTop","backgroundColor","isVeryLastMessage","messageGroupedSingleOrBottom","noBorder","_useTheme","useTheme","contentWrapper","theme","messageSimple","jsxs","View","style","styles","children","jsx","AnimatedWrapper","Animated","createAnimatedComponent","SwipableMessageBubble","props","MessageSwipeContent","shouldRenderSwipeableWrapper","messageSwipeToReplyHitSlop","onSwipe","messageBubbleProps","_objectWithoutProperties2","_useTheme2","_useTheme2$theme$mess","swipeContentContainer","translateX","useSharedValue","touchStart","isSwiping","_useState","useState","_useState2","_slicedToArray2","shouldRenderAnimatedWrapper","setShouldRenderAnimatedWrapper","SWIPABLE_THRESHOLD","triggerHaptic","NativeHandlers","swipeGesture","useMemo","Gesture","Pan","hitSlop","onBegin","event","value","x","y","onTouchesMove","state","changedTouches","length","fail","xDiff","Math","abs","yDiff","isHorizontalPanning","activate","runOnJS","onStart","onChange","_ref2","translationX","onEnd","withSpring","dampingRatio","duration","overshootClamping","stiffness","messageBubbleAnimatedStyle","useAnimatedStyle","transform","swipeContentAnimatedStyle","opacity","interpolate","Extrapolation","CLAMP","GestureDetector","gesture","Fragment","pointerEvents","assign","StyleSheet","create","alignItems","flexDirection","position"],"sourceRoot":"../../../../../src","sources":["components/Message/MessageSimple/MessageBubble.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,13 +6,11 @@ exports.MessageSimple = void 0;
|
|
|
6
6
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
var
|
|
10
|
-
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
9
|
+
var _MessageBubble = require("./MessageBubble");
|
|
11
10
|
var _MessageContext = require("../../../contexts/messageContext/MessageContext");
|
|
12
11
|
var _MessagesContext = require("../../../contexts/messagesContext/MessagesContext");
|
|
13
12
|
var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
14
13
|
var _useStableCallback = require("../../../hooks/useStableCallback");
|
|
15
|
-
var _native = require("../../../native");
|
|
16
14
|
var _utils = require("../../../utils/utils");
|
|
17
15
|
var _useMessageData2 = require("../hooks/useMessageData");
|
|
18
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -20,17 +18,12 @@ var _this = this,
|
|
|
20
18
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageSimple.tsx";
|
|
21
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
22
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
|
-
var AnimatedWrapper = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.View);
|
|
24
21
|
var styles = _reactNative.StyleSheet.create({
|
|
25
22
|
container: {
|
|
26
23
|
alignItems: 'flex-end',
|
|
27
24
|
flexDirection: 'row'
|
|
28
25
|
},
|
|
29
26
|
contentContainer: {},
|
|
30
|
-
contentWrapper: {
|
|
31
|
-
alignItems: 'center',
|
|
32
|
-
flexDirection: 'row'
|
|
33
|
-
},
|
|
34
27
|
lastMessageContainer: {
|
|
35
28
|
marginBottom: 12
|
|
36
29
|
},
|
|
@@ -43,9 +36,6 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
43
36
|
messageGroupedTopContainer: {},
|
|
44
37
|
rightAlignItems: {
|
|
45
38
|
alignItems: 'flex-end'
|
|
46
|
-
},
|
|
47
|
-
swipeContentContainer: {
|
|
48
|
-
position: 'absolute'
|
|
49
39
|
}
|
|
50
40
|
});
|
|
51
41
|
var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
|
|
@@ -104,13 +94,11 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
|
|
|
104
94
|
errorContainer = _useTheme$theme$messa2.errorContainer,
|
|
105
95
|
receiverMessageBackgroundColor = _useTheme$theme$messa2.receiverMessageBackgroundColor,
|
|
106
96
|
senderMessageBackgroundColor = _useTheme$theme$messa2.senderMessageBackgroundColor,
|
|
107
|
-
contentWrapper = _useTheme$theme$messa.contentWrapper,
|
|
108
97
|
headerWrapper = _useTheme$theme$messa.headerWrapper,
|
|
109
98
|
lastMessageContainer = _useTheme$theme$messa.lastMessageContainer,
|
|
110
99
|
messageGroupedSingleOrBottomContainer = _useTheme$theme$messa.messageGroupedSingleOrBottomContainer,
|
|
111
100
|
messageGroupedTopContainer = _useTheme$theme$messa.messageGroupedTopContainer,
|
|
112
|
-
reactionPosition = _useTheme$theme$messa.reactionListTop.position
|
|
113
|
-
swipeContentContainer = _useTheme$theme$messa.swipeContentContainer;
|
|
101
|
+
reactionPosition = _useTheme$theme$messa.reactionListTop.position;
|
|
114
102
|
var _useMessageData = (0, _useMessageData2.useMessageData)({}),
|
|
115
103
|
isMessageErrorType = _useMessageData.isMessageErrorType,
|
|
116
104
|
isMessageReceivedOrErrorType = _useMessageData.isMessageReceivedOrErrorType,
|
|
@@ -146,13 +134,6 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
|
|
|
146
134
|
backgroundColor = receiverMessageBackgroundColor != null ? receiverMessageBackgroundColor : light_gray;
|
|
147
135
|
}
|
|
148
136
|
var repliesCurveColor = isMessageReceivedOrErrorType ? grey_gainsboro : backgroundColor;
|
|
149
|
-
var translateX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
150
|
-
var touchStart = (0, _reactNativeReanimated.useSharedValue)(null);
|
|
151
|
-
var isSwiping = (0, _reactNativeReanimated.useSharedValue)(false);
|
|
152
|
-
var _useState3 = (0, _react.useState)(shouldRenderSwipeableWrapper),
|
|
153
|
-
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
154
|
-
shouldRenderAnimatedWrapper = _useState4[0],
|
|
155
|
-
setShouldRenderAnimatedWrapper = _useState4[1];
|
|
156
137
|
var onSwipeActionHandler = (0, _useStableCallback.useStableCallback)(function () {
|
|
157
138
|
if (customMessageSwipeAction) {
|
|
158
139
|
customMessageSwipeAction({
|
|
@@ -163,106 +144,6 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
|
|
|
163
144
|
}
|
|
164
145
|
setQuotedMessage(message);
|
|
165
146
|
});
|
|
166
|
-
var THRESHOLD = 25;
|
|
167
|
-
var triggerHaptic = _native.NativeHandlers.triggerHaptic;
|
|
168
|
-
var swipeGesture = (0, _react.useMemo)(function () {
|
|
169
|
-
return _reactNativeGestureHandler.Gesture.Pan().hitSlop(messageSwipeToReplyHitSlop).onBegin(function (event) {
|
|
170
|
-
touchStart.value = {
|
|
171
|
-
x: event.x,
|
|
172
|
-
y: event.y
|
|
173
|
-
};
|
|
174
|
-
}).onTouchesMove(function (event, state) {
|
|
175
|
-
if (!touchStart.value || !event.changedTouches.length) {
|
|
176
|
-
state.fail();
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
var xDiff = Math.abs(event.changedTouches[0].x - touchStart.value.x);
|
|
180
|
-
var yDiff = Math.abs(event.changedTouches[0].y - touchStart.value.y);
|
|
181
|
-
var isHorizontalPanning = xDiff > yDiff;
|
|
182
|
-
if (isHorizontalPanning) {
|
|
183
|
-
state.activate();
|
|
184
|
-
isSwiping.value = true;
|
|
185
|
-
if (!shouldRenderSwipeableWrapper) {
|
|
186
|
-
(0, _reactNativeReanimated.runOnJS)(setShouldRenderAnimatedWrapper)(isSwiping.value);
|
|
187
|
-
}
|
|
188
|
-
} else {
|
|
189
|
-
state.fail();
|
|
190
|
-
}
|
|
191
|
-
}).onStart(function () {
|
|
192
|
-
translateX.value = 0;
|
|
193
|
-
}).onChange(function (_ref2) {
|
|
194
|
-
var translationX = _ref2.translationX;
|
|
195
|
-
if (translationX > 0) {
|
|
196
|
-
translateX.value = translationX;
|
|
197
|
-
}
|
|
198
|
-
}).onEnd(function () {
|
|
199
|
-
if (translateX.value >= THRESHOLD) {
|
|
200
|
-
(0, _reactNativeReanimated.runOnJS)(onSwipeActionHandler)();
|
|
201
|
-
if (triggerHaptic) {
|
|
202
|
-
(0, _reactNativeReanimated.runOnJS)(triggerHaptic)('impactMedium');
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
isSwiping.value = false;
|
|
206
|
-
translateX.value = (0, _reactNativeReanimated.withSpring)(0, {
|
|
207
|
-
dampingRatio: 1,
|
|
208
|
-
duration: 500,
|
|
209
|
-
overshootClamping: true,
|
|
210
|
-
stiffness: 1
|
|
211
|
-
}, function () {
|
|
212
|
-
if (!shouldRenderSwipeableWrapper) {
|
|
213
|
-
(0, _reactNativeReanimated.runOnJS)(setShouldRenderAnimatedWrapper)(isSwiping.value);
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
});
|
|
217
|
-
}, [isSwiping, messageSwipeToReplyHitSlop, onSwipeActionHandler, touchStart, translateX, triggerHaptic, shouldRenderSwipeableWrapper]);
|
|
218
|
-
var messageBubbleAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
|
|
219
|
-
return {
|
|
220
|
-
transform: [{
|
|
221
|
-
translateX: translateX.value
|
|
222
|
-
}]
|
|
223
|
-
};
|
|
224
|
-
}, []);
|
|
225
|
-
var swipeContentAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
|
|
226
|
-
return {
|
|
227
|
-
opacity: (0, _reactNativeReanimated.interpolate)(translateX.value, [0, THRESHOLD], [0, 1]),
|
|
228
|
-
transform: [{
|
|
229
|
-
translateX: (0, _reactNativeReanimated.interpolate)(translateX.value, [0, THRESHOLD], [-THRESHOLD, 0], _reactNativeReanimated.Extrapolation.CLAMP)
|
|
230
|
-
}]
|
|
231
|
-
};
|
|
232
|
-
}, []);
|
|
233
|
-
var renderMessageBubble = (0, _react.useMemo)(function () {
|
|
234
|
-
return (0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
235
|
-
style: [styles.contentWrapper, contentWrapper],
|
|
236
|
-
children: [(0, _jsxRuntime.jsx)(MessageContent, {
|
|
237
|
-
backgroundColor: backgroundColor,
|
|
238
|
-
isVeryLastMessage: isVeryLastMessage,
|
|
239
|
-
messageGroupedSingleOrBottom: messageGroupedSingleOrBottom,
|
|
240
|
-
noBorder: noBorder,
|
|
241
|
-
setMessageContentWidth: setMessageContentWidth
|
|
242
|
-
}), reactionListPosition === 'top' && ReactionListTop ? (0, _jsxRuntime.jsx)(ReactionListTop, {
|
|
243
|
-
messageContentWidth: messageContentWidth
|
|
244
|
-
}) : null]
|
|
245
|
-
});
|
|
246
|
-
}, [messageContentWidth, reactionListPosition, MessageContent, ReactionListTop, backgroundColor, contentWrapper, isVeryLastMessage, messageGroupedSingleOrBottom, noBorder]);
|
|
247
|
-
var renderAnimatedMessageBubble = (0, _react.useMemo)(function () {
|
|
248
|
-
return (0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
249
|
-
gesture: swipeGesture,
|
|
250
|
-
children: (0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
251
|
-
hitSlop: messageSwipeToReplyHitSlop,
|
|
252
|
-
style: [styles.contentWrapper, contentWrapper],
|
|
253
|
-
children: shouldRenderAnimatedWrapper ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
254
|
-
children: [(0, _jsxRuntime.jsx)(AnimatedWrapper, {
|
|
255
|
-
style: [styles.swipeContentContainer, swipeContentAnimatedStyle, swipeContentContainer],
|
|
256
|
-
children: MessageSwipeContent ? (0, _jsxRuntime.jsx)(MessageSwipeContent, {}) : null
|
|
257
|
-
}), (0, _jsxRuntime.jsx)(AnimatedWrapper, {
|
|
258
|
-
pointerEvents: "box-none",
|
|
259
|
-
style: messageBubbleAnimatedStyle,
|
|
260
|
-
children: renderMessageBubble
|
|
261
|
-
})]
|
|
262
|
-
}) : renderMessageBubble
|
|
263
|
-
})
|
|
264
|
-
});
|
|
265
|
-
}, [MessageSwipeContent, contentWrapper, shouldRenderAnimatedWrapper, messageBubbleAnimatedStyle, messageSwipeToReplyHitSlop, renderMessageBubble, swipeContentAnimatedStyle, swipeContentContainer, swipeGesture]);
|
|
266
147
|
return (0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
267
148
|
style: [styles.container, messageGroupedSingleOrBottom ? isVeryLastMessage && enableMessageGroupingByUser ? lastMessageInMessageListStyles : messageGroupedSingleOrBottomStyles : messageGroupedTopStyles, {
|
|
268
149
|
justifyContent: alignment === 'left' ? 'flex-start' : 'flex-end'
|
|
@@ -291,7 +172,31 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
|
|
|
291
172
|
otherAttachments: otherAttachments,
|
|
292
173
|
showMessageStatus: showMessageStatus
|
|
293
174
|
}), message.pinned ? (0, _jsxRuntime.jsx)(MessagePinnedHeader, {}) : null]
|
|
294
|
-
}), enableSwipeToReply ?
|
|
175
|
+
}), enableSwipeToReply ? (0, _jsxRuntime.jsx)(_MessageBubble.SwipableMessageBubble, {
|
|
176
|
+
backgroundColor: backgroundColor,
|
|
177
|
+
isVeryLastMessage: isVeryLastMessage,
|
|
178
|
+
MessageContent: MessageContent,
|
|
179
|
+
messageContentWidth: messageContentWidth,
|
|
180
|
+
messageGroupedSingleOrBottom: messageGroupedSingleOrBottom,
|
|
181
|
+
MessageSwipeContent: MessageSwipeContent,
|
|
182
|
+
messageSwipeToReplyHitSlop: messageSwipeToReplyHitSlop,
|
|
183
|
+
noBorder: noBorder,
|
|
184
|
+
onSwipe: onSwipeActionHandler,
|
|
185
|
+
reactionListPosition: reactionListPosition,
|
|
186
|
+
ReactionListTop: ReactionListTop,
|
|
187
|
+
setMessageContentWidth: setMessageContentWidth,
|
|
188
|
+
shouldRenderSwipeableWrapper: shouldRenderSwipeableWrapper
|
|
189
|
+
}) : (0, _jsxRuntime.jsx)(_MessageBubble.MessageBubble, {
|
|
190
|
+
backgroundColor: backgroundColor,
|
|
191
|
+
isVeryLastMessage: isVeryLastMessage,
|
|
192
|
+
MessageContent: MessageContent,
|
|
193
|
+
messageContentWidth: messageContentWidth,
|
|
194
|
+
messageGroupedSingleOrBottom: messageGroupedSingleOrBottom,
|
|
195
|
+
noBorder: noBorder,
|
|
196
|
+
reactionListPosition: reactionListPosition,
|
|
197
|
+
ReactionListTop: ReactionListTop,
|
|
198
|
+
setMessageContentWidth: setMessageContentWidth
|
|
199
|
+
}), reactionListPosition === 'bottom' && ReactionListBottom ? (0, _jsxRuntime.jsx)(ReactionListBottom, {}) : null, (0, _jsxRuntime.jsx)(MessageReplies, {
|
|
295
200
|
noBorder: noBorder,
|
|
296
201
|
repliesCurveColor: repliesCurveColor
|
|
297
202
|
}), (0, _jsxRuntime.jsx)(MessageFooter, {
|
|
@@ -362,9 +267,9 @@ var areEqual = function areEqual(prevProps, nextProps) {
|
|
|
362
267
|
if (!quotedMessageAttachmentsEqual) {
|
|
363
268
|
return false;
|
|
364
269
|
}
|
|
365
|
-
var latestReactionsEqual = Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions) ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length && prevMessage.latest_reactions.every(function (
|
|
270
|
+
var latestReactionsEqual = Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions) ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length && prevMessage.latest_reactions.every(function (_ref2, index) {
|
|
366
271
|
var _nextMessage$latest_r;
|
|
367
|
-
var type =
|
|
272
|
+
var type = _ref2.type;
|
|
368
273
|
return type === ((_nextMessage$latest_r = nextMessage.latest_reactions) == null ? void 0 : _nextMessage$latest_r[index].type);
|
|
369
274
|
}) : prevMessage.latest_reactions === nextMessage.latest_reactions;
|
|
370
275
|
if (!latestReactionsEqual) {
|