stream-chat-react-native-core 4.6.0 → 4.7.0-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/Attachment/Attachment.js +22 -13
- package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +72 -37
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/VideoThumbnail.js +83 -0
- package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -0
- package/lib/commonjs/components/Attachment/hooks/useGoToURL.js +1 -1
- package/lib/commonjs/components/Attachment/hooks/useGoToURL.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +5 -5
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +19 -14
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +4 -2
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +43 -28
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +167 -345
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +4 -4
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +225 -0
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -0
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +102 -40
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +145 -0
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -0
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +31 -34
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ProgressControl.js +153 -0
- package/lib/commonjs/components/ImageGallery/components/ProgressControl.js.map +1 -0
- package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +373 -0
- package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -0
- package/lib/commonjs/components/Message/Message.js +23 -13
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +58 -33
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +4 -2
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +25 -23
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/Reply/Reply.js +32 -12
- package/lib/commonjs/components/Reply/Reply.js.map +1 -1
- package/lib/commonjs/components/Spinner/Spinner.js +12 -4
- package/lib/commonjs/components/Spinner/Spinner.js.map +1 -1
- package/lib/commonjs/components/index.js +26 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +10 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/icons/Pause.js +61 -0
- package/lib/commonjs/icons/Pause.js.map +1 -0
- package/lib/commonjs/icons/Play.js +42 -0
- package/lib/commonjs/icons/Play.js.map +1 -0
- package/lib/commonjs/icons/index.js +26 -0
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/mock-builders/api/queryMembers.js +98 -1
- package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
- package/lib/commonjs/native.js +7 -1
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/utils/getUrlOfImageAttachment.js +1 -1
- package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +22 -13
- package/lib/module/components/Attachment/Attachment.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +72 -37
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/VideoThumbnail.js +83 -0
- package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -0
- package/lib/module/components/Attachment/hooks/useGoToURL.js +1 -1
- package/lib/module/components/Attachment/hooks/useGoToURL.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/module/components/Attachment/utils/getAspectRatio.js +5 -5
- package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +19 -14
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +4 -2
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +43 -28
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +167 -345
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +4 -4
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +225 -0
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -0
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +102 -40
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +145 -0
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -0
- package/lib/module/components/ImageGallery/components/ImageGrid.js +31 -34
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ProgressControl.js +153 -0
- package/lib/module/components/ImageGallery/components/ProgressControl.js.map +1 -0
- package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +373 -0
- package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -0
- package/lib/module/components/Message/Message.js +23 -13
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +58 -33
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +4 -2
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +25 -23
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/Reply/Reply.js +32 -12
- package/lib/module/components/Reply/Reply.js.map +1 -1
- package/lib/module/components/Spinner/Spinner.js +12 -4
- package/lib/module/components/Spinner/Spinner.js.map +1 -1
- package/lib/module/components/index.js +26 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js +2 -2
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +10 -1
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/icons/Pause.js +61 -0
- package/lib/module/icons/Pause.js.map +1 -0
- package/lib/module/icons/Play.js +42 -0
- package/lib/module/icons/Play.js.map +1 -0
- package/lib/module/icons/index.js +26 -0
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/mock-builders/api/queryMembers.js +98 -1
- package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
- package/lib/module/native.js +7 -1
- package/lib/module/native.js.map +1 -1
- package/lib/module/utils/getUrlOfImageAttachment.js +1 -1
- package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
- package/lib/typescript/components/Attachment/VideoThumbnail.d.ts +4 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +1 -0
- package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.d.ts +1 -0
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +2 -0
- package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts +27 -0
- package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +18 -2
- package/lib/typescript/components/ImageGallery/components/ImageGalleryVideoControl.d.ts +3 -0
- package/lib/typescript/components/ImageGallery/components/ProgressControl.d.ts +5 -0
- package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts +36 -0
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
- package/lib/typescript/components/Spinner/Spinner.d.ts +7 -1
- package/lib/typescript/components/index.d.ts +2 -0
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +3 -1
- package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +1 -0
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +2 -0
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +9 -0
- package/lib/typescript/icons/Pause.d.ts +3 -0
- package/lib/typescript/icons/Play.d.ts +3 -0
- package/lib/typescript/icons/index.d.ts +2 -0
- package/lib/typescript/mock-builders/api/queryMembers.d.ts +161 -0
- package/lib/typescript/mock-builders/api/utils.d.ts +7 -0
- package/lib/typescript/mock-builders/generator/user.d.ts +30 -0
- package/lib/typescript/mock-builders/mock.d.ts +3 -0
- package/lib/typescript/native.d.ts +66 -1
- package/package.json +1 -1
- package/src/components/Attachment/Attachment.tsx +11 -7
- package/src/components/Attachment/Gallery.tsx +75 -36
- package/src/components/Attachment/VideoThumbnail.tsx +45 -0
- package/src/components/Attachment/hooks/useGoToURL.ts +1 -1
- package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +1 -0
- package/src/components/Attachment/utils/buildGallery/types.ts +1 -0
- package/src/components/Attachment/utils/getAspectRatio.ts +7 -5
- package/src/components/Channel/Channel.tsx +4 -0
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
- package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.tsx +83 -0
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +43 -26
- package/src/components/ImageGallery/ImageGallery.tsx +145 -667
- package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +4 -4
- package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +224 -0
- package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +114 -19
- package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx +103 -0
- package/src/components/ImageGallery/components/ImageGrid.tsx +12 -25
- package/src/components/ImageGallery/components/ProgressControl.tsx +107 -0
- package/src/components/ImageGallery/hooks/useImageGalleryGestures.tsx +722 -0
- package/src/components/Message/Message.tsx +10 -3
- package/src/components/Message/MessageSimple/MessageContent.tsx +50 -16
- package/src/components/Message/hooks/useCreateMessageContext.ts +2 -0
- package/src/components/MessageOverlay/MessageOverlay.tsx +2 -0
- package/src/components/Reply/Reply.tsx +36 -23
- package/src/components/Spinner/Spinner.tsx +11 -4
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +0 -12
- package/src/components/index.ts +2 -0
- package/src/contexts/messageContext/MessageContext.tsx +2 -0
- package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +1 -0
- package/src/contexts/messagesContext/MessagesContext.tsx +2 -0
- package/src/contexts/themeContext/utils/theme.ts +18 -0
- package/src/icons/Pause.tsx +14 -0
- package/src/icons/Play.tsx +17 -0
- package/src/icons/index.ts +2 -0
- package/src/mock-builders/api/queryMembers.js +98 -0
- package/src/native.ts +59 -1
- package/src/utils/getUrlOfImageAttachment.ts +1 -1
- package/src/version.json +1 -1
|
@@ -27,7 +27,7 @@ var _icons = require("../../../icons");
|
|
|
27
27
|
|
|
28
28
|
var _utils = require("../../../utils/utils");
|
|
29
29
|
|
|
30
|
-
var _excluded = ["borderRadius", "borderRadiusL", "borderRadiusS"];
|
|
30
|
+
var _excluded = ["borderBottomLeftRadius", "borderBottomRightRadius", "borderRadius", "borderRadiusL", "borderRadiusS", "borderTopLeftRadius", "borderTopRightRadius"];
|
|
31
31
|
|
|
32
32
|
var _this = this,
|
|
33
33
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageContent.tsx";
|
|
@@ -109,9 +109,13 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
109
109
|
_useTheme$theme$messa = _useTheme$theme.messageSimple,
|
|
110
110
|
_useTheme$theme$messa2 = _useTheme$theme$messa.content,
|
|
111
111
|
_useTheme$theme$messa3 = _useTheme$theme$messa2.container,
|
|
112
|
+
borderBottomLeftRadius = _useTheme$theme$messa3.borderBottomLeftRadius,
|
|
113
|
+
borderBottomRightRadius = _useTheme$theme$messa3.borderBottomRightRadius,
|
|
112
114
|
borderRadius = _useTheme$theme$messa3.borderRadius,
|
|
113
115
|
borderRadiusL = _useTheme$theme$messa3.borderRadiusL,
|
|
114
116
|
borderRadiusS = _useTheme$theme$messa3.borderRadiusS,
|
|
117
|
+
borderTopLeftRadius = _useTheme$theme$messa3.borderTopLeftRadius,
|
|
118
|
+
borderTopRightRadius = _useTheme$theme$messa3.borderTopRightRadius,
|
|
115
119
|
container = (0, _objectWithoutProperties2["default"])(_useTheme$theme$messa3, _excluded),
|
|
116
120
|
containerInner = _useTheme$theme$messa2.containerInner,
|
|
117
121
|
errorContainer = _useTheme$theme$messa2.errorContainer,
|
|
@@ -169,7 +173,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
169
173
|
__self: _this,
|
|
170
174
|
__source: {
|
|
171
175
|
fileName: _jsxFileName,
|
|
172
|
-
lineNumber:
|
|
176
|
+
lineNumber: 211,
|
|
173
177
|
columnNumber: 7
|
|
174
178
|
}
|
|
175
179
|
});
|
|
@@ -192,16 +196,42 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
192
196
|
var repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;
|
|
193
197
|
var isBorderColor = isMyMessage && !error;
|
|
194
198
|
|
|
195
|
-
var
|
|
196
|
-
|
|
199
|
+
var getBorderRadius = function getBorderRadius() {
|
|
200
|
+
var groupPosition = groupStyles == null ? void 0 : groupStyles[0];
|
|
201
|
+
var isBottomOrSingle = groupPosition === 'single' || groupPosition === 'bottom';
|
|
202
|
+
var borderBottomLeftRadius = borderRadiusL;
|
|
203
|
+
var borderBottomRightRadius = borderRadiusL;
|
|
204
|
+
|
|
205
|
+
if (isBottomOrSingle && (!hasThreadReplies || threadList)) {
|
|
206
|
+
if (alignment === 'left') {
|
|
207
|
+
borderBottomLeftRadius = borderRadiusS;
|
|
208
|
+
} else {
|
|
209
|
+
borderBottomRightRadius = borderRadiusS;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
return {
|
|
214
|
+
borderBottomLeftRadius: borderBottomLeftRadius,
|
|
215
|
+
borderBottomRightRadius: borderBottomRightRadius
|
|
216
|
+
};
|
|
197
217
|
};
|
|
198
218
|
|
|
199
|
-
var
|
|
200
|
-
|
|
201
|
-
|
|
219
|
+
var getBorderRadiusFromTheme = function getBorderRadiusFromTheme() {
|
|
220
|
+
var bordersFromTheme = {
|
|
221
|
+
borderBottomLeftRadius: borderBottomLeftRadius,
|
|
222
|
+
borderBottomRightRadius: borderBottomRightRadius,
|
|
223
|
+
borderRadius: borderRadius,
|
|
224
|
+
borderTopLeftRadius: borderTopLeftRadius,
|
|
225
|
+
borderTopRightRadius: borderTopRightRadius
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
for (var key in bordersFromTheme) {
|
|
229
|
+
if (bordersFromTheme[key] === undefined) {
|
|
230
|
+
delete bordersFromTheme[key];
|
|
231
|
+
}
|
|
202
232
|
}
|
|
203
233
|
|
|
204
|
-
return
|
|
234
|
+
return bordersFromTheme;
|
|
205
235
|
};
|
|
206
236
|
|
|
207
237
|
return _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({
|
|
@@ -239,7 +269,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
239
269
|
__self: _this,
|
|
240
270
|
__source: {
|
|
241
271
|
fileName: _jsxFileName,
|
|
242
|
-
lineNumber:
|
|
272
|
+
lineNumber: 280,
|
|
243
273
|
columnNumber: 5
|
|
244
274
|
}
|
|
245
275
|
}), MessageHeader && _react["default"].createElement(MessageHeader, {
|
|
@@ -255,7 +285,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
255
285
|
__self: _this,
|
|
256
286
|
__source: {
|
|
257
287
|
fileName: _jsxFileName,
|
|
258
|
-
lineNumber:
|
|
288
|
+
lineNumber: 321,
|
|
259
289
|
columnNumber: 9
|
|
260
290
|
}
|
|
261
291
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -264,7 +294,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
264
294
|
__self: _this,
|
|
265
295
|
__source: {
|
|
266
296
|
fileName: _jsxFileName,
|
|
267
|
-
lineNumber:
|
|
297
|
+
lineNumber: 333,
|
|
268
298
|
columnNumber: 7
|
|
269
299
|
}
|
|
270
300
|
}, hasThreadReplies && !threadList && !noBorder && _react["default"].createElement(_reactNative.View, {
|
|
@@ -277,26 +307,21 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
277
307
|
__self: _this,
|
|
278
308
|
__source: {
|
|
279
309
|
fileName: _jsxFileName,
|
|
280
|
-
lineNumber:
|
|
310
|
+
lineNumber: 335,
|
|
281
311
|
columnNumber: 11
|
|
282
312
|
}
|
|
283
313
|
}), _react["default"].createElement(_reactNative.View, {
|
|
284
|
-
style: [styles.containerInner, {
|
|
314
|
+
style: [styles.containerInner, (0, _extends2["default"])({
|
|
285
315
|
backgroundColor: backgroundColor,
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
borderColor: isBorderColor ? backgroundColor : grey_whisper,
|
|
289
|
-
borderRadius: borderRadius,
|
|
290
|
-
borderTopLeftRadius: applyBorderRadius('left_top', 'right_single'),
|
|
291
|
-
borderTopRightRadius: applyBorderRadius('right_top', 'right_single')
|
|
292
|
-
}, noBorder ? {
|
|
316
|
+
borderColor: isBorderColor ? backgroundColor : grey_whisper
|
|
317
|
+
}, getBorderRadius(), getBorderRadiusFromTheme()), noBorder ? {
|
|
293
318
|
borderWidth: 0
|
|
294
319
|
} : {}, containerInner],
|
|
295
320
|
testID: "message-content-wrapper",
|
|
296
321
|
__self: _this,
|
|
297
322
|
__source: {
|
|
298
323
|
fileName: _jsxFileName,
|
|
299
|
-
lineNumber:
|
|
324
|
+
lineNumber: 348,
|
|
300
325
|
columnNumber: 9
|
|
301
326
|
}
|
|
302
327
|
}, messageContentOrder.map(function (messageContentType, messageContentOrderIndex) {
|
|
@@ -308,7 +333,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
308
333
|
__self: _this,
|
|
309
334
|
__source: {
|
|
310
335
|
fileName: _jsxFileName,
|
|
311
|
-
lineNumber:
|
|
336
|
+
lineNumber: 367,
|
|
312
337
|
columnNumber: 21
|
|
313
338
|
}
|
|
314
339
|
}, _react["default"].createElement(Reply, {
|
|
@@ -320,7 +345,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
320
345
|
__self: _this,
|
|
321
346
|
__source: {
|
|
322
347
|
fileName: _jsxFileName,
|
|
323
|
-
lineNumber:
|
|
348
|
+
lineNumber: 371,
|
|
324
349
|
columnNumber: 23
|
|
325
350
|
}
|
|
326
351
|
}));
|
|
@@ -333,7 +358,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
333
358
|
__self: _this,
|
|
334
359
|
__source: {
|
|
335
360
|
fileName: _jsxFileName,
|
|
336
|
-
lineNumber:
|
|
361
|
+
lineNumber: 377,
|
|
337
362
|
columnNumber: 19
|
|
338
363
|
}
|
|
339
364
|
});
|
|
@@ -346,7 +371,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
346
371
|
__self: _this,
|
|
347
372
|
__source: {
|
|
348
373
|
fileName: _jsxFileName,
|
|
349
|
-
lineNumber:
|
|
374
|
+
lineNumber: 381,
|
|
350
375
|
columnNumber: 19
|
|
351
376
|
}
|
|
352
377
|
});
|
|
@@ -357,7 +382,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
357
382
|
__self: _this,
|
|
358
383
|
__source: {
|
|
359
384
|
fileName: _jsxFileName,
|
|
360
|
-
lineNumber:
|
|
385
|
+
lineNumber: 387,
|
|
361
386
|
columnNumber: 24
|
|
362
387
|
}
|
|
363
388
|
});
|
|
@@ -369,7 +394,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
369
394
|
__self: _this,
|
|
370
395
|
__source: {
|
|
371
396
|
fileName: _jsxFileName,
|
|
372
|
-
lineNumber:
|
|
397
|
+
lineNumber: 391,
|
|
373
398
|
columnNumber: 19
|
|
374
399
|
}
|
|
375
400
|
});
|
|
@@ -380,7 +405,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
380
405
|
__self: _this,
|
|
381
406
|
__source: {
|
|
382
407
|
fileName: _jsxFileName,
|
|
383
|
-
lineNumber:
|
|
408
|
+
lineNumber: 399,
|
|
384
409
|
columnNumber: 11
|
|
385
410
|
}
|
|
386
411
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -388,7 +413,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
388
413
|
__self: _this,
|
|
389
414
|
__source: {
|
|
390
415
|
fileName: _jsxFileName,
|
|
391
|
-
lineNumber:
|
|
416
|
+
lineNumber: 400,
|
|
392
417
|
columnNumber: 13
|
|
393
418
|
}
|
|
394
419
|
}, _react["default"].createElement(_icons.Error, (0, _extends2["default"])({
|
|
@@ -397,7 +422,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
397
422
|
__self: _this,
|
|
398
423
|
__source: {
|
|
399
424
|
fileName: _jsxFileName,
|
|
400
|
-
lineNumber:
|
|
425
|
+
lineNumber: 401,
|
|
401
426
|
columnNumber: 15
|
|
402
427
|
}
|
|
403
428
|
}))))), _react["default"].createElement(MessageReplies, {
|
|
@@ -406,7 +431,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
406
431
|
__self: _this,
|
|
407
432
|
__source: {
|
|
408
433
|
fileName: _jsxFileName,
|
|
409
|
-
lineNumber:
|
|
434
|
+
lineNumber: 406,
|
|
410
435
|
columnNumber: 7
|
|
411
436
|
}
|
|
412
437
|
}), _react["default"].createElement(MessageFooter, {
|
|
@@ -415,7 +440,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
415
440
|
__self: _this,
|
|
416
441
|
__source: {
|
|
417
442
|
fileName: _jsxFileName,
|
|
418
|
-
lineNumber:
|
|
443
|
+
lineNumber: 407,
|
|
419
444
|
columnNumber: 7
|
|
420
445
|
}
|
|
421
446
|
}));
|
|
@@ -575,7 +600,7 @@ var MessageContent = function MessageContent(props) {
|
|
|
575
600
|
__self: _this,
|
|
576
601
|
__source: {
|
|
577
602
|
fileName: _jsxFileName,
|
|
578
|
-
lineNumber:
|
|
603
|
+
lineNumber: 592,
|
|
579
604
|
columnNumber: 5
|
|
580
605
|
}
|
|
581
606
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MessageContent.tsx"],"names":["styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignContent","justifyContent","leftAlignItems","alignItems","replyBorder","borderLeftWidth","bottom","position","replyContainer","flexDirection","paddingHorizontal","paddingTop","rightAlignContent","rightAlignItems","MessageContentWithContext","props","additionalTouchableProps","alignment","Attachment","disabled","FileAttachmentGroup","formatDate","Gallery","groupStyles","hasReactions","isMyMessage","lastGroupMessage","members","message","messageContentOrder","MessageDeleted","MessageFooter","MessageHeader","MessageReplies","MessageStatus","onLongPress","onlyEmojis","onPress","onPressIn","otherAttachments","preventPress","Reply","setMessageContentWidth","showMessageStatus","tDateTimeParser","threadList","theme","colors","accent_red","blue_alice","grey_gainsboro","grey_whisper","transparent","white","messageSimple","content","container","borderRadius","borderRadiusL","borderRadiusS","errorContainer","errorIcon","errorIconContainer","wrapper","reactionList","radius","reactionSize","getDateText","formatter","created_at","parserOutput","format","onLayout","width","nativeEvent","layout","error","type","status","MessageStatusTypes","FAILED","groupStyle","toLowerCase","hasThreadReplies","reply_count","noBorder","quoted_message","length","isMessageTypeDeleted","backgroundColor","repliesCurveColor","isBorderColor","shouldApplyBorderRadius","firstGroupStyle","secondGroupStyle","applyBorderRadius","event","emitter","borderColor","height","left","undefined","right","borderBottomLeftRadius","borderBottomRightRadius","map","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","attachment","attachmentIndex","id","actions","absoluteFill","areEqual","prevProps","nextProps","prevGoToMessage","goToMessage","prevGroupStyles","prevHasReactions","isAttachmentEqual","prevLastGroupMessage","prevMembers","prevMessage","prevMessageContentOrder","prevOnlyEmojis","prevOtherAttachments","prevT","t","prevTDateTimeParser","nextGoToMessage","nextGroupStyles","nextHasReactions","nextLastGroupMessage","nextMembers","nextMessage","nextMessageContentOrder","nextOnlyEmojis","nextOtherAttachments","nextT","nextTDateTimeParser","hasReactionsEqual","lastGroupMessageEqual","goToMessageChangedAndMatters","quoted_message_id","onlyEmojisEqual","otherAttachmentsEqual","membersEqual","Object","keys","groupStylesEqual","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","messageEqual","text","pinned","isPrevQuotedMessageTypeDeleted","isNextQuotedMessageTypeDeleted","quotedMessageEqual","prevMessageAttachments","attachments","nextMessageAttachments","attachmentsEqual","Array","isArray","every","index","attachmentKeysEqual","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","messageContentOrderEqual","tEqual","tDateTimeParserEqual","MemoizedMessageContent","React","memo","MessageContent","lastReceivedId","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { MessageTextContainer } from './MessageTextContainer';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n isDayOrMoment,\n TDateTimeParserInput,\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport { Error } from '../../../icons';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes, vw } from '../../../utils/utils';\n\nconst styles = StyleSheet.create({\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n leftAlignContent: {\n justifyContent: 'flex-start',\n },\n leftAlignItems: {\n alignItems: 'flex-start',\n },\n replyBorder: {\n borderLeftWidth: 1,\n bottom: 0,\n position: 'absolute',\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n rightAlignContent: {\n justifyContent: 'flex-end',\n },\n rightAlignItems: {\n alignItems: 'flex-end',\n },\n});\n\nexport type MessageContentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'disabled'\n | 'goToMessage'\n | 'groupStyles'\n | 'hasReactions'\n | 'isMyMessage'\n | 'lastGroupMessage'\n | 'members'\n | 'message'\n | 'messageContentOrder'\n | 'onLongPress'\n | 'onlyEmojis'\n | 'onPress'\n | 'onPressIn'\n | 'otherAttachments'\n | 'preventPress'\n | 'showMessageStatus'\n | 'threadList'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'FileAttachmentGroup'\n | 'formatDate'\n | 'Gallery'\n | 'isAttachmentEqual'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageDeleted'\n | 'MessageReplies'\n | 'MessageStatus'\n | 'onPressInMessage'\n | 'Reply'\n > &\n Pick<TranslationContextValue, 't' | 'tDateTimeParser'> & {\n setMessageContentWidth: React.Dispatch<React.SetStateAction<number>>;\n };\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nconst MessageContentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n setMessageContentWidth,\n showMessageStatus,\n tDateTimeParser,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { accent_red, blue_alice, grey_gainsboro, grey_whisper, transparent, white },\n messageSimple: {\n content: {\n container: { borderRadius, borderRadiusL, borderRadiusS, ...container },\n containerInner,\n errorContainer,\n errorIcon,\n errorIconContainer,\n replyBorder,\n replyContainer,\n wrapper,\n },\n reactionList: { radius, reactionSize },\n },\n },\n } = useTheme();\n\n const getDateText = (formatter?: (date: TDateTimeParserInput) => string) => {\n if (!message.created_at) return '';\n\n if (formatter) {\n return formatter(message.created_at);\n }\n\n const parserOutput = tDateTimeParser(message.created_at);\n\n if (isDayOrMoment(parserOutput)) {\n return parserOutput.format('LT');\n }\n return message.created_at;\n };\n\n const onLayout: (event: LayoutChangeEvent) => void = ({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setMessageContentWidth(width);\n };\n\n const error = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n let noBorder = onlyEmojis && !message.quoted_message;\n if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy' && !isMyMessage) {\n noBorder = false;\n } else {\n noBorder = true;\n }\n }\n\n const isMessageTypeDeleted = message.type === 'deleted';\n\n if (isMessageTypeDeleted) {\n return (\n <MessageDeleted\n formattedDate={getDateText(formatDate)}\n groupStyle={groupStyle}\n noBorder={noBorder}\n onLayout={onLayout}\n />\n );\n }\n\n let backgroundColor = grey_gainsboro;\n if (onlyEmojis && !message.quoted_message) {\n backgroundColor = transparent;\n } else if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy') {\n backgroundColor = message.quoted_message ? grey_gainsboro : transparent;\n } else {\n backgroundColor = blue_alice;\n }\n } else if (alignment === 'left' || error) {\n backgroundColor = white;\n }\n\n const repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;\n\n const isBorderColor = isMyMessage && !error;\n\n const shouldApplyBorderRadius = (firstGroupStyle: string, secondGroupStyle: string): boolean =>\n (groupStyle === firstGroupStyle || groupStyle === secondGroupStyle) &&\n (!hasThreadReplies || threadList);\n\n const applyBorderRadius = (\n firstGroupStyle: string,\n secondGroupStyle: string,\n ): number | undefined => {\n if (shouldApplyBorderRadius(firstGroupStyle, secondGroupStyle)) {\n return borderRadiusS;\n }\n return borderRadiusL;\n };\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n disabled={disabled || preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n testID='message-content'\n {...additionalTouchableProps}\n /**\n * Border radii are useful for the case of error message types only.\n * Otherwise background is transparent, so border radius is not really visible.\n */\n style={[\n alignment === 'left' ? styles.leftAlignItems : styles.rightAlignItems,\n { paddingTop: hasReactions ? reactionSize / 2 + radius : 2 },\n error ? errorContainer : {},\n container,\n ]}\n >\n {MessageHeader && (\n <MessageHeader\n alignment={alignment}\n formattedDate={getDateText(formatDate)}\n isDeleted={!!isMessageTypeDeleted}\n lastGroupMessage={lastGroupMessage}\n members={members}\n message={message}\n MessageStatus={MessageStatus}\n otherAttachments={otherAttachments}\n showMessageStatus={showMessageStatus}\n />\n )}\n <View onLayout={onLayout} style={wrapper}>\n {hasThreadReplies && !threadList && !noBorder && (\n <View\n style={[\n styles.replyBorder,\n {\n borderColor: repliesCurveColor,\n height: borderRadiusL,\n left: alignment === 'left' ? 0 : undefined,\n right: alignment === 'right' ? 0 : undefined,\n },\n replyBorder,\n ]}\n />\n )}\n <View\n style={[\n styles.containerInner,\n {\n backgroundColor,\n borderBottomLeftRadius: applyBorderRadius('left_bottom', 'left_single'),\n borderBottomRightRadius: applyBorderRadius('right_bottom', 'right_single'),\n borderColor: isBorderColor ? backgroundColor : grey_whisper,\n borderRadius,\n borderTopLeftRadius: applyBorderRadius('left_top', 'right_single'),\n borderTopRightRadius: applyBorderRadius('right_top', 'right_single'),\n },\n noBorder ? { borderWidth: 0 } : {},\n containerInner,\n ]}\n testID='message-content-wrapper'\n >\n {messageContentOrder.map((messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply styles={{ messageContainer: { maxWidth: vw(60) } }} />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments.map((attachment, attachmentIndex) => (\n <Attachment attachment={attachment} key={`${message.id}-${attachmentIndex}`} />\n ));\n case 'files':\n return (\n <FileAttachmentGroup\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n );\n case 'gallery':\n return <Gallery key={`gallery_${messageContentOrderIndex}`} />;\n case 'text':\n default:\n return otherAttachments.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n />\n );\n }\n })}\n </View>\n {error && (\n <View style={StyleSheet.absoluteFill} testID='message-error'>\n <View style={errorIconContainer}>\n <Error pathFill={accent_red} {...errorIcon} />\n </View>\n </View>\n )}\n </View>\n <MessageReplies noBorder={noBorder} repliesCurveColor={repliesCurveColor} />\n <MessageFooter formattedDate={getDateText(formatDate)} isDeleted={!!isMessageTypeDeleted} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageContentPropsWithContext<StreamChatGenerics>,\n nextProps: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n isAttachmentEqual,\n lastGroupMessage: prevLastGroupMessage,\n members: prevMembers,\n message: prevMessage,\n messageContentOrder: prevMessageContentOrder,\n onlyEmojis: prevOnlyEmojis,\n otherAttachments: prevOtherAttachments,\n t: prevT,\n tDateTimeParser: prevTDateTimeParser,\n } = prevProps;\n const {\n goToMessage: nextGoToMessage,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n lastGroupMessage: nextLastGroupMessage,\n members: nextMembers,\n message: nextMessage,\n messageContentOrder: nextMessageContentOrder,\n onlyEmojis: nextOnlyEmojis,\n otherAttachments: nextOtherAttachments,\n t: nextT,\n tDateTimeParser: nextTDateTimeParser,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;\n if (!lastGroupMessageEqual) return false;\n\n const goToMessageChangedAndMatters =\n nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;\n if (goToMessageChangedAndMatters) return false;\n\n const onlyEmojisEqual = prevOnlyEmojis === nextOnlyEmojis;\n if (!onlyEmojisEqual) return false;\n\n const otherAttachmentsEqual =\n prevOtherAttachments.length === nextOtherAttachments.length &&\n prevOtherAttachments?.[0]?.actions?.length === nextOtherAttachments?.[0]?.actions?.length;\n if (!otherAttachmentsEqual) return false;\n\n const membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;\n if (!membersEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length &&\n prevGroupStyles?.[0] === nextGroupStyles?.[0];\n if (!groupStylesEqual) return false;\n\n const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n prevMessage.reply_count === nextMessage.reply_count &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned;\n if (!messageEqual) return false;\n\n const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';\n const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;\n if (!quotedMessageEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)\n ? prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url;\n\n if (isAttachmentEqual)\n return (\n attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])\n );\n\n return attachmentKeysEqual;\n })\n : prevMessageAttachments === nextMessageAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n const messageContentOrderEqual =\n prevMessageContentOrder.length === nextMessageContentOrder.length &&\n prevMessageContentOrder.every(\n (messageContentType, index) => messageContentType === nextMessageContentOrder[index],\n );\n if (!messageContentOrderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const tDateTimeParserEqual = prevTDateTimeParser === nextTDateTimeParser;\n if (!tDateTimeParserEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageContent = React.memo(\n MessageContentWithContext,\n areEqual,\n) as typeof MessageContentWithContext;\n\nexport type MessageContentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>> &\n Pick<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>;\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nexport const MessageContent = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n disabled,\n goToMessage,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n showMessageStatus,\n threadList,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps,\n Attachment,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n isAttachmentEqual,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n Reply,\n } = useMessagesContext<StreamChatGenerics>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n return (\n <MemoizedMessageContent<StreamChatGenerics>\n {...{\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n goToMessage,\n groupStyles,\n hasReactions,\n isAttachmentEqual,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n showMessageStatus,\n t,\n tDateTimeParser,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageContent.displayName = 'MessageContent{messageSimple{content}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["MessageContent.tsx"],"names":["styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignContent","justifyContent","leftAlignItems","alignItems","replyBorder","borderLeftWidth","bottom","position","replyContainer","flexDirection","paddingHorizontal","paddingTop","rightAlignContent","rightAlignItems","MessageContentWithContext","props","additionalTouchableProps","alignment","Attachment","disabled","FileAttachmentGroup","formatDate","Gallery","groupStyles","hasReactions","isMyMessage","lastGroupMessage","members","message","messageContentOrder","MessageDeleted","MessageFooter","MessageHeader","MessageReplies","MessageStatus","onLongPress","onlyEmojis","onPress","onPressIn","otherAttachments","preventPress","Reply","setMessageContentWidth","showMessageStatus","tDateTimeParser","threadList","theme","colors","accent_red","blue_alice","grey_gainsboro","grey_whisper","transparent","white","messageSimple","content","container","borderBottomLeftRadius","borderBottomRightRadius","borderRadius","borderRadiusL","borderRadiusS","errorContainer","errorIcon","errorIconContainer","wrapper","reactionList","radius","reactionSize","getDateText","formatter","created_at","parserOutput","format","onLayout","width","nativeEvent","layout","error","type","status","MessageStatusTypes","FAILED","groupStyle","toLowerCase","hasThreadReplies","reply_count","noBorder","quoted_message","length","isMessageTypeDeleted","backgroundColor","repliesCurveColor","isBorderColor","getBorderRadius","groupPosition","isBottomOrSingle","getBorderRadiusFromTheme","bordersFromTheme","key","undefined","event","emitter","borderColor","height","left","right","map","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","attachment","attachmentIndex","id","actions","absoluteFill","areEqual","prevProps","nextProps","prevGoToMessage","goToMessage","prevGroupStyles","prevHasReactions","isAttachmentEqual","prevLastGroupMessage","prevMembers","prevMessage","prevMessageContentOrder","prevOnlyEmojis","prevOtherAttachments","prevT","t","prevTDateTimeParser","nextGoToMessage","nextGroupStyles","nextHasReactions","nextLastGroupMessage","nextMembers","nextMessage","nextMessageContentOrder","nextOnlyEmojis","nextOtherAttachments","nextT","nextTDateTimeParser","hasReactionsEqual","lastGroupMessageEqual","goToMessageChangedAndMatters","quoted_message_id","onlyEmojisEqual","otherAttachmentsEqual","membersEqual","Object","keys","groupStylesEqual","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","messageEqual","text","pinned","isPrevQuotedMessageTypeDeleted","isNextQuotedMessageTypeDeleted","quotedMessageEqual","prevMessageAttachments","attachments","nextMessageAttachments","attachmentsEqual","Array","isArray","every","index","attachmentKeysEqual","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","messageContentOrderEqual","tEqual","tDateTimeParserEqual","MemoizedMessageContent","React","memo","MessageContent","lastReceivedId","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { MessageTextContainer } from './MessageTextContainer';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n isDayOrMoment,\n TDateTimeParserInput,\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport { Error } from '../../../icons';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes, vw } from '../../../utils/utils';\n\nconst styles = StyleSheet.create({\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n leftAlignContent: {\n justifyContent: 'flex-start',\n },\n leftAlignItems: {\n alignItems: 'flex-start',\n },\n replyBorder: {\n borderLeftWidth: 1,\n bottom: 0,\n position: 'absolute',\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n rightAlignContent: {\n justifyContent: 'flex-end',\n },\n rightAlignItems: {\n alignItems: 'flex-end',\n },\n});\n\nexport type MessageContentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'disabled'\n | 'goToMessage'\n | 'groupStyles'\n | 'hasReactions'\n | 'isMyMessage'\n | 'lastGroupMessage'\n | 'members'\n | 'message'\n | 'messageContentOrder'\n | 'onLongPress'\n | 'onlyEmojis'\n | 'onPress'\n | 'onPressIn'\n | 'otherAttachments'\n | 'preventPress'\n | 'showMessageStatus'\n | 'threadList'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'FileAttachmentGroup'\n | 'formatDate'\n | 'Gallery'\n | 'isAttachmentEqual'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageDeleted'\n | 'MessageReplies'\n | 'MessageStatus'\n | 'onPressInMessage'\n | 'Reply'\n > &\n Pick<TranslationContextValue, 't' | 'tDateTimeParser'> & {\n setMessageContentWidth: React.Dispatch<React.SetStateAction<number>>;\n };\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nconst MessageContentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n setMessageContentWidth,\n showMessageStatus,\n tDateTimeParser,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { accent_red, blue_alice, grey_gainsboro, grey_whisper, transparent, white },\n messageSimple: {\n content: {\n container: {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderRadiusL,\n borderRadiusS,\n borderTopLeftRadius,\n borderTopRightRadius,\n ...container\n },\n containerInner,\n errorContainer,\n errorIcon,\n errorIconContainer,\n replyBorder,\n replyContainer,\n wrapper,\n },\n reactionList: { radius, reactionSize },\n },\n },\n } = useTheme();\n\n const getDateText = (formatter?: (date: TDateTimeParserInput) => string) => {\n if (!message.created_at) return '';\n\n if (formatter) {\n return formatter(message.created_at);\n }\n\n const parserOutput = tDateTimeParser(message.created_at);\n\n if (isDayOrMoment(parserOutput)) {\n return parserOutput.format('LT');\n }\n return message.created_at;\n };\n\n const onLayout: (event: LayoutChangeEvent) => void = ({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setMessageContentWidth(width);\n };\n\n const error = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n let noBorder = onlyEmojis && !message.quoted_message;\n if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy' && !isMyMessage) {\n noBorder = false;\n } else {\n noBorder = true;\n }\n }\n\n const isMessageTypeDeleted = message.type === 'deleted';\n\n if (isMessageTypeDeleted) {\n return (\n <MessageDeleted\n formattedDate={getDateText(formatDate)}\n groupStyle={groupStyle}\n noBorder={noBorder}\n onLayout={onLayout}\n />\n );\n }\n\n let backgroundColor = grey_gainsboro;\n if (onlyEmojis && !message.quoted_message) {\n backgroundColor = transparent;\n } else if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy') {\n backgroundColor = message.quoted_message ? grey_gainsboro : transparent;\n } else {\n backgroundColor = blue_alice;\n }\n } else if (alignment === 'left' || error) {\n backgroundColor = white;\n }\n\n const repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;\n\n const isBorderColor = isMyMessage && !error;\n\n const getBorderRadius = () => {\n // enum('top', 'middle', 'bottom', 'single')\n const groupPosition = groupStyles?.[0];\n\n const isBottomOrSingle = groupPosition === 'single' || groupPosition === 'bottom';\n let borderBottomLeftRadius = borderRadiusL;\n let borderBottomRightRadius = borderRadiusL;\n\n if (isBottomOrSingle && (!hasThreadReplies || threadList)) {\n // add relevant sharp corner\n if (alignment === 'left') {\n borderBottomLeftRadius = borderRadiusS;\n } else {\n borderBottomRightRadius = borderRadiusS;\n }\n }\n\n return {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n };\n };\n\n const getBorderRadiusFromTheme = () => {\n const bordersFromTheme: Record<string, number | undefined> = {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n };\n\n // filter out undefined values\n for (const key in bordersFromTheme) {\n if (bordersFromTheme[key] === undefined) {\n delete bordersFromTheme[key];\n }\n }\n\n return bordersFromTheme;\n };\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n disabled={disabled || preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n testID='message-content'\n {...additionalTouchableProps}\n /**\n * Border radii are useful for the case of error message types only.\n * Otherwise background is transparent, so border radius is not really visible.\n */\n style={[\n alignment === 'left' ? styles.leftAlignItems : styles.rightAlignItems,\n { paddingTop: hasReactions ? reactionSize / 2 + radius : 2 },\n error ? errorContainer : {},\n container,\n ]}\n >\n {MessageHeader && (\n <MessageHeader\n alignment={alignment}\n formattedDate={getDateText(formatDate)}\n isDeleted={!!isMessageTypeDeleted}\n lastGroupMessage={lastGroupMessage}\n members={members}\n message={message}\n MessageStatus={MessageStatus}\n otherAttachments={otherAttachments}\n showMessageStatus={showMessageStatus}\n />\n )}\n <View onLayout={onLayout} style={wrapper}>\n {hasThreadReplies && !threadList && !noBorder && (\n <View\n style={[\n styles.replyBorder,\n {\n borderColor: repliesCurveColor,\n height: borderRadiusL,\n left: alignment === 'left' ? 0 : undefined,\n right: alignment === 'right' ? 0 : undefined,\n },\n replyBorder,\n ]}\n />\n )}\n <View\n style={[\n styles.containerInner,\n {\n backgroundColor,\n borderColor: isBorderColor ? backgroundColor : grey_whisper,\n ...getBorderRadius(),\n ...getBorderRadiusFromTheme(),\n },\n noBorder ? { borderWidth: 0 } : {},\n containerInner,\n ]}\n testID='message-content-wrapper'\n >\n {messageContentOrder.map((messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply styles={{ messageContainer: { maxWidth: vw(60) } }} />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments.map((attachment, attachmentIndex) => (\n <Attachment attachment={attachment} key={`${message.id}-${attachmentIndex}`} />\n ));\n case 'files':\n return (\n <FileAttachmentGroup\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n );\n case 'gallery':\n return <Gallery key={`gallery_${messageContentOrderIndex}`} />;\n case 'text':\n default:\n return otherAttachments.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n />\n );\n }\n })}\n </View>\n {error && (\n <View style={StyleSheet.absoluteFill} testID='message-error'>\n <View style={errorIconContainer}>\n <Error pathFill={accent_red} {...errorIcon} />\n </View>\n </View>\n )}\n </View>\n <MessageReplies noBorder={noBorder} repliesCurveColor={repliesCurveColor} />\n <MessageFooter formattedDate={getDateText(formatDate)} isDeleted={!!isMessageTypeDeleted} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageContentPropsWithContext<StreamChatGenerics>,\n nextProps: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n isAttachmentEqual,\n lastGroupMessage: prevLastGroupMessage,\n members: prevMembers,\n message: prevMessage,\n messageContentOrder: prevMessageContentOrder,\n onlyEmojis: prevOnlyEmojis,\n otherAttachments: prevOtherAttachments,\n t: prevT,\n tDateTimeParser: prevTDateTimeParser,\n } = prevProps;\n const {\n goToMessage: nextGoToMessage,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n lastGroupMessage: nextLastGroupMessage,\n members: nextMembers,\n message: nextMessage,\n messageContentOrder: nextMessageContentOrder,\n onlyEmojis: nextOnlyEmojis,\n otherAttachments: nextOtherAttachments,\n t: nextT,\n tDateTimeParser: nextTDateTimeParser,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;\n if (!lastGroupMessageEqual) return false;\n\n const goToMessageChangedAndMatters =\n nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;\n if (goToMessageChangedAndMatters) return false;\n\n const onlyEmojisEqual = prevOnlyEmojis === nextOnlyEmojis;\n if (!onlyEmojisEqual) return false;\n\n const otherAttachmentsEqual =\n prevOtherAttachments.length === nextOtherAttachments.length &&\n prevOtherAttachments?.[0]?.actions?.length === nextOtherAttachments?.[0]?.actions?.length;\n if (!otherAttachmentsEqual) return false;\n\n const membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;\n if (!membersEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length &&\n prevGroupStyles?.[0] === nextGroupStyles?.[0];\n if (!groupStylesEqual) return false;\n\n const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n prevMessage.reply_count === nextMessage.reply_count &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned;\n if (!messageEqual) return false;\n\n const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';\n const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;\n if (!quotedMessageEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)\n ? prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url;\n\n if (isAttachmentEqual)\n return (\n attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])\n );\n\n return attachmentKeysEqual;\n })\n : prevMessageAttachments === nextMessageAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n const messageContentOrderEqual =\n prevMessageContentOrder.length === nextMessageContentOrder.length &&\n prevMessageContentOrder.every(\n (messageContentType, index) => messageContentType === nextMessageContentOrder[index],\n );\n if (!messageContentOrderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const tDateTimeParserEqual = prevTDateTimeParser === nextTDateTimeParser;\n if (!tDateTimeParserEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageContent = React.memo(\n MessageContentWithContext,\n areEqual,\n) as typeof MessageContentWithContext;\n\nexport type MessageContentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>> &\n Pick<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>;\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nexport const MessageContent = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n disabled,\n goToMessage,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n showMessageStatus,\n threadList,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps,\n Attachment,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n isAttachmentEqual,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n Reply,\n } = useMessagesContext<StreamChatGenerics>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n return (\n <MemoizedMessageContent<StreamChatGenerics>\n {...{\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n goToMessage,\n groupStyles,\n hasReactions,\n isAttachmentEqual,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n showMessageStatus,\n t,\n tDateTimeParser,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageContent.displayName = 'MessageContent{messageSimple{content}}';\n"]}
|
|
@@ -44,7 +44,8 @@ var useCreateMessageContext = function useCreateMessageContext(_ref) {
|
|
|
44
44
|
showAvatar = _ref.showAvatar,
|
|
45
45
|
showMessageOverlay = _ref.showMessageOverlay,
|
|
46
46
|
showMessageStatus = _ref.showMessageStatus,
|
|
47
|
-
threadList = _ref.threadList
|
|
47
|
+
threadList = _ref.threadList,
|
|
48
|
+
videos = _ref.videos;
|
|
48
49
|
var groupStylesLength = groupStyles.length;
|
|
49
50
|
var reactionsValue = reactions.map(function (_ref2) {
|
|
50
51
|
var own = _ref2.own,
|
|
@@ -95,7 +96,8 @@ var useCreateMessageContext = function useCreateMessageContext(_ref) {
|
|
|
95
96
|
showAvatar: showAvatar,
|
|
96
97
|
showMessageOverlay: showMessageOverlay,
|
|
97
98
|
showMessageStatus: showMessageStatus,
|
|
98
|
-
threadList: threadList
|
|
99
|
+
threadList: threadList,
|
|
100
|
+
videos: videos
|
|
99
101
|
};
|
|
100
102
|
}, [actionsEnabled, quotedMessageDeletedValue, alignment, disabled, goToMessage, groupStylesLength, hasReactions, lastGroupMessage, lastReceivedId, membersValue, messageValue, reactionsValue, showAvatar, showMessageStatus, threadList]);
|
|
101
103
|
return messageContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useCreateMessageContext.ts"],"names":["useCreateMessageContext","actionsEnabled","alignment","channel","disabled","files","goToMessage","groupStyles","handleAction","handleDeleteMessage","handleEditMessage","handleQuotedReplyMessage","handleResendMessage","handleToggleBanUser","handleToggleMuteUser","handleToggleReaction","hasReactions","images","isMyMessage","lastGroupMessage","lastReceivedId","members","message","messageContentOrder","onLongPress","onlyEmojis","onOpenThread","onPress","onPressIn","otherAttachments","preventPress","reactions","showAvatar","showMessageOverlay","showMessageStatus","threadList","groupStylesLength","length","reactionsValue","map","own","type","join","latestReactions","latest_reactions","undefined","readBy","messageValue","updated_at","deleted_at","status","text","reply_count","membersValue","JSON","stringify","quotedMessageDeletedValue","quoted_message","messageContext"],"mappings":";;;;;AAAA;;AAIA;;AAEO,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,
|
|
1
|
+
{"version":3,"sources":["useCreateMessageContext.ts"],"names":["useCreateMessageContext","actionsEnabled","alignment","channel","disabled","files","goToMessage","groupStyles","handleAction","handleDeleteMessage","handleEditMessage","handleQuotedReplyMessage","handleResendMessage","handleToggleBanUser","handleToggleMuteUser","handleToggleReaction","hasReactions","images","isMyMessage","lastGroupMessage","lastReceivedId","members","message","messageContentOrder","onLongPress","onlyEmojis","onOpenThread","onPress","onPressIn","otherAttachments","preventPress","reactions","showAvatar","showMessageOverlay","showMessageStatus","threadList","videos","groupStylesLength","length","reactionsValue","map","own","type","join","latestReactions","latest_reactions","undefined","readBy","messageValue","updated_at","deleted_at","status","text","reply_count","membersValue","JSON","stringify","quotedMessageDeletedValue","quoted_message","messageContext"],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\n\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';\n\nexport const useCreateMessageContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n actionsEnabled,\n alignment,\n channel,\n disabled,\n files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onOpenThread,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus,\n threadList,\n videos,\n}: MessageContextValue<StreamChatGenerics>) => {\n const groupStylesLength = groupStyles.length;\n const reactionsValue = reactions.map(({ own, type }) => `${own}${type}`).join();\n const latestReactions = message.latest_reactions ? message.latest_reactions : undefined;\n const readBy = isMessageWithStylesReadByAndDateSeparator(message) && message.readBy;\n const messageValue = `${latestReactions ? latestReactions.map(({ type }) => type).join() : ''}${\n message.updated_at\n }${message.deleted_at}${readBy}${message.status}${message.type}${message.text}${\n message.reply_count\n }`;\n const membersValue = JSON.stringify(members);\n\n const quotedMessageDeletedValue = message.quoted_message?.deleted_at;\n\n const messageContext: MessageContextValue<StreamChatGenerics> = useMemo(\n () => ({\n actionsEnabled,\n alignment,\n channel,\n disabled,\n files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onOpenThread,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus,\n threadList,\n videos,\n }),\n [\n actionsEnabled,\n quotedMessageDeletedValue,\n alignment,\n disabled,\n goToMessage,\n groupStylesLength,\n hasReactions,\n lastGroupMessage,\n lastReceivedId,\n membersValue,\n messageValue,\n reactionsValue,\n showAvatar,\n showMessageStatus,\n threadList,\n ],\n );\n\n return messageContext;\n};\n"]}
|