stream-chat-react-native-core 3.9.0-next.1 → 3.9.0-next.2
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/Gallery.js +21 -9
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +22 -12
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +4 -0
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +4 -0
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +9 -6
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +40 -31
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +1 -5
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
- package/lib/commonjs/contexts/channelContext/ChannelContext.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/version.json +1 -1
- package/lib/module/components/Attachment/Gallery.js +21 -9
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +22 -12
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js +4 -0
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +4 -0
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +9 -6
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +40 -31
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/utils/getGroupStyles.js +1 -5
- package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
- package/lib/module/contexts/channelContext/ChannelContext.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/version.json +1 -1
- package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +2 -1
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +4 -2
- package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +3 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +3 -1
- package/package.json +1 -1
- package/src/components/Attachment/Gallery.tsx +20 -5
- package/src/components/Channel/Channel.tsx +10 -0
- package/src/components/Channel/hooks/useCreateChannelContext.ts +4 -0
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -0
- package/src/components/Message/MessageSimple/MessageSimple.tsx +9 -3
- package/src/components/MessageList/MessageList.tsx +52 -27
- package/src/components/MessageList/hooks/useMessageList.ts +1 -1
- package/src/components/MessageList/utils/getGroupStyles.ts +3 -8
- package/src/contexts/channelContext/ChannelContext.tsx +2 -0
- package/src/contexts/messagesContext/MessagesContext.tsx +2 -0
- package/src/version.json +1 -1
|
@@ -108,6 +108,8 @@ var GalleryWithContext = function GalleryWithContext(props) {
|
|
|
108
108
|
groupStyles = props.groupStyles,
|
|
109
109
|
hasThreadReplies = props.hasThreadReplies,
|
|
110
110
|
images = props.images,
|
|
111
|
+
legacyImageViewerSwipeBehaviour = props.legacyImageViewerSwipeBehaviour,
|
|
112
|
+
message = props.message,
|
|
111
113
|
messageId = props.messageId,
|
|
112
114
|
messageText = props.messageText,
|
|
113
115
|
_onLongPress = props.onLongPress,
|
|
@@ -116,6 +118,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
|
|
|
116
118
|
preventPress = props.preventPress,
|
|
117
119
|
setBlurType = props.setBlurType,
|
|
118
120
|
setImage = props.setImage,
|
|
121
|
+
setImages = props.setImages,
|
|
119
122
|
setOverlay = props.setOverlay,
|
|
120
123
|
threadList = props.threadList;
|
|
121
124
|
|
|
@@ -177,7 +180,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
|
|
|
177
180
|
__self: _this,
|
|
178
181
|
__source: {
|
|
179
182
|
fileName: _jsxFileName,
|
|
180
|
-
lineNumber:
|
|
183
|
+
lineNumber: 204,
|
|
181
184
|
columnNumber: 5
|
|
182
185
|
}
|
|
183
186
|
}, galleryImages.map(function (column, colIndex) {
|
|
@@ -189,7 +192,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
|
|
|
189
192
|
__self: _this,
|
|
190
193
|
__source: {
|
|
191
194
|
fileName: _jsxFileName,
|
|
192
|
-
lineNumber:
|
|
195
|
+
lineNumber: 215,
|
|
193
196
|
columnNumber: 9
|
|
194
197
|
}
|
|
195
198
|
}, column.map(function (_ref, rowIndex) {
|
|
@@ -197,6 +200,10 @@ var GalleryWithContext = function GalleryWithContext(props) {
|
|
|
197
200
|
url = _ref.url;
|
|
198
201
|
|
|
199
202
|
var defaultOnPress = function defaultOnPress() {
|
|
203
|
+
if (!legacyImageViewerSwipeBehaviour) {
|
|
204
|
+
setImages([message]);
|
|
205
|
+
}
|
|
206
|
+
|
|
200
207
|
setImage({
|
|
201
208
|
messageId: messageId,
|
|
202
209
|
url: url
|
|
@@ -243,7 +250,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
|
|
|
243
250
|
__self: _this,
|
|
244
251
|
__source: {
|
|
245
252
|
fileName: _jsxFileName,
|
|
246
|
-
lineNumber:
|
|
253
|
+
lineNumber: 236,
|
|
247
254
|
columnNumber: 15
|
|
248
255
|
}
|
|
249
256
|
}), _react["default"].createElement(MemoizedGalleryImage, {
|
|
@@ -259,7 +266,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
|
|
|
259
266
|
__self: _this,
|
|
260
267
|
__source: {
|
|
261
268
|
fileName: _jsxFileName,
|
|
262
|
-
lineNumber:
|
|
269
|
+
lineNumber: 276,
|
|
263
270
|
columnNumber: 17
|
|
264
271
|
}
|
|
265
272
|
}), colIndex === 1 && rowIndex === 1 && images.length > 3 ? _react["default"].createElement(_reactNative.View, {
|
|
@@ -269,7 +276,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
|
|
|
269
276
|
__self: _this,
|
|
270
277
|
__source: {
|
|
271
278
|
fileName: _jsxFileName,
|
|
272
|
-
lineNumber:
|
|
279
|
+
lineNumber: 313,
|
|
273
280
|
columnNumber: 19
|
|
274
281
|
}
|
|
275
282
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -277,7 +284,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
|
|
|
277
284
|
__self: _this,
|
|
278
285
|
__source: {
|
|
279
286
|
fileName: _jsxFileName,
|
|
280
|
-
lineNumber:
|
|
287
|
+
lineNumber: 321,
|
|
281
288
|
columnNumber: 21
|
|
282
289
|
}
|
|
283
290
|
}, "+" + (images.length - 3))) : null);
|
|
@@ -327,7 +334,8 @@ var Gallery = function Gallery(props) {
|
|
|
327
334
|
propThreadList = props.threadList;
|
|
328
335
|
|
|
329
336
|
var _useImageGalleryConte = (0, _ImageGalleryContext.useImageGalleryContext)(),
|
|
330
|
-
contextSetImage = _useImageGalleryConte.setImage
|
|
337
|
+
contextSetImage = _useImageGalleryConte.setImage,
|
|
338
|
+
setImages = _useImageGalleryConte.setImages;
|
|
331
339
|
|
|
332
340
|
var _useMessageContext = (0, _MessageContext.useMessageContext)(),
|
|
333
341
|
contextAlignment = _useMessageContext.alignment,
|
|
@@ -341,7 +349,8 @@ var Gallery = function Gallery(props) {
|
|
|
341
349
|
contextThreadList = _useMessageContext.threadList;
|
|
342
350
|
|
|
343
351
|
var _useMessagesContext = (0, _MessagesContext.useMessagesContext)(),
|
|
344
|
-
contextAdditionalTouchableProps = _useMessagesContext.additionalTouchableProps
|
|
352
|
+
contextAdditionalTouchableProps = _useMessagesContext.additionalTouchableProps,
|
|
353
|
+
legacyImageViewerSwipeBehaviour = _useMessagesContext.legacyImageViewerSwipeBehaviour;
|
|
345
354
|
|
|
346
355
|
var _useOverlayContext = (0, _OverlayContext.useOverlayContext)(),
|
|
347
356
|
contextSetBlurType = _useOverlayContext.setBlurType,
|
|
@@ -366,6 +375,8 @@ var Gallery = function Gallery(props) {
|
|
|
366
375
|
groupStyles: groupStyles,
|
|
367
376
|
hasThreadReplies: hasThreadReplies || !!(message != null && message.reply_count),
|
|
368
377
|
images: images,
|
|
378
|
+
legacyImageViewerSwipeBehaviour: legacyImageViewerSwipeBehaviour,
|
|
379
|
+
message: message,
|
|
369
380
|
messageId: messageId || (message == null ? void 0 : message.id),
|
|
370
381
|
messageText: messageText || (message == null ? void 0 : message.text),
|
|
371
382
|
onLongPress: onLongPress,
|
|
@@ -374,12 +385,13 @@ var Gallery = function Gallery(props) {
|
|
|
374
385
|
preventPress: preventPress,
|
|
375
386
|
setBlurType: setBlurType,
|
|
376
387
|
setImage: setImage,
|
|
388
|
+
setImages: setImages,
|
|
377
389
|
setOverlay: setOverlay,
|
|
378
390
|
threadList: threadList,
|
|
379
391
|
__self: _this,
|
|
380
392
|
__source: {
|
|
381
393
|
fileName: _jsxFileName,
|
|
382
|
-
lineNumber:
|
|
394
|
+
lineNumber: 462,
|
|
383
395
|
columnNumber: 5
|
|
384
396
|
}
|
|
385
397
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Gallery.tsx"],"names":["GalleryImage","props","height","uri","rest","error","setError","includes","replace","PixelRatio","getPixelSizeForLayoutSize","Number","MemoizedGalleryImage","React","memo","prevProps","nextProps","styles","StyleSheet","create","flex","galleryContainer","borderTopLeftRadius","borderTopRightRadius","flexDirection","flexWrap","overflow","imageContainer","padding","moreImagesContainer","alignItems","justifyContent","margin","moreImagesText","color","fontSize","fontWeight","GalleryWithContext","additionalTouchableProps","alignment","groupStyles","hasThreadReplies","images","messageId","messageText","onLongPress","onPress","onPressIn","preventPress","setBlurType","setImage","setOverlay","threadList","theme","overlay","colors","blurType","imageGallery","messageSimple","gallery","galleryItemColumn","halfSize","image","size","width","length","galleryImages","slice","reduce","returnArray","currentImage","index","attachmentUrl","image_url","thumb_url","url","groupStyle","toLowerCase","map","column","colIndex","rowIndex","defaultOnPress","event","emitter","defaultHandler","borderBottomLeftRadius","borderBottomRightRadius","absoluteFillObject","backgroundColor","areEqual","prevGroupStyles","prevHasThreadReplies","prevImages","prevMessageText","nextGroupStyles","nextHasThreadReplies","nextImages","nextMessageText","messageTextEqual","groupStylesEqual","hasThreadRepliesEqual","imagesEqual","every","MemoizedGallery","Gallery","propAdditionalTouchableProps","propAlignment","propGroupStyles","propImages","propOnLongPress","propOnPress","propOnPressIn","propPreventPress","propSetBlurType","propSetImage","propSetOverlay","propThreadList","contextSetImage","contextAlignment","contextGroupStyles","contextImages","message","contextOnLongPress","contextOnPress","contextOnPressIn","contextPreventPress","contextThreadList","contextAdditionalTouchableProps","contextSetBlurType","contextSetOverlay","reply_count","id","text","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport {\n Image,\n ImageProps,\n PixelRatio,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n} from 'react-native';\n\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst GalleryImage: React.FC<\n Omit<ImageProps, 'height' | 'source'> & {\n height: number | string;\n uri: string;\n }\n> = (props) => {\n const { height, uri, ...rest } = props;\n\n const [error, setError] = useState(false);\n\n return (\n <Image\n key={uri}\n {...rest}\n onError={() => setError(true)}\n source={{\n uri: uri.includes('&h=%2A')\n ? error\n ? uri\n : uri.replace('h=%2A', `h=${PixelRatio.getPixelSizeForLayoutSize(Number(height))}`)\n : uri,\n }}\n testID='image-attachment-single'\n />\n );\n};\n\nconst MemoizedGalleryImage = React.memo(\n GalleryImage,\n (prevProps, nextProps) =>\n prevProps.height === nextProps.height && prevProps.uri === nextProps.uri,\n) as typeof GalleryImage;\n\nconst styles = StyleSheet.create({\n flex: { flex: 1 },\n galleryContainer: {\n borderTopLeftRadius: 13,\n borderTopRightRadius: 13,\n flexDirection: 'row',\n flexWrap: 'wrap',\n overflow: 'hidden',\n },\n imageContainer: { flex: 1, padding: 1 },\n moreImagesContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n margin: 1,\n },\n moreImagesText: { color: '#FFFFFF', fontSize: 26, fontWeight: '700' },\n});\n\nexport type GalleryPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ImageGalleryContextValue, 'setImage'> &\n Pick<\n MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n | 'alignment'\n | 'groupStyles'\n | 'images'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'threadList'\n > &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'additionalTouchableProps'> &\n Pick<OverlayContextValue, 'setBlurType' | 'setOverlay'> & {\n hasThreadReplies?: boolean;\n messageId?: string;\n messageText?: string;\n };\n\nconst GalleryWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: GalleryPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n groupStyles,\n hasThreadReplies,\n images,\n messageId,\n messageText,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setBlurType,\n setImage,\n setOverlay,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { overlay },\n imageGallery: { blurType },\n messageSimple: {\n gallery: {\n galleryContainer,\n galleryItemColumn,\n halfSize,\n image,\n imageContainer,\n moreImagesContainer,\n moreImagesText,\n size,\n width,\n },\n },\n },\n } = useTheme();\n\n if (!images?.length) return null;\n\n // [[{ height: number; url: string; }], [{ height: number; url: string; }, { height: number; url: string; }]]\n const galleryImages = images.slice(0, 4).reduce((returnArray, currentImage, index) => {\n const attachmentUrl = currentImage.image_url || currentImage.thumb_url;\n if (attachmentUrl) {\n const url = makeImageCompatibleUrl(attachmentUrl);\n if (images.length <= 2) {\n returnArray[0] = [...(returnArray[0] || []), { height: size || 200, url }];\n } else if (images.length === 3) {\n if (index === 0) {\n returnArray[0] = [{ height: size || 200, url }];\n } else {\n returnArray[1] = [...(returnArray[1] || []), { height: halfSize || 100, url }];\n }\n } else {\n returnArray[index % 2] = [\n ...(returnArray[index % 2] || []),\n { height: halfSize || 100, url },\n ];\n }\n }\n return returnArray;\n }, [] as { height: number | string; url: string }[][]);\n\n const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;\n\n return (\n <View\n style={[\n styles.galleryContainer,\n {\n width,\n },\n galleryContainer,\n ]}\n testID='image-multiple-container'\n >\n {galleryImages.map((column, colIndex) => (\n <View\n key={`gallery-item-column-${colIndex}`}\n style={[\n styles.flex,\n {\n flexDirection: images.length === 2 ? 'row' : 'column',\n },\n galleryItemColumn,\n ]}\n >\n {column.map(({ height, url }, rowIndex) => {\n const defaultOnPress = () => {\n setImage({ messageId, url });\n setBlurType(blurType);\n setOverlay('gallery');\n };\n\n return (\n <TouchableOpacity\n activeOpacity={0.8}\n disabled={preventPress}\n key={`gallery-item-${url}/${rowIndex}/${images.length}`}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n style={[\n styles.imageContainer,\n {\n height,\n },\n imageContainer,\n ]}\n testID='image-multiple'\n {...additionalTouchableProps}\n >\n <MemoizedGalleryImage\n height={height}\n resizeMode='cover'\n style={[\n styles.flex,\n {\n borderBottomLeftRadius:\n (images.length === 1 ||\n (images.length === 2 && rowIndex === 0) ||\n (images.length === 3 && colIndex === 0 && rowIndex === 0) ||\n (images.length === 4 && colIndex === 0 && rowIndex === 1)) &&\n !messageText &&\n ((groupStyle !== 'left_bottom' && groupStyle !== 'left_single') ||\n (hasThreadReplies && !threadList))\n ? 14\n : 0,\n borderBottomRightRadius:\n (images.length === 1 ||\n (colIndex === 1 && (images.length === 2 || rowIndex === 1))) &&\n !messageText &&\n ((groupStyle !== 'right_bottom' && groupStyle !== 'right_single') ||\n (hasThreadReplies && !threadList))\n ? 14\n : 0,\n borderTopLeftRadius: colIndex === 0 && rowIndex === 0 ? 14 : 0,\n borderTopRightRadius:\n ((colIndex === 1 || images.length === 1) && rowIndex === 0) ||\n (images.length === 3 && colIndex === 0 && rowIndex === 1) ||\n (images.length === 2 && rowIndex === 1)\n ? 14\n : 0,\n },\n image,\n ]}\n uri={url}\n />\n {colIndex === 1 && rowIndex === 1 && images.length > 3 ? (\n <View\n style={[\n StyleSheet.absoluteFillObject,\n styles.moreImagesContainer,\n { backgroundColor: overlay },\n moreImagesContainer,\n ]}\n >\n <Text style={[styles.moreImagesText, moreImagesText]}>\n {`+${images.length - 3}`}\n </Text>\n </View>\n ) : null}\n </TouchableOpacity>\n );\n })}\n </View>\n ))}\n </View>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: GalleryPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: GalleryPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n groupStyles: prevGroupStyles,\n hasThreadReplies: prevHasThreadReplies,\n images: prevImages,\n messageText: prevMessageText,\n } = prevProps;\n const {\n groupStyles: nextGroupStyles,\n hasThreadReplies: nextHasThreadReplies,\n images: nextImages,\n messageText: nextMessageText,\n } = nextProps;\n\n const messageTextEqual = prevMessageText === nextMessageText;\n if (!messageTextEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && prevGroupStyles[0] === nextGroupStyles[0];\n if (!groupStylesEqual) return false;\n\n const hasThreadRepliesEqual = prevHasThreadReplies === nextHasThreadReplies;\n if (!hasThreadRepliesEqual) return false;\n\n const imagesEqual =\n prevImages.length === nextImages.length &&\n prevImages.every(\n (image, index) =>\n image.image_url === nextImages[index].image_url &&\n image.thumb_url === nextImages[index].thumb_url,\n );\n if (!imagesEqual) return false;\n\n return true;\n};\n\nconst MemoizedGallery = React.memo(GalleryWithContext, areEqual) as typeof GalleryWithContext;\n\nexport type GalleryProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<GalleryPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * UI component for card in attachments.\n */\nexport const Gallery = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: GalleryProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTouchableProps: propAdditionalTouchableProps,\n alignment: propAlignment,\n groupStyles: propGroupStyles,\n hasThreadReplies,\n images: propImages,\n messageId,\n messageText,\n onLongPress: propOnLongPress,\n onPress: propOnPress,\n onPressIn: propOnPressIn,\n preventPress: propPreventPress,\n setBlurType: propSetBlurType,\n setImage: propSetImage,\n setOverlay: propSetOverlay,\n threadList: propThreadList,\n } = props;\n\n const { setImage: contextSetImage } = useImageGalleryContext();\n const {\n alignment: contextAlignment,\n groupStyles: contextGroupStyles,\n images: contextImages,\n message,\n onLongPress: contextOnLongPress,\n onPress: contextOnPress,\n onPressIn: contextOnPressIn,\n preventPress: contextPreventPress,\n threadList: contextThreadList,\n } = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { additionalTouchableProps: contextAdditionalTouchableProps } =\n useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { setBlurType: contextSetBlurType, setOverlay: contextSetOverlay } = useOverlayContext();\n\n const images = propImages || contextImages;\n\n if (!images.length) return null;\n\n const additionalTouchableProps = propAdditionalTouchableProps || contextAdditionalTouchableProps;\n const alignment = propAlignment || contextAlignment;\n const groupStyles = propGroupStyles || contextGroupStyles;\n const onLongPress = propOnLongPress || contextOnLongPress;\n const onPressIn = propOnPressIn || contextOnPressIn;\n const onPress = propOnPress || contextOnPress;\n const preventPress =\n typeof propPreventPress === 'boolean' ? propPreventPress : contextPreventPress;\n const setBlurType = propSetBlurType || contextSetBlurType;\n const setImage = propSetImage || contextSetImage;\n const setOverlay = propSetOverlay || contextSetOverlay;\n const threadList = propThreadList || contextThreadList;\n\n return (\n <MemoizedGallery\n {...{\n additionalTouchableProps,\n alignment,\n groupStyles,\n hasThreadReplies: hasThreadReplies || !!message?.reply_count,\n images,\n messageId: messageId || message?.id,\n messageText: messageText || message?.text,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setBlurType,\n setImage,\n setOverlay,\n threadList,\n }}\n />\n );\n};\n\nGallery.displayName = 'Gallery{messageSimple{gallery}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["Gallery.tsx"],"names":["GalleryImage","props","height","uri","rest","error","setError","includes","replace","PixelRatio","getPixelSizeForLayoutSize","Number","MemoizedGalleryImage","React","memo","prevProps","nextProps","styles","StyleSheet","create","flex","galleryContainer","borderTopLeftRadius","borderTopRightRadius","flexDirection","flexWrap","overflow","imageContainer","padding","moreImagesContainer","alignItems","justifyContent","margin","moreImagesText","color","fontSize","fontWeight","GalleryWithContext","additionalTouchableProps","alignment","groupStyles","hasThreadReplies","images","legacyImageViewerSwipeBehaviour","message","messageId","messageText","onLongPress","onPress","onPressIn","preventPress","setBlurType","setImage","setImages","setOverlay","threadList","theme","overlay","colors","blurType","imageGallery","messageSimple","gallery","galleryItemColumn","halfSize","image","size","width","length","galleryImages","slice","reduce","returnArray","currentImage","index","attachmentUrl","image_url","thumb_url","url","groupStyle","toLowerCase","map","column","colIndex","rowIndex","defaultOnPress","event","emitter","defaultHandler","borderBottomLeftRadius","borderBottomRightRadius","absoluteFillObject","backgroundColor","areEqual","prevGroupStyles","prevHasThreadReplies","prevImages","prevMessageText","nextGroupStyles","nextHasThreadReplies","nextImages","nextMessageText","messageTextEqual","groupStylesEqual","hasThreadRepliesEqual","imagesEqual","every","MemoizedGallery","Gallery","propAdditionalTouchableProps","propAlignment","propGroupStyles","propImages","propOnLongPress","propOnPress","propOnPressIn","propPreventPress","propSetBlurType","propSetImage","propSetOverlay","propThreadList","contextSetImage","contextAlignment","contextGroupStyles","contextImages","contextOnLongPress","contextOnPress","contextOnPressIn","contextPreventPress","contextThreadList","contextAdditionalTouchableProps","contextSetBlurType","contextSetOverlay","reply_count","id","text","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport {\n Image,\n ImageProps,\n PixelRatio,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n} from 'react-native';\n\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst GalleryImage: React.FC<\n Omit<ImageProps, 'height' | 'source'> & {\n height: number | string;\n uri: string;\n }\n> = (props) => {\n const { height, uri, ...rest } = props;\n\n const [error, setError] = useState(false);\n\n return (\n <Image\n key={uri}\n {...rest}\n onError={() => setError(true)}\n source={{\n uri: uri.includes('&h=%2A')\n ? error\n ? uri\n : uri.replace('h=%2A', `h=${PixelRatio.getPixelSizeForLayoutSize(Number(height))}`)\n : uri,\n }}\n testID='image-attachment-single'\n />\n );\n};\n\nconst MemoizedGalleryImage = React.memo(\n GalleryImage,\n (prevProps, nextProps) =>\n prevProps.height === nextProps.height && prevProps.uri === nextProps.uri,\n) as typeof GalleryImage;\n\nconst styles = StyleSheet.create({\n flex: { flex: 1 },\n galleryContainer: {\n borderTopLeftRadius: 13,\n borderTopRightRadius: 13,\n flexDirection: 'row',\n flexWrap: 'wrap',\n overflow: 'hidden',\n },\n imageContainer: { flex: 1, padding: 1 },\n moreImagesContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n margin: 1,\n },\n moreImagesText: { color: '#FFFFFF', fontSize: 26, fontWeight: '700' },\n});\n\nexport type GalleryPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ImageGalleryContextValue, 'setImage' | 'setImages'> &\n Pick<\n MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n | 'alignment'\n | 'groupStyles'\n | 'images'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'threadList'\n > &\n Pick<\n MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'additionalTouchableProps' | 'legacyImageViewerSwipeBehaviour'\n > &\n Pick<OverlayContextValue, 'setBlurType' | 'setOverlay'> & {\n hasThreadReplies?: boolean;\n messageId?: string;\n messageText?: string;\n };\n\nconst GalleryWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: GalleryPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n groupStyles,\n hasThreadReplies,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n messageId,\n messageText,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setBlurType,\n setImage,\n setImages,\n setOverlay,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { overlay },\n imageGallery: { blurType },\n messageSimple: {\n gallery: {\n galleryContainer,\n galleryItemColumn,\n halfSize,\n image,\n imageContainer,\n moreImagesContainer,\n moreImagesText,\n size,\n width,\n },\n },\n },\n } = useTheme();\n\n if (!images?.length) return null;\n\n // [[{ height: number; url: string; }], [{ height: number; url: string; }, { height: number; url: string; }]]\n const galleryImages = images.slice(0, 4).reduce((returnArray, currentImage, index) => {\n const attachmentUrl = currentImage.image_url || currentImage.thumb_url;\n if (attachmentUrl) {\n const url = makeImageCompatibleUrl(attachmentUrl);\n if (images.length <= 2) {\n returnArray[0] = [...(returnArray[0] || []), { height: size || 200, url }];\n } else if (images.length === 3) {\n if (index === 0) {\n returnArray[0] = [{ height: size || 200, url }];\n } else {\n returnArray[1] = [...(returnArray[1] || []), { height: halfSize || 100, url }];\n }\n } else {\n returnArray[index % 2] = [\n ...(returnArray[index % 2] || []),\n { height: halfSize || 100, url },\n ];\n }\n }\n return returnArray;\n }, [] as { height: number | string; url: string }[][]);\n\n const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;\n\n return (\n <View\n style={[\n styles.galleryContainer,\n {\n width,\n },\n galleryContainer,\n ]}\n testID='image-multiple-container'\n >\n {galleryImages.map((column, colIndex) => (\n <View\n key={`gallery-item-column-${colIndex}`}\n style={[\n styles.flex,\n {\n flexDirection: images.length === 2 ? 'row' : 'column',\n },\n galleryItemColumn,\n ]}\n >\n {column.map(({ height, url }, rowIndex) => {\n const defaultOnPress = () => {\n if (!legacyImageViewerSwipeBehaviour) {\n setImages([message]);\n }\n setImage({ messageId, url });\n setBlurType(blurType);\n setOverlay('gallery');\n };\n\n return (\n <TouchableOpacity\n activeOpacity={0.8}\n disabled={preventPress}\n key={`gallery-item-${url}/${rowIndex}/${images.length}`}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n style={[\n styles.imageContainer,\n {\n height,\n },\n imageContainer,\n ]}\n testID='image-multiple'\n {...additionalTouchableProps}\n >\n <MemoizedGalleryImage\n height={height}\n resizeMode='cover'\n style={[\n styles.flex,\n {\n borderBottomLeftRadius:\n (images.length === 1 ||\n (images.length === 2 && rowIndex === 0) ||\n (images.length === 3 && colIndex === 0 && rowIndex === 0) ||\n (images.length === 4 && colIndex === 0 && rowIndex === 1)) &&\n !messageText &&\n ((groupStyle !== 'left_bottom' && groupStyle !== 'left_single') ||\n (hasThreadReplies && !threadList))\n ? 14\n : 0,\n borderBottomRightRadius:\n (images.length === 1 ||\n (colIndex === 1 && (images.length === 2 || rowIndex === 1))) &&\n !messageText &&\n ((groupStyle !== 'right_bottom' && groupStyle !== 'right_single') ||\n (hasThreadReplies && !threadList))\n ? 14\n : 0,\n borderTopLeftRadius: colIndex === 0 && rowIndex === 0 ? 14 : 0,\n borderTopRightRadius:\n ((colIndex === 1 || images.length === 1) && rowIndex === 0) ||\n (images.length === 3 && colIndex === 0 && rowIndex === 1) ||\n (images.length === 2 && rowIndex === 1)\n ? 14\n : 0,\n },\n image,\n ]}\n uri={url}\n />\n {colIndex === 1 && rowIndex === 1 && images.length > 3 ? (\n <View\n style={[\n StyleSheet.absoluteFillObject,\n styles.moreImagesContainer,\n { backgroundColor: overlay },\n moreImagesContainer,\n ]}\n >\n <Text style={[styles.moreImagesText, moreImagesText]}>\n {`+${images.length - 3}`}\n </Text>\n </View>\n ) : null}\n </TouchableOpacity>\n );\n })}\n </View>\n ))}\n </View>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: GalleryPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: GalleryPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n groupStyles: prevGroupStyles,\n hasThreadReplies: prevHasThreadReplies,\n images: prevImages,\n messageText: prevMessageText,\n } = prevProps;\n const {\n groupStyles: nextGroupStyles,\n hasThreadReplies: nextHasThreadReplies,\n images: nextImages,\n messageText: nextMessageText,\n } = nextProps;\n\n const messageTextEqual = prevMessageText === nextMessageText;\n if (!messageTextEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && prevGroupStyles[0] === nextGroupStyles[0];\n if (!groupStylesEqual) return false;\n\n const hasThreadRepliesEqual = prevHasThreadReplies === nextHasThreadReplies;\n if (!hasThreadRepliesEqual) return false;\n\n const imagesEqual =\n prevImages.length === nextImages.length &&\n prevImages.every(\n (image, index) =>\n image.image_url === nextImages[index].image_url &&\n image.thumb_url === nextImages[index].thumb_url,\n );\n if (!imagesEqual) return false;\n\n return true;\n};\n\nconst MemoizedGallery = React.memo(GalleryWithContext, areEqual) as typeof GalleryWithContext;\n\nexport type GalleryProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<GalleryPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * UI component for card in attachments.\n */\nexport const Gallery = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: GalleryProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTouchableProps: propAdditionalTouchableProps,\n alignment: propAlignment,\n groupStyles: propGroupStyles,\n hasThreadReplies,\n images: propImages,\n messageId,\n messageText,\n onLongPress: propOnLongPress,\n onPress: propOnPress,\n onPressIn: propOnPressIn,\n preventPress: propPreventPress,\n setBlurType: propSetBlurType,\n setImage: propSetImage,\n setOverlay: propSetOverlay,\n threadList: propThreadList,\n } = props;\n\n const { setImage: contextSetImage, setImages } = useImageGalleryContext();\n const {\n alignment: contextAlignment,\n groupStyles: contextGroupStyles,\n images: contextImages,\n message,\n onLongPress: contextOnLongPress,\n onPress: contextOnPress,\n onPressIn: contextOnPressIn,\n preventPress: contextPreventPress,\n threadList: contextThreadList,\n } = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const {\n additionalTouchableProps: contextAdditionalTouchableProps,\n legacyImageViewerSwipeBehaviour,\n } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { setBlurType: contextSetBlurType, setOverlay: contextSetOverlay } = useOverlayContext();\n\n const images = propImages || contextImages;\n\n if (!images.length) return null;\n\n const additionalTouchableProps = propAdditionalTouchableProps || contextAdditionalTouchableProps;\n const alignment = propAlignment || contextAlignment;\n const groupStyles = propGroupStyles || contextGroupStyles;\n const onLongPress = propOnLongPress || contextOnLongPress;\n const onPressIn = propOnPressIn || contextOnPressIn;\n const onPress = propOnPress || contextOnPress;\n const preventPress =\n typeof propPreventPress === 'boolean' ? propPreventPress : contextPreventPress;\n const setBlurType = propSetBlurType || contextSetBlurType;\n const setImage = propSetImage || contextSetImage;\n const setOverlay = propSetOverlay || contextSetOverlay;\n const threadList = propThreadList || contextThreadList;\n\n return (\n <MemoizedGallery\n {...{\n additionalTouchableProps,\n alignment,\n groupStyles,\n hasThreadReplies: hasThreadReplies || !!message?.reply_count,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n messageId: messageId || message?.id,\n messageText: messageText || message?.text,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setBlurType,\n setImage,\n setImages,\n setOverlay,\n threadList,\n }}\n />\n );\n};\n\nGallery.displayName = 'Gallery{messageSimple{gallery}}';\n"]}
|
|
@@ -251,6 +251,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
251
251
|
editMessageProp = props.editMessage,
|
|
252
252
|
_props$EmptyStateIndi = props.EmptyStateIndicator,
|
|
253
253
|
EmptyStateIndicator = _props$EmptyStateIndi === void 0 ? _EmptyStateIndicator.EmptyStateIndicator : _props$EmptyStateIndi,
|
|
254
|
+
_props$enableMessageG = props.enableMessageGroupingByUser,
|
|
255
|
+
enableMessageGroupingByUser = _props$enableMessageG === void 0 ? true : _props$enableMessageG,
|
|
254
256
|
_props$enforceUniqueR = props.enforceUniqueReaction,
|
|
255
257
|
enforceUniqueReaction = _props$enforceUniqueR === void 0 ? false : _props$enforceUniqueR,
|
|
256
258
|
_props$FileAttachment = props.FileAttachment,
|
|
@@ -291,6 +293,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
291
293
|
hasImagePicker = _props$hasImagePicker === void 0 ? true : _props$hasImagePicker,
|
|
292
294
|
_props$hideDateSepara = props.hideDateSeparators,
|
|
293
295
|
hideDateSeparators = _props$hideDateSepara === void 0 ? false : _props$hideDateSepara,
|
|
296
|
+
_props$hideStickyDate = props.hideStickyDateHeader,
|
|
297
|
+
hideStickyDateHeader = _props$hideStickyDate === void 0 ? false : _props$hideStickyDate,
|
|
294
298
|
_props$ImageUploadPre = props.ImageUploadPreview,
|
|
295
299
|
ImageUploadPreview = _props$ImageUploadPre === void 0 ? _ImageUploadPreview.ImageUploadPreview : _props$ImageUploadPre,
|
|
296
300
|
_props$initialScrollT = props.initialScrollToFirstUnreadMessage,
|
|
@@ -307,6 +311,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
307
311
|
_props$KeyboardCompat = props.KeyboardCompatibleView,
|
|
308
312
|
KeyboardCompatibleView = _props$KeyboardCompat === void 0 ? _KeyboardCompatibleView.KeyboardCompatibleView : _props$KeyboardCompat,
|
|
309
313
|
keyboardVerticalOffset = props.keyboardVerticalOffset,
|
|
314
|
+
_props$legacyImageVie = props.legacyImageViewerSwipeBehaviour,
|
|
315
|
+
legacyImageViewerSwipeBehaviour = _props$legacyImageVie === void 0 ? true : _props$legacyImageVie,
|
|
310
316
|
_props$LoadingErrorIn = props.LoadingErrorIndicator,
|
|
311
317
|
LoadingErrorIndicator = _props$LoadingErrorIn === void 0 ? _LoadingErrorIndicator.LoadingErrorIndicator : _props$LoadingErrorIn,
|
|
312
318
|
_props$LoadingIndicat = props.LoadingIndicator,
|
|
@@ -1754,12 +1760,14 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1754
1760
|
channel: channel,
|
|
1755
1761
|
disabled: !!(channel != null && (_channel$data = channel.data) != null && _channel$data.frozen) && disableIfFrozenChannel,
|
|
1756
1762
|
EmptyStateIndicator: EmptyStateIndicator,
|
|
1763
|
+
enableMessageGroupingByUser: enableMessageGroupingByUser,
|
|
1757
1764
|
enforceUniqueReaction: enforceUniqueReaction,
|
|
1758
1765
|
error: error,
|
|
1759
1766
|
giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((_ref28 = (channel == null ? void 0 : channel.getConfig == null ? void 0 : (_channel$getConfig2 = channel.getConfig()) == null ? void 0 : _channel$getConfig2.commands) || []) != null && _ref28.some(function (command) {
|
|
1760
1767
|
return command.name === 'giphy';
|
|
1761
1768
|
})),
|
|
1762
1769
|
hideDateSeparators: hideDateSeparators,
|
|
1770
|
+
hideStickyDateHeader: hideStickyDateHeader,
|
|
1763
1771
|
isAdmin: isAdmin,
|
|
1764
1772
|
isModerator: isModerator,
|
|
1765
1773
|
isOwner: isOwner,
|
|
@@ -1846,6 +1854,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1846
1854
|
disableTypingIndicator: disableTypingIndicator,
|
|
1847
1855
|
dismissKeyboardOnMessageTouch: dismissKeyboardOnMessageTouch,
|
|
1848
1856
|
editMessage: editMessageProp,
|
|
1857
|
+
enableMessageGroupingByUser: enableMessageGroupingByUser,
|
|
1849
1858
|
FileAttachment: FileAttachment,
|
|
1850
1859
|
FileAttachmentGroup: FileAttachmentGroup,
|
|
1851
1860
|
FileAttachmentIcon: FileAttachmentIcon,
|
|
@@ -1868,6 +1877,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1868
1877
|
initialScrollToFirstUnreadMessage: initialScrollToFirstUnreadMessage,
|
|
1869
1878
|
InlineDateSeparator: InlineDateSeparator,
|
|
1870
1879
|
InlineUnreadIndicator: InlineUnreadIndicator,
|
|
1880
|
+
legacyImageViewerSwipeBehaviour: legacyImageViewerSwipeBehaviour,
|
|
1871
1881
|
markdownRules: markdownRules,
|
|
1872
1882
|
Message: Message,
|
|
1873
1883
|
messageActions: messageActions,
|
|
@@ -1937,7 +1947,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1937
1947
|
__self: _this,
|
|
1938
1948
|
__source: {
|
|
1939
1949
|
fileName: _jsxFileName,
|
|
1940
|
-
lineNumber:
|
|
1950
|
+
lineNumber: 1767,
|
|
1941
1951
|
columnNumber: 12
|
|
1942
1952
|
}
|
|
1943
1953
|
});
|
|
@@ -1952,7 +1962,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1952
1962
|
__self: _this,
|
|
1953
1963
|
__source: {
|
|
1954
1964
|
fileName: _jsxFileName,
|
|
1955
|
-
lineNumber:
|
|
1965
|
+
lineNumber: 1772,
|
|
1956
1966
|
columnNumber: 7
|
|
1957
1967
|
}
|
|
1958
1968
|
}, t('Please select a channel first'));
|
|
@@ -1966,7 +1976,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1966
1976
|
__self: _this,
|
|
1967
1977
|
__source: {
|
|
1968
1978
|
fileName: _jsxFileName,
|
|
1969
|
-
lineNumber:
|
|
1979
|
+
lineNumber: 1779,
|
|
1970
1980
|
columnNumber: 5
|
|
1971
1981
|
}
|
|
1972
1982
|
}), _react["default"].createElement(_ChannelContext.ChannelProvider, {
|
|
@@ -1974,7 +1984,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1974
1984
|
__self: _this,
|
|
1975
1985
|
__source: {
|
|
1976
1986
|
fileName: _jsxFileName,
|
|
1977
|
-
lineNumber:
|
|
1987
|
+
lineNumber: 1785,
|
|
1978
1988
|
columnNumber: 7
|
|
1979
1989
|
}
|
|
1980
1990
|
}, _react["default"].createElement(_TypingContext.TypingProvider, {
|
|
@@ -1982,7 +1992,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1982
1992
|
__self: _this,
|
|
1983
1993
|
__source: {
|
|
1984
1994
|
fileName: _jsxFileName,
|
|
1985
|
-
lineNumber:
|
|
1995
|
+
lineNumber: 1786,
|
|
1986
1996
|
columnNumber: 9
|
|
1987
1997
|
}
|
|
1988
1998
|
}, _react["default"].createElement(_PaginatedMessageListContext.PaginatedMessageListProvider, {
|
|
@@ -1990,7 +2000,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1990
2000
|
__self: _this,
|
|
1991
2001
|
__source: {
|
|
1992
2002
|
fileName: _jsxFileName,
|
|
1993
|
-
lineNumber:
|
|
2003
|
+
lineNumber: 1787,
|
|
1994
2004
|
columnNumber: 11
|
|
1995
2005
|
}
|
|
1996
2006
|
}, _react["default"].createElement(_MessagesContext.MessagesProvider, {
|
|
@@ -1998,7 +2008,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1998
2008
|
__self: _this,
|
|
1999
2009
|
__source: {
|
|
2000
2010
|
fileName: _jsxFileName,
|
|
2001
|
-
lineNumber:
|
|
2011
|
+
lineNumber: 1788,
|
|
2002
2012
|
columnNumber: 13
|
|
2003
2013
|
}
|
|
2004
2014
|
}, _react["default"].createElement(_ThreadContext.ThreadProvider, {
|
|
@@ -2006,7 +2016,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2006
2016
|
__self: _this,
|
|
2007
2017
|
__source: {
|
|
2008
2018
|
fileName: _jsxFileName,
|
|
2009
|
-
lineNumber:
|
|
2019
|
+
lineNumber: 1789,
|
|
2010
2020
|
columnNumber: 15
|
|
2011
2021
|
}
|
|
2012
2022
|
}, _react["default"].createElement(_SuggestionsContext.SuggestionsProvider, {
|
|
@@ -2014,7 +2024,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2014
2024
|
__self: _this,
|
|
2015
2025
|
__source: {
|
|
2016
2026
|
fileName: _jsxFileName,
|
|
2017
|
-
lineNumber:
|
|
2027
|
+
lineNumber: 1790,
|
|
2018
2028
|
columnNumber: 17
|
|
2019
2029
|
}
|
|
2020
2030
|
}, _react["default"].createElement(_MessageInputContext.MessageInputProvider, {
|
|
@@ -2022,7 +2032,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2022
2032
|
__self: _this,
|
|
2023
2033
|
__source: {
|
|
2024
2034
|
fileName: _jsxFileName,
|
|
2025
|
-
lineNumber:
|
|
2035
|
+
lineNumber: 1791,
|
|
2026
2036
|
columnNumber: 19
|
|
2027
2037
|
}
|
|
2028
2038
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -2032,7 +2042,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2032
2042
|
__self: _this,
|
|
2033
2043
|
__source: {
|
|
2034
2044
|
fileName: _jsxFileName,
|
|
2035
|
-
lineNumber:
|
|
2045
|
+
lineNumber: 1792,
|
|
2036
2046
|
columnNumber: 21
|
|
2037
2047
|
}
|
|
2038
2048
|
}, children)))))))));
|
|
@@ -2052,7 +2062,7 @@ var Channel = function Channel(props) {
|
|
|
2052
2062
|
__self: _this,
|
|
2053
2063
|
__source: {
|
|
2054
2064
|
fileName: _jsxFileName,
|
|
2055
|
-
lineNumber:
|
|
2065
|
+
lineNumber: 1837,
|
|
2056
2066
|
columnNumber: 5
|
|
2057
2067
|
}
|
|
2058
2068
|
}));
|