stream-chat-react-native-core 5.22.0-beta.2 → 5.22.0-beta.4
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/FileAttachment.js +10 -7
- package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +8 -6
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +20 -16
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +16 -14
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +4 -2
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +29 -32
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +7 -5
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +10 -8
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +10 -8
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +12 -10
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +20 -17
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +13 -11
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js +8 -14
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +11 -8
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +32 -29
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +17 -15
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +0 -4
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/hooks/useViewport.js +47 -0
- package/lib/commonjs/hooks/useViewport.js.map +1 -0
- package/lib/commonjs/i18n/en.json +1 -1
- package/lib/commonjs/i18n/fr.json +48 -48
- package/lib/commonjs/i18n/hi.json +48 -48
- package/lib/commonjs/i18n/it.json +48 -48
- package/lib/commonjs/i18n/nl.json +48 -48
- package/lib/commonjs/i18n/ru.json +48 -48
- package/lib/commonjs/i18n/tr.json +48 -48
- package/lib/commonjs/utils/utils.js +1 -15
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/FileAttachment.js +10 -7
- package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +8 -6
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +20 -16
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +16 -14
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +4 -2
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +29 -32
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +7 -5
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +10 -8
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js +10 -8
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/Indicators/EmptyStateIndicator.js +12 -10
- package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +20 -17
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/MessageList/InlineUnreadIndicator.js +13 -11
- package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionList.js +8 -14
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +11 -8
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +32 -29
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +17 -15
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +0 -4
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/hooks/useViewport.js +47 -0
- package/lib/module/hooks/useViewport.js.map +1 -0
- package/lib/module/i18n/en.json +1 -1
- package/lib/module/i18n/fr.json +48 -48
- package/lib/module/i18n/hi.json +48 -48
- package/lib/module/i18n/it.json +48 -48
- package/lib/module/i18n/nl.json +48 -48
- package/lib/module/i18n/ru.json +48 -48
- package/lib/module/i18n/tr.json +48 -48
- package/lib/module/utils/utils.js +1 -15
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -1
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +0 -3
- package/lib/typescript/hooks/useViewport.d.ts +11 -0
- package/lib/typescript/i18n/en.json +1 -1
- package/lib/typescript/i18n/fr.json +48 -48
- package/lib/typescript/i18n/hi.json +48 -48
- package/lib/typescript/i18n/it.json +48 -48
- package/lib/typescript/i18n/nl.json +48 -48
- package/lib/typescript/i18n/ru.json +48 -48
- package/lib/typescript/i18n/tr.json +48 -48
- package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +1 -1
- package/lib/typescript/utils/Streami18n.d.ts +0 -4
- package/lib/typescript/utils/utils.d.ts +0 -2
- package/package.json +1 -1
- package/src/components/Attachment/FileAttachment.tsx +12 -3
- package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
- package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +3 -1
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +4 -3
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +4 -3
- package/src/components/ImageGallery/ImageGallery.tsx +9 -19
- package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +5 -3
- package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +5 -3
- package/src/components/ImageGallery/components/ImageGrid.tsx +2 -1
- package/src/components/Indicators/EmptyStateIndicator.tsx +4 -5
- package/src/components/Message/MessageSimple/MessageContent.tsx +3 -1
- package/src/components/MessageList/InlineUnreadIndicator.tsx +2 -1
- package/src/components/MessageOverlay/MessageActionList.tsx +3 -11
- package/src/components/MessageOverlay/MessageActionListItem.tsx +5 -2
- package/src/components/MessageOverlay/MessageOverlay.tsx +5 -3
- package/src/components/Thread/components/ThreadFooterComponent.tsx +2 -1
- package/src/contexts/themeContext/utils/theme.ts +0 -7
- package/src/hooks/useViewport.ts +41 -0
- package/src/i18n/en.json +1 -1
- package/src/i18n/fr.json +48 -48
- package/src/i18n/hi.json +48 -48
- package/src/i18n/it.json +48 -48
- package/src/i18n/nl.json +48 -48
- package/src/i18n/ru.json +48 -48
- package/src/i18n/tr.json +48 -48
- package/src/utils/utils.ts +0 -13
- package/src/version.json +1 -1
|
@@ -13,9 +13,9 @@ var _bottomSheet = require("@gorhom/bottom-sheet");
|
|
|
13
13
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
14
14
|
var _mimeTypes = require("mime-types");
|
|
15
15
|
var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
16
|
+
var _useViewport3 = require("../../../hooks/useViewport");
|
|
16
17
|
var _icons = require("../../../icons");
|
|
17
18
|
var _native = require("../../../native");
|
|
18
|
-
var _utils = require("../../../utils/utils");
|
|
19
19
|
var _this = this,
|
|
20
20
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx";
|
|
21
21
|
var AttachmentVideo = function AttachmentVideo(props) {
|
|
@@ -27,6 +27,8 @@ var AttachmentVideo = function AttachmentVideo(props) {
|
|
|
27
27
|
selected = props.selected,
|
|
28
28
|
selectedFiles = props.selectedFiles,
|
|
29
29
|
setSelectedFiles = props.setSelectedFiles;
|
|
30
|
+
var _useViewport = (0, _useViewport3.useViewport)(),
|
|
31
|
+
vw = _useViewport.vw;
|
|
30
32
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
31
33
|
_useTheme$theme = _useTheme.theme,
|
|
32
34
|
_useTheme$theme$attac = _useTheme$theme.attachmentPicker,
|
|
@@ -46,7 +48,7 @@ var AttachmentVideo = function AttachmentVideo(props) {
|
|
|
46
48
|
var formattedVideoDuration = _dayjs["default"].duration(videoDuration, 'second').format(formattedDurationParam);
|
|
47
49
|
durationLabel = formattedVideoDuration;
|
|
48
50
|
}
|
|
49
|
-
var size =
|
|
51
|
+
var size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;
|
|
50
52
|
var patchVideoFile = function () {
|
|
51
53
|
var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(files) {
|
|
52
54
|
var localAssetURI, uri, mimeType;
|
|
@@ -128,7 +130,7 @@ var AttachmentVideo = function AttachmentVideo(props) {
|
|
|
128
130
|
__self: _this,
|
|
129
131
|
__source: {
|
|
130
132
|
fileName: _jsxFileName,
|
|
131
|
-
lineNumber:
|
|
133
|
+
lineNumber: 109,
|
|
132
134
|
columnNumber: 5
|
|
133
135
|
}
|
|
134
136
|
}, _react["default"].createElement(_reactNative.ImageBackground, {
|
|
@@ -143,7 +145,7 @@ var AttachmentVideo = function AttachmentVideo(props) {
|
|
|
143
145
|
__self: _this,
|
|
144
146
|
__source: {
|
|
145
147
|
fileName: _jsxFileName,
|
|
146
|
-
lineNumber:
|
|
148
|
+
lineNumber: 110,
|
|
147
149
|
columnNumber: 7
|
|
148
150
|
}
|
|
149
151
|
}, selected && _react["default"].createElement(_reactNative.View, {
|
|
@@ -153,14 +155,14 @@ var AttachmentVideo = function AttachmentVideo(props) {
|
|
|
153
155
|
__self: _this,
|
|
154
156
|
__source: {
|
|
155
157
|
fileName: _jsxFileName,
|
|
156
|
-
lineNumber:
|
|
158
|
+
lineNumber: 122,
|
|
157
159
|
columnNumber: 11
|
|
158
160
|
}
|
|
159
161
|
}, _react["default"].createElement(ImageOverlaySelectedComponent, {
|
|
160
162
|
__self: _this,
|
|
161
163
|
__source: {
|
|
162
164
|
fileName: _jsxFileName,
|
|
163
|
-
lineNumber:
|
|
165
|
+
lineNumber: 123,
|
|
164
166
|
columnNumber: 13
|
|
165
167
|
}
|
|
166
168
|
})), _react["default"].createElement(_reactNative.View, {
|
|
@@ -168,7 +170,7 @@ var AttachmentVideo = function AttachmentVideo(props) {
|
|
|
168
170
|
__self: _this,
|
|
169
171
|
__source: {
|
|
170
172
|
fileName: _jsxFileName,
|
|
171
|
-
lineNumber:
|
|
173
|
+
lineNumber: 126,
|
|
172
174
|
columnNumber: 9
|
|
173
175
|
}
|
|
174
176
|
}, _react["default"].createElement(_icons.Recorder, {
|
|
@@ -178,7 +180,7 @@ var AttachmentVideo = function AttachmentVideo(props) {
|
|
|
178
180
|
__self: _this,
|
|
179
181
|
__source: {
|
|
180
182
|
fileName: _jsxFileName,
|
|
181
|
-
lineNumber:
|
|
183
|
+
lineNumber: 127,
|
|
182
184
|
columnNumber: 11
|
|
183
185
|
}
|
|
184
186
|
}), videoDuration ? _react["default"].createElement(_reactNative.Text, {
|
|
@@ -188,7 +190,7 @@ var AttachmentVideo = function AttachmentVideo(props) {
|
|
|
188
190
|
__self: _this,
|
|
189
191
|
__source: {
|
|
190
192
|
fileName: _jsxFileName,
|
|
191
|
-
lineNumber:
|
|
193
|
+
lineNumber: 129,
|
|
192
194
|
columnNumber: 13
|
|
193
195
|
}
|
|
194
196
|
}, durationLabel) : null)));
|
|
@@ -208,7 +210,9 @@ var AttachmentImage = function AttachmentImage(props) {
|
|
|
208
210
|
image = _useTheme2$theme$atta.image,
|
|
209
211
|
imageOverlay = _useTheme2$theme$atta.imageOverlay,
|
|
210
212
|
overlay = _useTheme2$theme.colors.overlay;
|
|
211
|
-
var
|
|
213
|
+
var _useViewport2 = (0, _useViewport3.useViewport)(),
|
|
214
|
+
vw = _useViewport2.vw;
|
|
215
|
+
var size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;
|
|
212
216
|
var uri = asset.uri;
|
|
213
217
|
var patchImageFile = function () {
|
|
214
218
|
var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(images) {
|
|
@@ -285,7 +289,7 @@ var AttachmentImage = function AttachmentImage(props) {
|
|
|
285
289
|
__self: _this,
|
|
286
290
|
__source: {
|
|
287
291
|
fileName: _jsxFileName,
|
|
288
|
-
lineNumber:
|
|
292
|
+
lineNumber: 197,
|
|
289
293
|
columnNumber: 5
|
|
290
294
|
}
|
|
291
295
|
}, _react["default"].createElement(_reactNative.ImageBackground, {
|
|
@@ -300,7 +304,7 @@ var AttachmentImage = function AttachmentImage(props) {
|
|
|
300
304
|
__self: _this,
|
|
301
305
|
__source: {
|
|
302
306
|
fileName: _jsxFileName,
|
|
303
|
-
lineNumber:
|
|
307
|
+
lineNumber: 198,
|
|
304
308
|
columnNumber: 7
|
|
305
309
|
}
|
|
306
310
|
}, selected && _react["default"].createElement(_reactNative.View, {
|
|
@@ -310,14 +314,14 @@ var AttachmentImage = function AttachmentImage(props) {
|
|
|
310
314
|
__self: _this,
|
|
311
315
|
__source: {
|
|
312
316
|
fileName: _jsxFileName,
|
|
313
|
-
lineNumber:
|
|
317
|
+
lineNumber: 210,
|
|
314
318
|
columnNumber: 11
|
|
315
319
|
}
|
|
316
320
|
}, _react["default"].createElement(ImageOverlaySelectedComponent, {
|
|
317
321
|
__self: _this,
|
|
318
322
|
__source: {
|
|
319
323
|
fileName: _jsxFileName,
|
|
320
|
-
lineNumber:
|
|
324
|
+
lineNumber: 211,
|
|
321
325
|
columnNumber: 13
|
|
322
326
|
}
|
|
323
327
|
}))));
|
|
@@ -348,7 +352,7 @@ var renderAttachmentPickerItem = function renderAttachmentPickerItem(_ref5) {
|
|
|
348
352
|
__self: _this,
|
|
349
353
|
__source: {
|
|
350
354
|
fileName: _jsxFileName,
|
|
351
|
-
lineNumber:
|
|
355
|
+
lineNumber: 243,
|
|
352
356
|
columnNumber: 7
|
|
353
357
|
}
|
|
354
358
|
});
|
|
@@ -365,7 +369,7 @@ var renderAttachmentPickerItem = function renderAttachmentPickerItem(_ref5) {
|
|
|
365
369
|
__self: _this,
|
|
366
370
|
__source: {
|
|
367
371
|
fileName: _jsxFileName,
|
|
368
|
-
lineNumber:
|
|
372
|
+
lineNumber: 257,
|
|
369
373
|
columnNumber: 5
|
|
370
374
|
}
|
|
371
375
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_bottomSheet","_dayjs","_mimeTypes","_ThemeContext","_icons","_native","_utils","_this","_jsxFileName","AttachmentVideo","props","asset","ImageOverlaySelectedComponent","maxNumberOfFiles","numberOfAttachmentPickerImageColumns","numberOfUploads","selected","selectedFiles","setSelectedFiles","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$attac","attachmentPicker","durationText","image","imageOverlay","_useTheme$theme$color","colors","overlay","white","videoDuration","duration","uri","ONE_HOUR_IN_SECONDS","durationLabel","isDurationLongerThanHour","formattedDurationParam","formattedVideoDuration","dayjs","format","size","vw","patchVideoFile","_ref","_asyncToGenerator2","_regenerator","mark","_callee","files","localAssetURI","mimeType","wrap","_callee$","_context","prev","next","t0","Platform","OS","id","getLocalAssetUri","sent","lookup","filename","abrupt","concat","_toConsumableArray2","name","fileSize","stop","_x","apply","arguments","updateSelectedFiles","_ref2","_callee2","_callee2$","_context2","Alert","alert","onPressVideo","filter","file","createElement","TouchableOpacity","onPress","__self","__source","fileName","lineNumber","columnNumber","ImageBackground","source","style","height","margin","width","View","styles","backgroundColor","videoView","Recorder","pathFill","Text","color","AttachmentImage","selectedImages","setSelectedImages","_useTheme2","_useTheme2$theme","_useTheme2$theme$atta","patchImageFile","_ref3","_callee3","images","_callee3$","_context3","_extends2","_x2","updateSelectedImages","_ref4","_callee4","_callee4$","_context4","onPressImage","renderAttachmentPickerItem","_ref5","item","isVideoType","type","includes","exports","StyleSheet","create","fontWeight","alignItems","flex","bottom","display","flexDirection","justifyContent","paddingHorizontal","position"],"sources":["AttachmentPickerItem.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Alert, ImageBackground, Platform, StyleSheet, Text, View } from 'react-native';\n\nimport { TouchableOpacity } from '@gorhom/bottom-sheet';\nimport dayjs from 'dayjs';\nimport { lookup } from 'mime-types';\n\nimport type { AttachmentPickerContextValue } from '../../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { Recorder } from '../../../icons';\nimport { getLocalAssetUri } from '../../../native';\nimport type { Asset, File } from '../../../types/types';\nimport { vw } from '../../../utils/utils';\n\ntype AttachmentPickerItemType = Pick<\n AttachmentPickerContextValue,\n 'selectedFiles' | 'setSelectedFiles' | 'setSelectedImages' | 'selectedImages' | 'maxNumberOfFiles'\n> & {\n asset: Asset;\n ImageOverlaySelectedComponent: React.ComponentType;\n numberOfUploads: number;\n selected: boolean;\n numberOfAttachmentPickerImageColumns?: number;\n};\n\ntype AttachmentImageProps = Omit<AttachmentPickerItemType, 'setSelectedFiles' | 'selectedFiles'>;\n\ntype AttachmentVideoProps = Omit<AttachmentPickerItemType, 'setSelectedImages' | 'selectedImages'>;\n\nconst AttachmentVideo: React.FC<AttachmentVideoProps> = (props) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads,\n selected,\n selectedFiles,\n setSelectedFiles,\n } = props;\n\n const {\n theme: {\n attachmentPicker: { durationText, image, imageOverlay },\n colors: { overlay, white },\n },\n } = useTheme();\n\n const { duration: videoDuration, uri } = asset;\n\n const ONE_HOUR_IN_SECONDS = 3600;\n\n let durationLabel = '00:00';\n\n if (videoDuration) {\n const isDurationLongerThanHour = videoDuration / ONE_HOUR_IN_SECONDS >= 1;\n const formattedDurationParam = isDurationLongerThanHour ? 'HH:mm:ss' : 'mm:ss';\n const formattedVideoDuration = dayjs\n .duration(videoDuration, 'second')\n .format(formattedDurationParam);\n durationLabel = formattedVideoDuration;\n }\n\n const size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;\n\n /* Patches video files with uri and mimetype */\n const patchVideoFile = async (files: File[]) => {\n // For the case of Expo CLI where you need to fetch the file uri from file id. Here it is only done for iOS since for android the file.uri is fine.\n const localAssetURI = Platform.OS === 'ios' && asset.id && (await getLocalAssetUri(asset.id));\n const uri = localAssetURI || asset.uri || '';\n // We need a mime-type to upload a video file.\n const mimeType = lookup(asset.filename) || 'multipart/form-data';\n return [\n ...files,\n {\n duration: durationLabel,\n id: asset.id,\n mimeType,\n name: asset.filename,\n size: asset.fileSize,\n uri,\n },\n ];\n };\n\n const updateSelectedFiles = async () => {\n if (numberOfUploads >= maxNumberOfFiles) {\n Alert.alert('Maximum number of files reached');\n return;\n }\n const files = await patchVideoFile(selectedFiles);\n setSelectedFiles(files);\n };\n\n const onPressVideo = () => {\n if (selected) {\n setSelectedFiles((files) =>\n // `id` is available for Expo MediaLibrary while Cameraroll doesn't share id therefore we use `uri`\n files.filter((file) => (file.id ? file.id !== asset.id : file.uri !== asset.uri)),\n );\n } else {\n updateSelectedFiles();\n }\n };\n\n return (\n <TouchableOpacity onPress={onPressVideo}>\n <ImageBackground\n source={{ uri }}\n style={[\n {\n height: size,\n margin: 1,\n width: size,\n },\n image,\n ]}\n >\n {selected && (\n <View style={[styles.overlay, { backgroundColor: overlay }, imageOverlay]}>\n <ImageOverlaySelectedComponent />\n </View>\n )}\n <View style={styles.videoView}>\n <Recorder height={20} pathFill={white} width={25} />\n {videoDuration ? (\n <Text style={[styles.durationText, durationText, { color: white }]}>\n {durationLabel}\n </Text>\n ) : null}\n </View>\n </ImageBackground>\n </TouchableOpacity>\n );\n};\n\nconst AttachmentImage: React.FC<AttachmentImageProps> = (props) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads,\n selected,\n selectedImages,\n setSelectedImages,\n } = props;\n const {\n theme: {\n attachmentPicker: { image, imageOverlay },\n colors: { overlay },\n },\n } = useTheme();\n\n const size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;\n\n const { uri } = asset;\n\n /* Patches image files with uri */\n const patchImageFile = async (images: Asset[]) => {\n // For the case of Expo CLI where you need to fetch the file uri from file id. Here it is only done for iOS since for android the file.uri is fine.\n const localAssetURI = Platform.OS === 'ios' && asset.id && (await getLocalAssetUri(asset.id));\n const uri = localAssetURI || asset.uri || '';\n return [\n ...images,\n {\n ...asset,\n uri,\n },\n ];\n };\n\n const updateSelectedImages = async () => {\n if (numberOfUploads >= maxNumberOfFiles) {\n Alert.alert('Maximum number of files reached');\n return;\n }\n const images = await patchImageFile(selectedImages);\n setSelectedImages(images);\n };\n\n const onPressImage = () => {\n if (selected) {\n // `id` is available for Expo MediaLibrary while Cameraroll doesn't share id therefore we use `uri`\n setSelectedImages((images) =>\n images.filter((image) => (image.id ? image.id !== asset.id : image.uri !== asset.uri)),\n );\n } else {\n updateSelectedImages();\n }\n };\n\n return (\n <TouchableOpacity onPress={onPressImage}>\n <ImageBackground\n source={{ uri }}\n style={[\n {\n height: size,\n margin: 1,\n width: size,\n },\n image,\n ]}\n >\n {selected && (\n <View style={[styles.overlay, { backgroundColor: overlay }, imageOverlay]}>\n <ImageOverlaySelectedComponent />\n </View>\n )}\n </ImageBackground>\n </TouchableOpacity>\n );\n};\n\nexport const renderAttachmentPickerItem = ({ item }: { item: AttachmentPickerItemType }) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads,\n selected,\n selectedFiles,\n selectedImages,\n setSelectedFiles,\n setSelectedImages,\n } = item;\n\n /**\n * Expo Media Library - Result of asset type\n * Native Android - Gives mime type(Eg: image/jpeg, video/mp4, etc.)\n * Native iOS - Gives `image` or `video`\n * Expo Android/iOS - Gives `photo` or `video`\n **/\n const isVideoType = asset.type.includes('video');\n\n if (isVideoType) {\n return (\n <AttachmentVideo\n asset={asset}\n ImageOverlaySelectedComponent={ImageOverlaySelectedComponent}\n maxNumberOfFiles={maxNumberOfFiles}\n numberOfAttachmentPickerImageColumns={numberOfAttachmentPickerImageColumns}\n numberOfUploads={numberOfUploads}\n selected={selected}\n selectedFiles={selectedFiles}\n setSelectedFiles={setSelectedFiles}\n />\n );\n }\n\n return (\n <AttachmentImage\n asset={asset}\n ImageOverlaySelectedComponent={ImageOverlaySelectedComponent}\n maxNumberOfFiles={maxNumberOfFiles}\n numberOfAttachmentPickerImageColumns={numberOfAttachmentPickerImageColumns}\n numberOfUploads={numberOfUploads}\n selected={selected}\n selectedImages={selectedImages}\n setSelectedImages={setSelectedImages}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n durationText: {\n fontWeight: 'bold',\n },\n overlay: {\n alignItems: 'flex-end',\n flex: 1,\n },\n videoView: {\n bottom: 5,\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingHorizontal: 5,\n position: 'absolute',\n width: '100%',\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_bottomSheet","_dayjs","_mimeTypes","_ThemeContext","_useViewport3","_icons","_native","_this","_jsxFileName","AttachmentVideo","props","asset","ImageOverlaySelectedComponent","maxNumberOfFiles","numberOfAttachmentPickerImageColumns","numberOfUploads","selected","selectedFiles","setSelectedFiles","_useViewport","useViewport","vw","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$attac","attachmentPicker","durationText","image","imageOverlay","_useTheme$theme$color","colors","overlay","white","videoDuration","duration","uri","ONE_HOUR_IN_SECONDS","durationLabel","isDurationLongerThanHour","formattedDurationParam","formattedVideoDuration","dayjs","format","size","patchVideoFile","_ref","_asyncToGenerator2","_regenerator","mark","_callee","files","localAssetURI","mimeType","wrap","_callee$","_context","prev","next","t0","Platform","OS","id","getLocalAssetUri","sent","lookup","filename","abrupt","concat","_toConsumableArray2","name","fileSize","stop","_x","apply","arguments","updateSelectedFiles","_ref2","_callee2","_callee2$","_context2","Alert","alert","onPressVideo","filter","file","createElement","TouchableOpacity","onPress","__self","__source","fileName","lineNumber","columnNumber","ImageBackground","source","style","height","margin","width","View","styles","backgroundColor","videoView","Recorder","pathFill","Text","color","AttachmentImage","selectedImages","setSelectedImages","_useTheme2","_useTheme2$theme","_useTheme2$theme$atta","_useViewport2","patchImageFile","_ref3","_callee3","images","_callee3$","_context3","_extends2","_x2","updateSelectedImages","_ref4","_callee4","_callee4$","_context4","onPressImage","renderAttachmentPickerItem","_ref5","item","isVideoType","type","includes","exports","StyleSheet","create","fontWeight","alignItems","flex","bottom","display","flexDirection","justifyContent","paddingHorizontal","position"],"sources":["AttachmentPickerItem.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Alert, ImageBackground, Platform, StyleSheet, Text, View } from 'react-native';\n\nimport { TouchableOpacity } from '@gorhom/bottom-sheet';\nimport dayjs from 'dayjs';\nimport { lookup } from 'mime-types';\n\nimport type { AttachmentPickerContextValue } from '../../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useViewport } from '../../../hooks/useViewport';\nimport { Recorder } from '../../../icons';\nimport { getLocalAssetUri } from '../../../native';\nimport type { Asset, File } from '../../../types/types';\n\ntype AttachmentPickerItemType = Pick<\n AttachmentPickerContextValue,\n 'selectedFiles' | 'setSelectedFiles' | 'setSelectedImages' | 'selectedImages' | 'maxNumberOfFiles'\n> & {\n asset: Asset;\n ImageOverlaySelectedComponent: React.ComponentType;\n numberOfUploads: number;\n selected: boolean;\n numberOfAttachmentPickerImageColumns?: number;\n};\n\ntype AttachmentImageProps = Omit<AttachmentPickerItemType, 'setSelectedFiles' | 'selectedFiles'>;\n\ntype AttachmentVideoProps = Omit<AttachmentPickerItemType, 'setSelectedImages' | 'selectedImages'>;\n\nconst AttachmentVideo: React.FC<AttachmentVideoProps> = (props) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads,\n selected,\n selectedFiles,\n setSelectedFiles,\n } = props;\n const { vw } = useViewport();\n\n const {\n theme: {\n attachmentPicker: { durationText, image, imageOverlay },\n colors: { overlay, white },\n },\n } = useTheme();\n\n const { duration: videoDuration, uri } = asset;\n\n const ONE_HOUR_IN_SECONDS = 3600;\n\n let durationLabel = '00:00';\n\n if (videoDuration) {\n const isDurationLongerThanHour = videoDuration / ONE_HOUR_IN_SECONDS >= 1;\n const formattedDurationParam = isDurationLongerThanHour ? 'HH:mm:ss' : 'mm:ss';\n const formattedVideoDuration = dayjs\n .duration(videoDuration, 'second')\n .format(formattedDurationParam);\n durationLabel = formattedVideoDuration;\n }\n\n const size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;\n\n /* Patches video files with uri and mimetype */\n const patchVideoFile = async (files: File[]) => {\n // For the case of Expo CLI where you need to fetch the file uri from file id. Here it is only done for iOS since for android the file.uri is fine.\n const localAssetURI = Platform.OS === 'ios' && asset.id && (await getLocalAssetUri(asset.id));\n const uri = localAssetURI || asset.uri || '';\n // We need a mime-type to upload a video file.\n const mimeType = lookup(asset.filename) || 'multipart/form-data';\n return [\n ...files,\n {\n duration: durationLabel,\n id: asset.id,\n mimeType,\n name: asset.filename,\n size: asset.fileSize,\n uri,\n },\n ];\n };\n\n const updateSelectedFiles = async () => {\n if (numberOfUploads >= maxNumberOfFiles) {\n Alert.alert('Maximum number of files reached');\n return;\n }\n const files = await patchVideoFile(selectedFiles);\n setSelectedFiles(files);\n };\n\n const onPressVideo = () => {\n if (selected) {\n setSelectedFiles((files) =>\n // `id` is available for Expo MediaLibrary while Cameraroll doesn't share id therefore we use `uri`\n files.filter((file) => (file.id ? file.id !== asset.id : file.uri !== asset.uri)),\n );\n } else {\n updateSelectedFiles();\n }\n };\n\n return (\n <TouchableOpacity onPress={onPressVideo}>\n <ImageBackground\n source={{ uri }}\n style={[\n {\n height: size,\n margin: 1,\n width: size,\n },\n image,\n ]}\n >\n {selected && (\n <View style={[styles.overlay, { backgroundColor: overlay }, imageOverlay]}>\n <ImageOverlaySelectedComponent />\n </View>\n )}\n <View style={styles.videoView}>\n <Recorder height={20} pathFill={white} width={25} />\n {videoDuration ? (\n <Text style={[styles.durationText, durationText, { color: white }]}>\n {durationLabel}\n </Text>\n ) : null}\n </View>\n </ImageBackground>\n </TouchableOpacity>\n );\n};\n\nconst AttachmentImage: React.FC<AttachmentImageProps> = (props) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads,\n selected,\n selectedImages,\n setSelectedImages,\n } = props;\n const {\n theme: {\n attachmentPicker: { image, imageOverlay },\n colors: { overlay },\n },\n } = useTheme();\n const { vw } = useViewport();\n\n const size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;\n\n const { uri } = asset;\n\n /* Patches image files with uri */\n const patchImageFile = async (images: Asset[]) => {\n // For the case of Expo CLI where you need to fetch the file uri from file id. Here it is only done for iOS since for android the file.uri is fine.\n const localAssetURI = Platform.OS === 'ios' && asset.id && (await getLocalAssetUri(asset.id));\n const uri = localAssetURI || asset.uri || '';\n return [\n ...images,\n {\n ...asset,\n uri,\n },\n ];\n };\n\n const updateSelectedImages = async () => {\n if (numberOfUploads >= maxNumberOfFiles) {\n Alert.alert('Maximum number of files reached');\n return;\n }\n const images = await patchImageFile(selectedImages);\n setSelectedImages(images);\n };\n\n const onPressImage = () => {\n if (selected) {\n // `id` is available for Expo MediaLibrary while Cameraroll doesn't share id therefore we use `uri`\n setSelectedImages((images) =>\n images.filter((image) => (image.id ? image.id !== asset.id : image.uri !== asset.uri)),\n );\n } else {\n updateSelectedImages();\n }\n };\n\n return (\n <TouchableOpacity onPress={onPressImage}>\n <ImageBackground\n source={{ uri }}\n style={[\n {\n height: size,\n margin: 1,\n width: size,\n },\n image,\n ]}\n >\n {selected && (\n <View style={[styles.overlay, { backgroundColor: overlay }, imageOverlay]}>\n <ImageOverlaySelectedComponent />\n </View>\n )}\n </ImageBackground>\n </TouchableOpacity>\n );\n};\n\nexport const renderAttachmentPickerItem = ({ item }: { item: AttachmentPickerItemType }) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads,\n selected,\n selectedFiles,\n selectedImages,\n setSelectedFiles,\n setSelectedImages,\n } = item;\n\n /**\n * Expo Media Library - Result of asset type\n * Native Android - Gives mime type(Eg: image/jpeg, video/mp4, etc.)\n * Native iOS - Gives `image` or `video`\n * Expo Android/iOS - Gives `photo` or `video`\n **/\n const isVideoType = asset.type.includes('video');\n\n if (isVideoType) {\n return (\n <AttachmentVideo\n asset={asset}\n ImageOverlaySelectedComponent={ImageOverlaySelectedComponent}\n maxNumberOfFiles={maxNumberOfFiles}\n numberOfAttachmentPickerImageColumns={numberOfAttachmentPickerImageColumns}\n numberOfUploads={numberOfUploads}\n selected={selected}\n selectedFiles={selectedFiles}\n setSelectedFiles={setSelectedFiles}\n />\n );\n }\n\n return (\n <AttachmentImage\n asset={asset}\n ImageOverlaySelectedComponent={ImageOverlaySelectedComponent}\n maxNumberOfFiles={maxNumberOfFiles}\n numberOfAttachmentPickerImageColumns={numberOfAttachmentPickerImageColumns}\n numberOfUploads={numberOfUploads}\n selected={selected}\n selectedImages={selectedImages}\n setSelectedImages={setSelectedImages}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n durationText: {\n fontWeight: 'bold',\n },\n overlay: {\n alignItems: 'flex-end',\n flex: 1,\n },\n videoView: {\n bottom: 5,\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingHorizontal: 5,\n position: 'absolute',\n width: '100%',\n },\n});\n"],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ var _useChannelPreviewDisplayName = require("./hooks/useChannelPreviewDisplayNam
|
|
|
19
19
|
var _ChannelsContext = require("../../contexts/channelsContext/ChannelsContext");
|
|
20
20
|
var _ChatContext = require("../../contexts/chatContext/ChatContext");
|
|
21
21
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
22
|
-
var
|
|
22
|
+
var _useViewport2 = require("../../hooks/useViewport");
|
|
23
23
|
var _this = this,
|
|
24
24
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx";
|
|
25
25
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -51,7 +51,6 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
51
51
|
fontWeight: '700'
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
-
var maxWidth = (0, _utils.vw)(80) - 16 - 40;
|
|
55
54
|
var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithContext(props) {
|
|
56
55
|
var channel = props.channel,
|
|
57
56
|
formatLatestMessageDate = props.formatLatestMessageDate,
|
|
@@ -71,6 +70,9 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
71
70
|
_props$PreviewMutedSt = props.PreviewMutedStatus,
|
|
72
71
|
PreviewMutedStatus = _props$PreviewMutedSt === void 0 ? _ChannelPreviewMutedStatus.ChannelPreviewMutedStatus : _props$PreviewMutedSt,
|
|
73
72
|
unread = props.unread;
|
|
73
|
+
var _useViewport = (0, _useViewport2.useViewport)(),
|
|
74
|
+
vw = _useViewport.vw;
|
|
75
|
+
var maxWidth = vw(80) - 16 - 40;
|
|
74
76
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
75
77
|
_useTheme$theme = _useTheme.theme,
|
|
76
78
|
_useTheme$theme$chann = _useTheme$theme.channelPreview,
|
|
@@ -113,7 +115,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
113
115
|
__self: _this,
|
|
114
116
|
__source: {
|
|
115
117
|
fileName: _jsxFileName,
|
|
116
|
-
lineNumber:
|
|
118
|
+
lineNumber: 149,
|
|
117
119
|
columnNumber: 5
|
|
118
120
|
}
|
|
119
121
|
}, _react["default"].createElement(PreviewAvatar, {
|
|
@@ -121,7 +123,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
121
123
|
__self: _this,
|
|
122
124
|
__source: {
|
|
123
125
|
fileName: _jsxFileName,
|
|
124
|
-
lineNumber:
|
|
126
|
+
lineNumber: 162,
|
|
125
127
|
columnNumber: 7
|
|
126
128
|
}
|
|
127
129
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -130,7 +132,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
130
132
|
__self: _this,
|
|
131
133
|
__source: {
|
|
132
134
|
fileName: _jsxFileName,
|
|
133
|
-
lineNumber:
|
|
135
|
+
lineNumber: 163,
|
|
134
136
|
columnNumber: 7
|
|
135
137
|
}
|
|
136
138
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -138,7 +140,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
138
140
|
__self: _this,
|
|
139
141
|
__source: {
|
|
140
142
|
fileName: _jsxFileName,
|
|
141
|
-
lineNumber:
|
|
143
|
+
lineNumber: 167,
|
|
142
144
|
columnNumber: 9
|
|
143
145
|
}
|
|
144
146
|
}, _react["default"].createElement(PreviewTitle, {
|
|
@@ -147,7 +149,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
147
149
|
__self: _this,
|
|
148
150
|
__source: {
|
|
149
151
|
fileName: _jsxFileName,
|
|
150
|
-
lineNumber:
|
|
152
|
+
lineNumber: 168,
|
|
151
153
|
columnNumber: 11
|
|
152
154
|
}
|
|
153
155
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -155,14 +157,14 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
155
157
|
__self: _this,
|
|
156
158
|
__source: {
|
|
157
159
|
fileName: _jsxFileName,
|
|
158
|
-
lineNumber:
|
|
160
|
+
lineNumber: 169,
|
|
159
161
|
columnNumber: 11
|
|
160
162
|
}
|
|
161
163
|
}, isChannelMuted && _react["default"].createElement(PreviewMutedStatus, {
|
|
162
164
|
__self: _this,
|
|
163
165
|
__source: {
|
|
164
166
|
fileName: _jsxFileName,
|
|
165
|
-
lineNumber:
|
|
167
|
+
lineNumber: 170,
|
|
166
168
|
columnNumber: 32
|
|
167
169
|
}
|
|
168
170
|
}), _react["default"].createElement(PreviewUnreadCount, {
|
|
@@ -172,7 +174,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
172
174
|
__self: _this,
|
|
173
175
|
__source: {
|
|
174
176
|
fileName: _jsxFileName,
|
|
175
|
-
lineNumber:
|
|
177
|
+
lineNumber: 171,
|
|
176
178
|
columnNumber: 13
|
|
177
179
|
}
|
|
178
180
|
}))), _react["default"].createElement(_reactNative.View, {
|
|
@@ -180,7 +182,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
180
182
|
__self: _this,
|
|
181
183
|
__source: {
|
|
182
184
|
fileName: _jsxFileName,
|
|
183
|
-
lineNumber:
|
|
185
|
+
lineNumber: 174,
|
|
184
186
|
columnNumber: 9
|
|
185
187
|
}
|
|
186
188
|
}, _react["default"].createElement(PreviewMessage, {
|
|
@@ -188,7 +190,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
188
190
|
__self: _this,
|
|
189
191
|
__source: {
|
|
190
192
|
fileName: _jsxFileName,
|
|
191
|
-
lineNumber:
|
|
193
|
+
lineNumber: 175,
|
|
192
194
|
columnNumber: 11
|
|
193
195
|
}
|
|
194
196
|
}), _react["default"].createElement(PreviewStatus, {
|
|
@@ -198,7 +200,7 @@ var ChannelPreviewMessengerWithContext = function ChannelPreviewMessengerWithCon
|
|
|
198
200
|
__self: _this,
|
|
199
201
|
__source: {
|
|
200
202
|
fileName: _jsxFileName,
|
|
201
|
-
lineNumber:
|
|
203
|
+
lineNumber: 176,
|
|
202
204
|
columnNumber: 11
|
|
203
205
|
}
|
|
204
206
|
}))));
|
|
@@ -227,7 +229,7 @@ var ChannelPreviewMessenger = function ChannelPreviewMessenger(props) {
|
|
|
227
229
|
__self: _this,
|
|
228
230
|
__source: {
|
|
229
231
|
fileName: _jsxFileName,
|
|
230
|
-
lineNumber:
|
|
232
|
+
lineNumber: 224,
|
|
231
233
|
columnNumber: 5
|
|
232
234
|
}
|
|
233
235
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_ChannelAvatar","_ChannelPreviewMessage","_ChannelPreviewMutedStatus","_ChannelPreviewStatus","_ChannelPreviewTitle","_ChannelPreviewUnreadCount","_useChannelPreviewDisplayName","_ChannelsContext","_ChatContext","_ThemeContext","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","borderBottomWidth","flex","flexDirection","paddingHorizontal","paddingVertical","contentContainer","row","alignItems","justifyContent","paddingLeft","statusContainer","display","title","fontSize","fontWeight","maxWidth","vw","ChannelPreviewMessengerWithContext","props","channel","formatLatestMessageDate","latestMessagePreview","maxUnreadCount","onSelect","_props$PreviewAvatar","PreviewAvatar","ChannelAvatar","_props$PreviewMessage","PreviewMessage","ChannelPreviewMessage","_props$PreviewStatus","PreviewStatus","ChannelPreviewStatus","_props$PreviewTitle","PreviewTitle","ChannelPreviewTitle","_props$PreviewUnreadC","PreviewUnreadCount","ChannelPreviewUnreadCount","_props$PreviewMutedSt","PreviewMutedStatus","ChannelPreviewMutedStatus","unread","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$chann","channelPreview","_useTheme$theme$color","colors","border","white_snow","_useChatContext","useChatContext","client","displayName","useChannelPreviewDisplayName","Math","floor","_useState","useState","muteStatus","muted","_useState2","_slicedToArray2","isChannelMuted","setIsChannelMuted","useEffect","handleEvent","on","off","createElement","TouchableOpacity","onPress","style","backgroundColor","borderBottomColor","testID","__self","__source","fileName","lineNumber","columnNumber","View","id","MemoizedChannelPreviewMessengerWithContext","React","memo","ChannelPreviewMessenger","_useChannelsContext","useChannelsContext","_extends2","exports"],"sources":["ChannelPreviewMessenger.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport { ChannelAvatar } from './ChannelAvatar';\nimport type { ChannelPreviewProps } from './ChannelPreview';\nimport { ChannelPreviewMessage } from './ChannelPreviewMessage';\nimport { ChannelPreviewMutedStatus } from './ChannelPreviewMutedStatus';\nimport { ChannelPreviewStatus } from './ChannelPreviewStatus';\nimport { ChannelPreviewTitle } from './ChannelPreviewTitle';\nimport { ChannelPreviewUnreadCount } from './ChannelPreviewUnreadCount';\nimport { useChannelPreviewDisplayName } from './hooks/useChannelPreviewDisplayName';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useChatContext } from '../../contexts/chatContext/ChatContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n borderBottomWidth: 1,\n flex: 1,\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingVertical: 12,\n },\n contentContainer: { flex: 1 },\n row: {\n alignItems: 'center',\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingLeft: 8,\n },\n statusContainer: {\n display: 'flex',\n flexDirection: 'row',\n },\n title: { fontSize: 14, fontWeight: '700' },\n});\n\nconst maxWidth = vw(80) - 16 - 40;\n\nexport type ChannelPreviewMessengerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'> &\n Pick<\n ChannelsContextValue<StreamChatGenerics>,\n | 'maxUnreadCount'\n | 'onSelect'\n | 'PreviewAvatar'\n | 'PreviewMessage'\n | 'PreviewMutedStatus'\n | 'PreviewStatus'\n | 'PreviewTitle'\n | 'PreviewUnreadCount'\n > & {\n /**\n * Latest message on a channel, formatted for preview\n *\n * e.g.,\n *\n * ```json\n * {\n * created_at: '' ,\n * messageObject: { ... },\n * previews: {\n * bold: true,\n * text: 'This is the message preview text'\n * },\n * status: 0 | 1 | 2 // read states of the latest message.\n * }\n * ```\n *\n * The read status is either of the following:\n *\n * 0: The message was not sent by the current user\n * 1: The message was sent by the current user and is unread\n * 2: The message was sent by the current user and is read\n *\n * @overrideType object\n */\n latestMessagePreview: LatestMessagePreview<StreamChatGenerics>;\n /**\n * Formatter function for date of latest message.\n * @param date Message date\n * @returns Formatted date string\n *\n * By default today's date is shown in 'HH:mm A' format and other dates\n * are displayed in 'DD/MM/YY' format. props.latestMessage.created_at is the\n * default formatted date. This default logic is part of ChannelPreview component.\n */\n formatLatestMessageDate?: (date: Date) => string;\n /** Number of unread messages on the channel */\n unread?: number;\n };\n\nconst ChannelPreviewMessengerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n channel,\n formatLatestMessageDate,\n latestMessagePreview,\n maxUnreadCount,\n onSelect,\n PreviewAvatar = ChannelAvatar,\n PreviewMessage = ChannelPreviewMessage,\n PreviewStatus = ChannelPreviewStatus,\n PreviewTitle = ChannelPreviewTitle,\n PreviewUnreadCount = ChannelPreviewUnreadCount,\n PreviewMutedStatus = ChannelPreviewMutedStatus,\n unread,\n } = props;\n\n const {\n theme: {\n channelPreview: { container, contentContainer, row, title },\n colors: { border, white_snow },\n },\n } = useTheme();\n\n const { client } = useChatContext<StreamChatGenerics>();\n\n const displayName = useChannelPreviewDisplayName(\n channel,\n Math.floor(maxWidth / ((title.fontSize || styles.title.fontSize) / 2)),\n );\n\n const [isChannelMuted, setIsChannelMuted] = useState(() => channel.muteStatus().muted);\n\n useEffect(() => {\n const handleEvent = () => setIsChannelMuted(channel.muteStatus().muted);\n\n client.on('notification.channel_mutes_updated', handleEvent);\n return () => client.off('notification.channel_mutes_updated', handleEvent);\n }, [client]);\n\n return (\n <TouchableOpacity\n onPress={() => {\n if (onSelect) {\n onSelect(channel);\n }\n }}\n style={[\n styles.container,\n { backgroundColor: white_snow, borderBottomColor: border },\n container,\n ]}\n testID='channel-preview-button'\n >\n <PreviewAvatar channel={channel} />\n <View\n style={[styles.contentContainer, contentContainer]}\n testID={`channel-preview-content-${channel.id}`}\n >\n <View style={[styles.row, row]}>\n <PreviewTitle channel={channel} displayName={displayName} />\n <View style={[styles.statusContainer, row]}>\n {isChannelMuted && <PreviewMutedStatus />}\n <PreviewUnreadCount channel={channel} maxUnreadCount={maxUnreadCount} unread={unread} />\n </View>\n </View>\n <View style={[styles.row, row]}>\n <PreviewMessage latestMessagePreview={latestMessagePreview} />\n <PreviewStatus\n channel={channel}\n formatLatestMessageDate={formatLatestMessageDate}\n latestMessagePreview={latestMessagePreview}\n />\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nexport type ChannelPreviewMessengerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Omit<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >\n> &\n Pick<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >;\n\nconst MemoizedChannelPreviewMessengerWithContext = React.memo(\n ChannelPreviewMessengerWithContext,\n) as typeof ChannelPreviewMessengerWithContext;\n\n/**\n * This UI component displays an individual preview item for each channel in a list. It also receives all props\n * from the ChannelPreview component.\n */\nexport const ChannelPreviewMessenger = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerProps<StreamChatGenerics>,\n) => {\n const {\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n } = useChannelsContext<StreamChatGenerics>();\n return (\n <MemoizedChannelPreviewMessengerWithContext\n {...{\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n }}\n {...props}\n />\n );\n};\n\nChannelPreviewMessenger.displayName = 'ChannelPreviewMessenger{channelPreview}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_ChannelAvatar","_ChannelPreviewMessage","_ChannelPreviewMutedStatus","_ChannelPreviewStatus","_ChannelPreviewTitle","_ChannelPreviewUnreadCount","_useChannelPreviewDisplayName","_ChannelsContext","_ChatContext","_ThemeContext","_useViewport2","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","borderBottomWidth","flex","flexDirection","paddingHorizontal","paddingVertical","contentContainer","row","alignItems","justifyContent","paddingLeft","statusContainer","display","title","fontSize","fontWeight","ChannelPreviewMessengerWithContext","props","channel","formatLatestMessageDate","latestMessagePreview","maxUnreadCount","onSelect","_props$PreviewAvatar","PreviewAvatar","ChannelAvatar","_props$PreviewMessage","PreviewMessage","ChannelPreviewMessage","_props$PreviewStatus","PreviewStatus","ChannelPreviewStatus","_props$PreviewTitle","PreviewTitle","ChannelPreviewTitle","_props$PreviewUnreadC","PreviewUnreadCount","ChannelPreviewUnreadCount","_props$PreviewMutedSt","PreviewMutedStatus","ChannelPreviewMutedStatus","unread","_useViewport","useViewport","vw","maxWidth","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$chann","channelPreview","_useTheme$theme$color","colors","border","white_snow","_useChatContext","useChatContext","client","displayName","useChannelPreviewDisplayName","Math","floor","_useState","useState","muteStatus","muted","_useState2","_slicedToArray2","isChannelMuted","setIsChannelMuted","useEffect","handleEvent","on","off","createElement","TouchableOpacity","onPress","style","backgroundColor","borderBottomColor","testID","__self","__source","fileName","lineNumber","columnNumber","View","id","MemoizedChannelPreviewMessengerWithContext","React","memo","ChannelPreviewMessenger","_useChannelsContext","useChannelsContext","_extends2","exports"],"sources":["ChannelPreviewMessenger.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport { ChannelAvatar } from './ChannelAvatar';\nimport type { ChannelPreviewProps } from './ChannelPreview';\nimport { ChannelPreviewMessage } from './ChannelPreviewMessage';\nimport { ChannelPreviewMutedStatus } from './ChannelPreviewMutedStatus';\nimport { ChannelPreviewStatus } from './ChannelPreviewStatus';\nimport { ChannelPreviewTitle } from './ChannelPreviewTitle';\nimport { ChannelPreviewUnreadCount } from './ChannelPreviewUnreadCount';\nimport { useChannelPreviewDisplayName } from './hooks/useChannelPreviewDisplayName';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useChatContext } from '../../contexts/chatContext/ChatContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useViewport } from '../../hooks/useViewport';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n borderBottomWidth: 1,\n flex: 1,\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingVertical: 12,\n },\n contentContainer: { flex: 1 },\n row: {\n alignItems: 'center',\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingLeft: 8,\n },\n statusContainer: {\n display: 'flex',\n flexDirection: 'row',\n },\n title: { fontSize: 14, fontWeight: '700' },\n});\n\nexport type ChannelPreviewMessengerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'> &\n Pick<\n ChannelsContextValue<StreamChatGenerics>,\n | 'maxUnreadCount'\n | 'onSelect'\n | 'PreviewAvatar'\n | 'PreviewMessage'\n | 'PreviewMutedStatus'\n | 'PreviewStatus'\n | 'PreviewTitle'\n | 'PreviewUnreadCount'\n > & {\n /**\n * Latest message on a channel, formatted for preview\n *\n * e.g.,\n *\n * ```json\n * {\n * created_at: '' ,\n * messageObject: { ... },\n * previews: {\n * bold: true,\n * text: 'This is the message preview text'\n * },\n * status: 0 | 1 | 2 // read states of the latest message.\n * }\n * ```\n *\n * The read status is either of the following:\n *\n * 0: The message was not sent by the current user\n * 1: The message was sent by the current user and is unread\n * 2: The message was sent by the current user and is read\n *\n * @overrideType object\n */\n latestMessagePreview: LatestMessagePreview<StreamChatGenerics>;\n /**\n * Formatter function for date of latest message.\n * @param date Message date\n * @returns Formatted date string\n *\n * By default today's date is shown in 'HH:mm A' format and other dates\n * are displayed in 'DD/MM/YY' format. props.latestMessage.created_at is the\n * default formatted date. This default logic is part of ChannelPreview component.\n */\n formatLatestMessageDate?: (date: Date) => string;\n /** Number of unread messages on the channel */\n unread?: number;\n };\n\nconst ChannelPreviewMessengerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n channel,\n formatLatestMessageDate,\n latestMessagePreview,\n maxUnreadCount,\n onSelect,\n PreviewAvatar = ChannelAvatar,\n PreviewMessage = ChannelPreviewMessage,\n PreviewStatus = ChannelPreviewStatus,\n PreviewTitle = ChannelPreviewTitle,\n PreviewUnreadCount = ChannelPreviewUnreadCount,\n PreviewMutedStatus = ChannelPreviewMutedStatus,\n unread,\n } = props;\n const { vw } = useViewport();\n\n const maxWidth = vw(80) - 16 - 40;\n\n const {\n theme: {\n channelPreview: { container, contentContainer, row, title },\n colors: { border, white_snow },\n },\n } = useTheme();\n\n const { client } = useChatContext<StreamChatGenerics>();\n\n const displayName = useChannelPreviewDisplayName(\n channel,\n Math.floor(maxWidth / ((title.fontSize || styles.title.fontSize) / 2)),\n );\n\n const [isChannelMuted, setIsChannelMuted] = useState(() => channel.muteStatus().muted);\n\n useEffect(() => {\n const handleEvent = () => setIsChannelMuted(channel.muteStatus().muted);\n\n client.on('notification.channel_mutes_updated', handleEvent);\n return () => client.off('notification.channel_mutes_updated', handleEvent);\n }, [client]);\n\n return (\n <TouchableOpacity\n onPress={() => {\n if (onSelect) {\n onSelect(channel);\n }\n }}\n style={[\n styles.container,\n { backgroundColor: white_snow, borderBottomColor: border },\n container,\n ]}\n testID='channel-preview-button'\n >\n <PreviewAvatar channel={channel} />\n <View\n style={[styles.contentContainer, contentContainer]}\n testID={`channel-preview-content-${channel.id}`}\n >\n <View style={[styles.row, row]}>\n <PreviewTitle channel={channel} displayName={displayName} />\n <View style={[styles.statusContainer, row]}>\n {isChannelMuted && <PreviewMutedStatus />}\n <PreviewUnreadCount channel={channel} maxUnreadCount={maxUnreadCount} unread={unread} />\n </View>\n </View>\n <View style={[styles.row, row]}>\n <PreviewMessage latestMessagePreview={latestMessagePreview} />\n <PreviewStatus\n channel={channel}\n formatLatestMessageDate={formatLatestMessageDate}\n latestMessagePreview={latestMessagePreview}\n />\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nexport type ChannelPreviewMessengerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Omit<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >\n> &\n Pick<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >;\n\nconst MemoizedChannelPreviewMessengerWithContext = React.memo(\n ChannelPreviewMessengerWithContext,\n) as typeof ChannelPreviewMessengerWithContext;\n\n/**\n * This UI component displays an individual preview item for each channel in a list. It also receives all props\n * from the ChannelPreview component.\n */\nexport const ChannelPreviewMessenger = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerProps<StreamChatGenerics>,\n) => {\n const {\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n } = useChannelsContext<StreamChatGenerics>();\n return (\n <MemoizedChannelPreviewMessengerWithContext\n {...{\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n }}\n {...props}\n />\n );\n};\n\nChannelPreviewMessenger.displayName = 'ChannelPreviewMessenger{channelPreview}';\n"],"mappings":"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"}
|
|
@@ -6,8 +6,7 @@ exports.useChannelPreviewDisplayName = exports.getChannelPreviewDisplayName = vo
|
|
|
6
6
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _ChatContext = require("../../../contexts/chatContext/ChatContext");
|
|
9
|
-
var
|
|
10
|
-
var DEFAULT_MAX_CHARACTER_LENGTH = ((0, _utils.vw)(100) - 16) / 6;
|
|
9
|
+
var _useViewport2 = require("../../../hooks/useViewport");
|
|
11
10
|
var ELLIPSIS = "...";
|
|
12
11
|
var getMemberName = function getMemberName(member) {
|
|
13
12
|
var _member$user, _member$user2;
|
|
@@ -58,6 +57,9 @@ var useChannelPreviewDisplayName = function useChannelPreviewDisplayName(channel
|
|
|
58
57
|
var _channel$state, _channel$data;
|
|
59
58
|
var _useChatContext = (0, _ChatContext.useChatContext)(),
|
|
60
59
|
client = _useChatContext.client;
|
|
60
|
+
var _useViewport = (0, _useViewport2.useViewport)(),
|
|
61
|
+
vw = _useViewport.vw;
|
|
62
|
+
var DEFAULT_MAX_CHARACTER_LENGTH = (vw(100) - 16) / 6;
|
|
61
63
|
var currentUserId = client == null ? void 0 : client.userID;
|
|
62
64
|
var members = channel == null ? void 0 : (_channel$state = channel.state) == null ? void 0 : _channel$state.members;
|
|
63
65
|
var numOfMembers = Object.keys(members || {}).length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_ChatContext","
|
|
1
|
+
{"version":3,"names":["_react","require","_ChatContext","_useViewport2","ELLIPSIS","getMemberName","member","_member$user","_member$user2","user","name","id","getChannelPreviewDisplayName","_ref","channelName","characterLimit","currentUserId","members","channelMembers","Object","values","otherMembers","filter","_member$user3","sort","prevUser","nextUser","_prevUser$user$name","_prevUser$user","_nextUser$user$name","_nextUser$user","toLowerCase","localeCompare","toLocaleUpperCase","createChannelNameSuffix","remainingNumberOfMembers","length","slice","reduce","result","currentMember","index","originalArray","currentMemberName","resultHasSpaceForCurrentMemberName","truncateLimit","tuncatedCurrentMemberName","channelNameSuffix","exports","useChannelPreviewDisplayName","channel","characterLength","_channel$state","_channel$data","_useChatContext","useChatContext","client","_useViewport","useViewport","vw","DEFAULT_MAX_CHARACTER_LENGTH","userID","state","numOfMembers","keys","data","_useState","useState","_useState2","_slicedToArray2","displayName","setDisplayName","useEffect"],"sources":["useChannelPreviewDisplayName.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { Channel, ChannelMemberResponse } from 'stream-chat';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport { useViewport } from '../../../hooks/useViewport';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nconst ELLIPSIS = `...`;\n\nconst getMemberName = (member: ChannelMemberResponse) =>\n member.user?.name || member.user?.id || 'Unknown User';\n\nexport const getChannelPreviewDisplayName = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channelName,\n characterLimit,\n currentUserId,\n members,\n}: {\n characterLimit: number;\n channelName?: string;\n currentUserId?: string;\n members?: Channel<StreamChatGenerics>['state']['members'];\n}): string => {\n if (channelName) return channelName;\n\n const channelMembers = Object.values(members || {});\n\n const otherMembers = channelMembers.filter((member) => member.user?.id !== currentUserId);\n otherMembers.sort((prevUser, nextUser) =>\n (prevUser?.user?.name ?? '')\n .toLowerCase()\n .localeCompare((nextUser?.user?.name ?? '').toLocaleUpperCase()),\n );\n\n const createChannelNameSuffix = (remainingNumberOfMembers: number) =>\n remainingNumberOfMembers <= 1 ? `${ELLIPSIS}` : `,${ELLIPSIS}+${remainingNumberOfMembers}`;\n\n if (otherMembers.length === 1) {\n const name = getMemberName(otherMembers[0]);\n return name.length > characterLimit\n ? `${name.slice(0, characterLimit - ELLIPSIS.length)}${ELLIPSIS}`\n : name;\n }\n\n const name = otherMembers.reduce((result, currentMember, index, originalArray) => {\n if (result.length >= characterLimit) {\n return result;\n }\n\n const currentMemberName = getMemberName(currentMember);\n\n const resultHasSpaceForCurrentMemberName =\n result.length + (currentMemberName.length + ELLIPSIS.length) < characterLimit;\n\n if (resultHasSpaceForCurrentMemberName) {\n return result.length > 0 ? `${result}, ${currentMemberName}` : `${currentMemberName}`;\n } else {\n const remainingNumberOfMembers = originalArray.length - index;\n const truncateLimit = characterLimit - (ELLIPSIS.length + result.length);\n const tuncatedCurrentMemberName = `, ${currentMemberName.slice(0, truncateLimit)}`;\n\n const channelNameSuffix = createChannelNameSuffix(remainingNumberOfMembers);\n\n return `${result}${tuncatedCurrentMemberName}${channelNameSuffix}`;\n }\n }, '');\n\n return name;\n};\n\nexport const useChannelPreviewDisplayName = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel?: Channel<StreamChatGenerics>,\n characterLength?: number,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const { vw } = useViewport();\n\n const DEFAULT_MAX_CHARACTER_LENGTH = (vw(100) - 16) / 6;\n\n const currentUserId = client?.userID;\n const members = channel?.state?.members;\n const numOfMembers = Object.keys(members || {}).length;\n const channelName = channel?.data?.name;\n const characterLimit = characterLength || DEFAULT_MAX_CHARACTER_LENGTH;\n const [displayName, setDisplayName] = useState(\n getChannelPreviewDisplayName({\n channelName,\n characterLimit,\n currentUserId,\n members,\n }),\n );\n\n useEffect(() => {\n setDisplayName(\n getChannelPreviewDisplayName({\n channelName,\n characterLimit,\n currentUserId,\n members,\n }),\n );\n }, [channelName, currentUserId, characterLimit, numOfMembers]);\n\n return displayName;\n};\n"],"mappings":"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"}
|