stream-chat-react-native-core 5.21.0 → 5.22.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +6 -5
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +18 -15
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +41 -12
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
- package/lib/commonjs/i18n/en.json +1 -1
- package/lib/commonjs/i18n/es.json +72 -0
- package/lib/commonjs/i18n/fr.json +51 -51
- package/lib/commonjs/i18n/hi.json +51 -51
- package/lib/commonjs/i18n/it.json +51 -51
- package/lib/commonjs/i18n/nl.json +51 -51
- package/lib/commonjs/i18n/ru.json +51 -51
- package/lib/commonjs/i18n/tr.json +51 -51
- package/lib/commonjs/utils/Streami18n.js +4 -1
- package/lib/commonjs/utils/Streami18n.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +6 -5
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +18 -15
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +41 -12
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
- package/lib/module/i18n/en.json +1 -1
- package/lib/module/i18n/es.json +72 -0
- package/lib/module/i18n/fr.json +51 -51
- package/lib/module/i18n/hi.json +51 -51
- package/lib/module/i18n/it.json +51 -51
- package/lib/module/i18n/nl.json +51 -51
- package/lib/module/i18n/ru.json +51 -51
- package/lib/module/i18n/tr.json +51 -51
- package/lib/module/utils/Streami18n.js +4 -1
- package/lib/module/utils/Streami18n.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +3 -0
- package/lib/typescript/i18n/en.json +1 -1
- package/lib/typescript/i18n/es.json +72 -0
- package/lib/typescript/i18n/fr.json +51 -51
- package/lib/typescript/i18n/hi.json +51 -51
- package/lib/typescript/i18n/it.json +51 -51
- package/lib/typescript/i18n/nl.json +51 -51
- package/lib/typescript/i18n/ru.json +51 -51
- package/lib/typescript/i18n/tr.json +51 -51
- package/lib/typescript/utils/Streami18n.d.ts +7 -1
- package/package.json +1 -1
- package/src/components/ImageGallery/ImageGallery.tsx +1 -0
- package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +6 -2
- package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx +12 -7
- package/src/i18n/en.json +1 -1
- package/src/i18n/es.json +72 -0
- package/src/i18n/fr.json +51 -51
- package/src/i18n/hi.json +51 -51
- package/src/i18n/it.json +51 -51
- package/src/i18n/nl.json +51 -51
- package/src/i18n/ru.json +51 -51
- package/src/i18n/tr.json +51 -51
- package/src/utils/Streami18n.ts +13 -6
- package/src/version.json +1 -1
|
@@ -69,6 +69,7 @@ var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props
|
|
|
69
69
|
selectedIndex = props.selectedIndex,
|
|
70
70
|
ShareIcon = props.ShareIcon,
|
|
71
71
|
videoControlElement = props.videoControlElement,
|
|
72
|
+
videoRef = props.videoRef,
|
|
72
73
|
visible = props.visible;
|
|
73
74
|
var _useState = (0, _react.useState)(200),
|
|
74
75
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -154,7 +155,7 @@ var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props
|
|
|
154
155
|
__self: _this,
|
|
155
156
|
__source: {
|
|
156
157
|
fileName: _jsxFileName,
|
|
157
|
-
lineNumber:
|
|
158
|
+
lineNumber: 178,
|
|
158
159
|
columnNumber: 5
|
|
159
160
|
}
|
|
160
161
|
}, _react["default"].createElement(ReanimatedSafeAreaView, {
|
|
@@ -164,23 +165,25 @@ var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props
|
|
|
164
165
|
__self: _this,
|
|
165
166
|
__source: {
|
|
166
167
|
fileName: _jsxFileName,
|
|
167
|
-
lineNumber:
|
|
168
|
+
lineNumber: 184,
|
|
168
169
|
columnNumber: 7
|
|
169
170
|
}
|
|
170
171
|
}, photo.type === 'video' ? videoControlElement ? videoControlElement({
|
|
171
172
|
duration: duration,
|
|
172
173
|
onPlayPause: onPlayPause,
|
|
173
174
|
paused: paused,
|
|
174
|
-
progress: progress
|
|
175
|
+
progress: progress,
|
|
176
|
+
videoRef: videoRef
|
|
175
177
|
}) : _react["default"].createElement(_ImageGalleryVideoControl.ImageGalleryVideoControl, {
|
|
176
178
|
duration: duration,
|
|
177
179
|
onPlayPause: onPlayPause,
|
|
178
180
|
paused: paused,
|
|
179
181
|
progress: progress,
|
|
182
|
+
videoRef: videoRef,
|
|
180
183
|
__self: _this,
|
|
181
184
|
__source: {
|
|
182
185
|
fileName: _jsxFileName,
|
|
183
|
-
lineNumber:
|
|
186
|
+
lineNumber: 189,
|
|
184
187
|
columnNumber: 13
|
|
185
188
|
}
|
|
186
189
|
}) : null, _react["default"].createElement(_reactNative.View, {
|
|
@@ -190,7 +193,7 @@ var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props
|
|
|
190
193
|
__self: _this,
|
|
191
194
|
__source: {
|
|
192
195
|
fileName: _jsxFileName,
|
|
193
|
-
lineNumber:
|
|
196
|
+
lineNumber: 198,
|
|
194
197
|
columnNumber: 9
|
|
195
198
|
}
|
|
196
199
|
}, leftElement ? leftElement({
|
|
@@ -205,7 +208,7 @@ var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props
|
|
|
205
208
|
__self: _this,
|
|
206
209
|
__source: {
|
|
207
210
|
fileName: _jsxFileName,
|
|
208
|
-
lineNumber:
|
|
211
|
+
lineNumber: 202,
|
|
209
212
|
columnNumber: 13
|
|
210
213
|
}
|
|
211
214
|
}), centerElement ? centerElement({
|
|
@@ -218,7 +221,7 @@ var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props
|
|
|
218
221
|
__self: _this,
|
|
219
222
|
__source: {
|
|
220
223
|
fileName: _jsxFileName,
|
|
221
|
-
lineNumber:
|
|
224
|
+
lineNumber: 207,
|
|
222
225
|
columnNumber: 13
|
|
223
226
|
}
|
|
224
227
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -228,7 +231,7 @@ var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props
|
|
|
228
231
|
__self: _this,
|
|
229
232
|
__source: {
|
|
230
233
|
fileName: _jsxFileName,
|
|
231
|
-
lineNumber:
|
|
234
|
+
lineNumber: 208,
|
|
232
235
|
columnNumber: 15
|
|
233
236
|
}
|
|
234
237
|
}, t('{{ index }} of {{ photoLength }}', {
|
|
@@ -244,7 +247,7 @@ var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props
|
|
|
244
247
|
__self: _this,
|
|
245
248
|
__source: {
|
|
246
249
|
fileName: _jsxFileName,
|
|
247
|
-
lineNumber:
|
|
250
|
+
lineNumber: 219,
|
|
248
251
|
columnNumber: 13
|
|
249
252
|
}
|
|
250
253
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -252,14 +255,14 @@ var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props
|
|
|
252
255
|
__self: _this,
|
|
253
256
|
__source: {
|
|
254
257
|
fileName: _jsxFileName,
|
|
255
|
-
lineNumber:
|
|
258
|
+
lineNumber: 220,
|
|
256
259
|
columnNumber: 15
|
|
257
260
|
}
|
|
258
261
|
}, GridIcon ? GridIcon : _react["default"].createElement(_icons.Grid, {
|
|
259
262
|
__self: _this,
|
|
260
263
|
__source: {
|
|
261
264
|
fileName: _jsxFileName,
|
|
262
|
-
lineNumber:
|
|
265
|
+
lineNumber: 221,
|
|
263
266
|
columnNumber: 40
|
|
264
267
|
}
|
|
265
268
|
}))))));
|
|
@@ -283,7 +286,7 @@ var ShareButton = function ShareButton(_ref2) {
|
|
|
283
286
|
__self: _this,
|
|
284
287
|
__source: {
|
|
285
288
|
fileName: _jsxFileName,
|
|
286
|
-
lineNumber:
|
|
289
|
+
lineNumber: 252,
|
|
287
290
|
columnNumber: 5
|
|
288
291
|
}
|
|
289
292
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -291,7 +294,7 @@ var ShareButton = function ShareButton(_ref2) {
|
|
|
291
294
|
__self: _this,
|
|
292
295
|
__source: {
|
|
293
296
|
fileName: _jsxFileName,
|
|
294
|
-
lineNumber:
|
|
297
|
+
lineNumber: 253,
|
|
295
298
|
columnNumber: 7
|
|
296
299
|
}
|
|
297
300
|
}, ShareIcon ? ShareIcon : _react["default"].createElement(_icons.Share, {
|
|
@@ -299,7 +302,7 @@ var ShareButton = function ShareButton(_ref2) {
|
|
|
299
302
|
__self: _this,
|
|
300
303
|
__source: {
|
|
301
304
|
fileName: _jsxFileName,
|
|
302
|
-
lineNumber:
|
|
305
|
+
lineNumber: 254,
|
|
303
306
|
columnNumber: 34
|
|
304
307
|
}
|
|
305
308
|
})));
|
|
@@ -329,7 +332,7 @@ var ImageGalleryFooter = function ImageGalleryFooter(props) {
|
|
|
329
332
|
__self: _this,
|
|
330
333
|
__source: {
|
|
331
334
|
fileName: _jsxFileName,
|
|
332
|
-
lineNumber:
|
|
335
|
+
lineNumber: 305,
|
|
333
336
|
columnNumber: 6
|
|
334
337
|
}
|
|
335
338
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_ImageGalleryVideoControl","_ThemeContext","_TranslationContext","_icons","_native","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ReanimatedSafeAreaView","Animated","createAnimatedComponent","SafeAreaView","styles","StyleSheet","create","centerContainer","alignItems","flex","justifyContent","imageCountText","fontSize","fontWeight","innerContainer","flexDirection","height","leftContainer","marginLeft","rightContainer","marginRight","wrapper","bottom","left","position","right","ImageGalleryFooterWithContext","props","accessibilityLabel","centerElement","duration","GridIcon","leftElement","onPlayPause","opacity","openGridView","paused","photo","photoLength","progress","rightElement","selectedIndex","ShareIcon","videoControlElement","visible","_useState","useState","_useState2","_slicedToArray2","setHeight","_useState3","_useState4","shareMenuOpen","setShareMenuOpen","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","white","_useTheme$theme$image","imageGallery","footer","container","_useTranslationContex","useTranslationContext","t","footerStyle","useAnimatedStyle","value","transform","translateY","interpolate","Extrapolate","CLAMP","share","_ref","_asyncToGenerator2","_regenerator","mark","_callee","_photo$mime_type","_photo$user","extension","localFile","wrap","_callee$","_context","prev","next","mime_type","split","saveFile","fileName","user","id","messageId","fromUrl","uri","sent","shareImage","type","url","deleteFile","t0","console","log","stop","apply","arguments","createElement","View","onLayout","event","nativeEvent","layout","pointerEvents","style","__self","__source","lineNumber","columnNumber","backgroundColor","ImageGalleryVideoControl","ShareButton","Text","color","index","TouchableOpacity","onPress","Grid","exports","_ref2","_useTheme2","_useTheme2$theme","disabled","Share","pathFill","areEqual","prevProps","nextProps","prevDuration","prevPaused","prevProgress","prevSelectedIndex","nextDuration","nextPaused","nextProgress","nextSelectedIndex","isDurationEqual","isPausedEqual","isProgressEqual","isSelectedIndexEqual","MemoizedImageGalleryFooter","React","memo","ImageGalleryFooter","_extends2","displayName"],"sources":["ImageGalleryFooter.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { SafeAreaView, StyleSheet, Text, TouchableOpacity, View, ViewStyle } from 'react-native';\nimport Animated, { Extrapolate, interpolate, useAnimatedStyle } from 'react-native-reanimated';\n\nimport { ImageGalleryVideoControl } from './ImageGalleryVideoControl';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\nimport { Grid as GridIconDefault, Share as ShareIconDefault } from '../../../icons';\nimport { deleteFile, saveFile, shareImage } from '../../../native';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { Photo } from '../ImageGallery';\n\nconst ReanimatedSafeAreaView = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(SafeAreaView)\n : SafeAreaView;\n\nconst styles = StyleSheet.create({\n centerContainer: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n imageCountText: {\n fontSize: 16,\n fontWeight: '600',\n },\n innerContainer: {\n flexDirection: 'row',\n height: 56,\n },\n leftContainer: {\n flex: 1,\n justifyContent: 'center',\n marginLeft: 8,\n },\n rightContainer: {\n flex: 1,\n justifyContent: 'center',\n marginRight: 8,\n },\n wrapper: {\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n },\n});\n\nexport type ImageGalleryFooterCustomComponent<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ({\n openGridView,\n photo,\n share,\n shareMenuOpen,\n}: {\n openGridView: () => void;\n share: () => Promise<void>;\n shareMenuOpen: boolean;\n photo?: Photo<StreamChatGenerics>;\n}) => React.ReactElement | null;\n\nexport type ImageGalleryFooterVideoControlProps = {\n duration: number;\n onPlayPause: (status?: boolean) => void;\n paused: boolean;\n progress: number;\n};\n\nexport type ImageGalleryFooterVideoControlComponent = ({\n duration,\n onPlayPause,\n paused,\n progress,\n}: ImageGalleryFooterVideoControlProps) => React.ReactElement | null;\n\nexport type ImageGalleryFooterCustomComponentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n centerElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n GridIcon?: React.ReactElement;\n leftElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n rightElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n ShareIcon?: React.ReactElement;\n videoControlElement?: ImageGalleryFooterVideoControlComponent;\n};\n\ntype ImageGalleryFooterPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryFooterCustomComponentProps<StreamChatGenerics> & {\n accessibilityLabel: string;\n duration: number;\n onPlayPause: () => void;\n opacity: Animated.SharedValue<number>;\n openGridView: () => void;\n paused: boolean;\n photo: Photo<StreamChatGenerics>;\n photoLength: number;\n progress: number;\n selectedIndex: number;\n visible: Animated.SharedValue<number>;\n};\n\nexport const ImageGalleryFooterWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n accessibilityLabel,\n centerElement,\n duration,\n GridIcon,\n leftElement,\n onPlayPause,\n opacity,\n openGridView,\n paused,\n photo,\n photoLength,\n progress,\n rightElement,\n selectedIndex,\n ShareIcon,\n videoControlElement,\n visible,\n } = props;\n\n const [height, setHeight] = useState(200);\n const [shareMenuOpen, setShareMenuOpen] = useState(false);\n const {\n theme: {\n colors: { black, white },\n imageGallery: {\n footer: { centerContainer, container, imageCountText, innerContainer, rightContainer },\n },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n\n const footerStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: opacity.value,\n transform: [\n {\n translateY: interpolate(visible.value, [0, 1], [height, 0], Extrapolate.CLAMP),\n },\n ],\n }),\n [height],\n );\n\n const share = async () => {\n setShareMenuOpen(true);\n try {\n const extension = photo.mime_type?.split('/')[1] || 'jpg';\n const localFile = await saveFile({\n fileName: `${photo.user?.id || 'ChatPhoto'}-${\n photo.messageId\n }-${selectedIndex}.${extension}`,\n fromUrl: photo.uri,\n });\n // `image/jpeg` is added for the case where the mime_type isn't available for a file/image\n await shareImage({ type: photo.mime_type || 'image/jpeg', url: localFile });\n await deleteFile({ uri: localFile });\n } catch (error) {\n console.log(error);\n }\n setShareMenuOpen(false);\n };\n\n return (\n <Animated.View\n accessibilityLabel={accessibilityLabel}\n onLayout={(event) => setHeight(event.nativeEvent.layout.height)}\n pointerEvents={'box-none'}\n style={styles.wrapper}\n >\n <ReanimatedSafeAreaView style={[container, footerStyle, { backgroundColor: white }]}>\n {photo.type === 'video' ? (\n videoControlElement ? (\n videoControlElement({ duration, onPlayPause, paused, progress })\n ) : (\n <ImageGalleryVideoControl\n duration={duration}\n onPlayPause={onPlayPause}\n paused={paused}\n progress={progress}\n />\n )\n ) : null}\n <View style={[styles.innerContainer, innerContainer, { backgroundColor: white }]}>\n {leftElement ? (\n leftElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <ShareButton share={share} ShareIcon={ShareIcon} shareMenuOpen={shareMenuOpen} />\n )}\n {centerElement ? (\n centerElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <View style={[styles.centerContainer, centerContainer]}>\n <Text style={[styles.imageCountText, { color: black }, imageCountText]}>\n {t('{{ index }} of {{ photoLength }}', {\n index: photoLength - selectedIndex,\n photoLength,\n })}\n </Text>\n </View>\n )}\n {rightElement ? (\n rightElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <TouchableOpacity onPress={openGridView}>\n <View style={[styles.rightContainer, rightContainer]}>\n {GridIcon ? GridIcon : <GridIconDefault />}\n </View>\n </TouchableOpacity>\n )}\n </View>\n </ReanimatedSafeAreaView>\n </Animated.View>\n );\n};\n\ntype ShareButtonProps = {\n share: () => Promise<void>;\n shareMenuOpen: boolean;\n ShareIcon?: React.ReactElement;\n};\n\nconst ShareButton = ({ share, ShareIcon, shareMenuOpen }: ShareButtonProps) => {\n const {\n theme: {\n colors: { black },\n imageGallery: {\n footer: { leftContainer },\n },\n },\n } = useTheme();\n\n if (shareImage === null) {\n return null;\n }\n\n return (\n <TouchableOpacity accessibilityLabel='Share Button' disabled={shareMenuOpen} onPress={share}>\n <View style={[styles.leftContainer, leftContainer]}>\n {ShareIcon ? ShareIcon : <ShareIconDefault pathFill={black} />}\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n nextProps: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n duration: prevDuration,\n paused: prevPaused,\n progress: prevProgress,\n selectedIndex: prevSelectedIndex,\n } = prevProps;\n const {\n duration: nextDuration,\n paused: nextPaused,\n progress: nextProgress,\n selectedIndex: nextSelectedIndex,\n } = nextProps;\n\n const isDurationEqual = prevDuration === nextDuration;\n if (!isDurationEqual) return false;\n\n const isPausedEqual = prevPaused === nextPaused;\n if (!isPausedEqual) return false;\n\n const isProgressEqual = prevProgress === nextProgress;\n if (!isProgressEqual) return false;\n\n const isSelectedIndexEqual = prevSelectedIndex === nextSelectedIndex;\n if (!isSelectedIndexEqual) return false;\n\n return true;\n};\n\nconst MemoizedImageGalleryFooter = React.memo(\n ImageGalleryFooterWithContext,\n areEqual,\n) as typeof ImageGalleryFooterWithContext;\n\nexport type ImageGalleryFooterProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryFooterPropsWithContext<StreamChatGenerics>;\n\nexport const ImageGalleryFooter = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGalleryFooterProps<StreamChatGenerics>,\n) => <MemoizedImageGalleryFooter {...props} />;\n\nImageGalleryFooter.displayName = 'ImageGalleryFooter{imageGallery{footer}}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_ImageGalleryVideoControl","_ThemeContext","_TranslationContext","_icons","_native","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ReanimatedSafeAreaView","Animated","createAnimatedComponent","SafeAreaView","styles","StyleSheet","create","centerContainer","alignItems","flex","justifyContent","imageCountText","fontSize","fontWeight","innerContainer","flexDirection","height","leftContainer","marginLeft","rightContainer","marginRight","wrapper","bottom","left","position","right","ImageGalleryFooterWithContext","props","accessibilityLabel","centerElement","duration","GridIcon","leftElement","onPlayPause","opacity","openGridView","paused","photo","photoLength","progress","rightElement","selectedIndex","ShareIcon","videoControlElement","videoRef","visible","_useState","useState","_useState2","_slicedToArray2","setHeight","_useState3","_useState4","shareMenuOpen","setShareMenuOpen","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","white","_useTheme$theme$image","imageGallery","footer","container","_useTranslationContex","useTranslationContext","t","footerStyle","useAnimatedStyle","value","transform","translateY","interpolate","Extrapolate","CLAMP","share","_ref","_asyncToGenerator2","_regenerator","mark","_callee","_photo$mime_type","_photo$user","extension","localFile","wrap","_callee$","_context","prev","next","mime_type","split","saveFile","fileName","user","id","messageId","fromUrl","uri","sent","shareImage","type","url","deleteFile","t0","console","log","stop","apply","arguments","createElement","View","onLayout","event","nativeEvent","layout","pointerEvents","style","__self","__source","lineNumber","columnNumber","backgroundColor","ImageGalleryVideoControl","ShareButton","Text","color","index","TouchableOpacity","onPress","Grid","exports","_ref2","_useTheme2","_useTheme2$theme","disabled","Share","pathFill","areEqual","prevProps","nextProps","prevDuration","prevPaused","prevProgress","prevSelectedIndex","nextDuration","nextPaused","nextProgress","nextSelectedIndex","isDurationEqual","isPausedEqual","isProgressEqual","isSelectedIndexEqual","MemoizedImageGalleryFooter","React","memo","ImageGalleryFooter","_extends2","displayName"],"sources":["ImageGalleryFooter.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { SafeAreaView, StyleSheet, Text, TouchableOpacity, View, ViewStyle } from 'react-native';\nimport Animated, { Extrapolate, interpolate, useAnimatedStyle } from 'react-native-reanimated';\n\nimport { ImageGalleryVideoControl } from './ImageGalleryVideoControl';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\nimport { Grid as GridIconDefault, Share as ShareIconDefault } from '../../../icons';\nimport { deleteFile, saveFile, shareImage, VideoType } from '../../../native';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { Photo } from '../ImageGallery';\n\nconst ReanimatedSafeAreaView = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(SafeAreaView)\n : SafeAreaView;\n\nconst styles = StyleSheet.create({\n centerContainer: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n imageCountText: {\n fontSize: 16,\n fontWeight: '600',\n },\n innerContainer: {\n flexDirection: 'row',\n height: 56,\n },\n leftContainer: {\n flex: 1,\n justifyContent: 'center',\n marginLeft: 8,\n },\n rightContainer: {\n flex: 1,\n justifyContent: 'center',\n marginRight: 8,\n },\n wrapper: {\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n },\n});\n\nexport type ImageGalleryFooterCustomComponent<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ({\n openGridView,\n photo,\n share,\n shareMenuOpen,\n}: {\n openGridView: () => void;\n share: () => Promise<void>;\n shareMenuOpen: boolean;\n photo?: Photo<StreamChatGenerics>;\n}) => React.ReactElement | null;\n\nexport type ImageGalleryFooterVideoControlProps = {\n duration: number;\n onPlayPause: (status?: boolean) => void;\n paused: boolean;\n progress: number;\n videoRef: React.RefObject<VideoType>;\n};\n\nexport type ImageGalleryFooterVideoControlComponent = ({\n duration,\n onPlayPause,\n paused,\n progress,\n}: ImageGalleryFooterVideoControlProps) => React.ReactElement | null;\n\nexport type ImageGalleryFooterCustomComponentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n centerElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n GridIcon?: React.ReactElement;\n leftElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n rightElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n ShareIcon?: React.ReactElement;\n videoControlElement?: ImageGalleryFooterVideoControlComponent;\n};\n\ntype ImageGalleryFooterPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryFooterCustomComponentProps<StreamChatGenerics> & {\n accessibilityLabel: string;\n duration: number;\n onPlayPause: () => void;\n opacity: Animated.SharedValue<number>;\n openGridView: () => void;\n paused: boolean;\n photo: Photo<StreamChatGenerics>;\n photoLength: number;\n progress: number;\n selectedIndex: number;\n videoRef: React.RefObject<VideoType>;\n visible: Animated.SharedValue<number>;\n};\n\nexport const ImageGalleryFooterWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n accessibilityLabel,\n centerElement,\n duration,\n GridIcon,\n leftElement,\n onPlayPause,\n opacity,\n openGridView,\n paused,\n photo,\n photoLength,\n progress,\n rightElement,\n selectedIndex,\n ShareIcon,\n videoControlElement,\n videoRef,\n visible,\n } = props;\n\n const [height, setHeight] = useState(200);\n const [shareMenuOpen, setShareMenuOpen] = useState(false);\n const {\n theme: {\n colors: { black, white },\n imageGallery: {\n footer: { centerContainer, container, imageCountText, innerContainer, rightContainer },\n },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n\n const footerStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: opacity.value,\n transform: [\n {\n translateY: interpolate(visible.value, [0, 1], [height, 0], Extrapolate.CLAMP),\n },\n ],\n }),\n [height],\n );\n\n const share = async () => {\n setShareMenuOpen(true);\n try {\n const extension = photo.mime_type?.split('/')[1] || 'jpg';\n const localFile = await saveFile({\n fileName: `${photo.user?.id || 'ChatPhoto'}-${\n photo.messageId\n }-${selectedIndex}.${extension}`,\n fromUrl: photo.uri,\n });\n // `image/jpeg` is added for the case where the mime_type isn't available for a file/image\n await shareImage({ type: photo.mime_type || 'image/jpeg', url: localFile });\n await deleteFile({ uri: localFile });\n } catch (error) {\n console.log(error);\n }\n setShareMenuOpen(false);\n };\n\n return (\n <Animated.View\n accessibilityLabel={accessibilityLabel}\n onLayout={(event) => setHeight(event.nativeEvent.layout.height)}\n pointerEvents={'box-none'}\n style={styles.wrapper}\n >\n <ReanimatedSafeAreaView style={[container, footerStyle, { backgroundColor: white }]}>\n {photo.type === 'video' ? (\n videoControlElement ? (\n videoControlElement({ duration, onPlayPause, paused, progress, videoRef })\n ) : (\n <ImageGalleryVideoControl\n duration={duration}\n onPlayPause={onPlayPause}\n paused={paused}\n progress={progress}\n videoRef={videoRef}\n />\n )\n ) : null}\n <View style={[styles.innerContainer, innerContainer, { backgroundColor: white }]}>\n {leftElement ? (\n leftElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <ShareButton share={share} ShareIcon={ShareIcon} shareMenuOpen={shareMenuOpen} />\n )}\n {centerElement ? (\n centerElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <View style={[styles.centerContainer, centerContainer]}>\n <Text style={[styles.imageCountText, { color: black }, imageCountText]}>\n {t('{{ index }} of {{ photoLength }}', {\n index: photoLength - selectedIndex,\n photoLength,\n })}\n </Text>\n </View>\n )}\n {rightElement ? (\n rightElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <TouchableOpacity onPress={openGridView}>\n <View style={[styles.rightContainer, rightContainer]}>\n {GridIcon ? GridIcon : <GridIconDefault />}\n </View>\n </TouchableOpacity>\n )}\n </View>\n </ReanimatedSafeAreaView>\n </Animated.View>\n );\n};\n\ntype ShareButtonProps = {\n share: () => Promise<void>;\n shareMenuOpen: boolean;\n ShareIcon?: React.ReactElement;\n};\n\nconst ShareButton = ({ share, ShareIcon, shareMenuOpen }: ShareButtonProps) => {\n const {\n theme: {\n colors: { black },\n imageGallery: {\n footer: { leftContainer },\n },\n },\n } = useTheme();\n\n if (shareImage === null) {\n return null;\n }\n\n return (\n <TouchableOpacity accessibilityLabel='Share Button' disabled={shareMenuOpen} onPress={share}>\n <View style={[styles.leftContainer, leftContainer]}>\n {ShareIcon ? ShareIcon : <ShareIconDefault pathFill={black} />}\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n nextProps: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n duration: prevDuration,\n paused: prevPaused,\n progress: prevProgress,\n selectedIndex: prevSelectedIndex,\n } = prevProps;\n const {\n duration: nextDuration,\n paused: nextPaused,\n progress: nextProgress,\n selectedIndex: nextSelectedIndex,\n } = nextProps;\n\n const isDurationEqual = prevDuration === nextDuration;\n if (!isDurationEqual) return false;\n\n const isPausedEqual = prevPaused === nextPaused;\n if (!isPausedEqual) return false;\n\n const isProgressEqual = prevProgress === nextProgress;\n if (!isProgressEqual) return false;\n\n const isSelectedIndexEqual = prevSelectedIndex === nextSelectedIndex;\n if (!isSelectedIndexEqual) return false;\n\n return true;\n};\n\nconst MemoizedImageGalleryFooter = React.memo(\n ImageGalleryFooterWithContext,\n areEqual,\n) as typeof ImageGalleryFooterWithContext;\n\nexport type ImageGalleryFooterProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryFooterPropsWithContext<StreamChatGenerics>;\n\nexport const ImageGalleryFooter = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGalleryFooterProps<StreamChatGenerics>,\n) => <MemoizedImageGalleryFooter {...props} />;\n\nImageGalleryFooter.displayName = 'ImageGalleryFooter{imageGallery{footer}}';\n"],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
exports.ImageGalleryVideoControl = void 0;
|
|
6
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
7
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
8
|
var _react = _interopRequireDefault(require("react"));
|
|
7
9
|
var _reactNative = require("react-native");
|
|
8
10
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
@@ -37,7 +39,8 @@ var ImageGalleryVideoControl = _react["default"].memo(function (props) {
|
|
|
37
39
|
var duration = props.duration,
|
|
38
40
|
onPlayPause = props.onPlayPause,
|
|
39
41
|
paused = props.paused,
|
|
40
|
-
progress = props.progress
|
|
42
|
+
progress = props.progress,
|
|
43
|
+
videoRef = props.videoRef;
|
|
41
44
|
var videoDuration = duration ? duration / 3600 >= 1 ? _dayjs["default"].duration(duration, 'second').format('HH:mm:ss') : _dayjs["default"].duration(duration, 'second').format('mm:ss') : null;
|
|
42
45
|
var progressValueInSeconds = progress * duration;
|
|
43
46
|
var progressDuration = progressValueInSeconds ? progressValueInSeconds / 3600 >= 1 ? _dayjs["default"].duration(progressValueInSeconds, 'second').format('HH:mm:ss') : _dayjs["default"].duration(progressValueInSeconds, 'second').format('mm:ss') : null;
|
|
@@ -52,23 +55,49 @@ var ImageGalleryVideoControl = _react["default"].memo(function (props) {
|
|
|
52
55
|
durationTextStyle = _useTheme$theme$image.durationTextStyle,
|
|
53
56
|
roundedView = _useTheme$theme$image.roundedView,
|
|
54
57
|
videoContainer = _useTheme$theme$image.videoContainer;
|
|
58
|
+
var handlePlayPause = function () {
|
|
59
|
+
var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
|
|
60
|
+
var _videoRef$current;
|
|
61
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
62
|
+
while (1) switch (_context.prev = _context.next) {
|
|
63
|
+
case 0:
|
|
64
|
+
if (!(progress === 1)) {
|
|
65
|
+
_context.next = 4;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
if (!((_videoRef$current = videoRef.current) != null && _videoRef$current.setPositionAsync)) {
|
|
69
|
+
_context.next = 4;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
_context.next = 4;
|
|
73
|
+
return videoRef.current.setPositionAsync(0);
|
|
74
|
+
case 4:
|
|
75
|
+
onPlayPause();
|
|
76
|
+
case 5:
|
|
77
|
+
case "end":
|
|
78
|
+
return _context.stop();
|
|
79
|
+
}
|
|
80
|
+
}, _callee);
|
|
81
|
+
}));
|
|
82
|
+
return function handlePlayPause() {
|
|
83
|
+
return _ref.apply(this, arguments);
|
|
84
|
+
};
|
|
85
|
+
}();
|
|
55
86
|
return _react["default"].createElement(_reactNative.View, {
|
|
56
87
|
style: [styles.videoContainer, videoContainer],
|
|
57
88
|
__self: _this,
|
|
58
89
|
__source: {
|
|
59
90
|
fileName: _jsxFileName,
|
|
60
|
-
lineNumber:
|
|
91
|
+
lineNumber: 74,
|
|
61
92
|
columnNumber: 7
|
|
62
93
|
}
|
|
63
94
|
}, _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
64
95
|
accessibilityLabel: "Play Pause Button",
|
|
65
|
-
onPress:
|
|
66
|
-
onPlayPause();
|
|
67
|
-
},
|
|
96
|
+
onPress: handlePlayPause,
|
|
68
97
|
__self: _this,
|
|
69
98
|
__source: {
|
|
70
99
|
fileName: _jsxFileName,
|
|
71
|
-
lineNumber:
|
|
100
|
+
lineNumber: 75,
|
|
72
101
|
columnNumber: 9
|
|
73
102
|
}
|
|
74
103
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -78,7 +107,7 @@ var ImageGalleryVideoControl = _react["default"].memo(function (props) {
|
|
|
78
107
|
__self: _this,
|
|
79
108
|
__source: {
|
|
80
109
|
fileName: _jsxFileName,
|
|
81
|
-
lineNumber:
|
|
110
|
+
lineNumber: 76,
|
|
82
111
|
columnNumber: 11
|
|
83
112
|
}
|
|
84
113
|
}, paused ? _react["default"].createElement(_icons.Play, {
|
|
@@ -89,7 +118,7 @@ var ImageGalleryVideoControl = _react["default"].memo(function (props) {
|
|
|
89
118
|
__self: _this,
|
|
90
119
|
__source: {
|
|
91
120
|
fileName: _jsxFileName,
|
|
92
|
-
lineNumber:
|
|
121
|
+
lineNumber: 78,
|
|
93
122
|
columnNumber: 15
|
|
94
123
|
}
|
|
95
124
|
}) : _react["default"].createElement(_icons.Pause, {
|
|
@@ -100,7 +129,7 @@ var ImageGalleryVideoControl = _react["default"].memo(function (props) {
|
|
|
100
129
|
__self: _this,
|
|
101
130
|
__source: {
|
|
102
131
|
fileName: _jsxFileName,
|
|
103
|
-
lineNumber:
|
|
132
|
+
lineNumber: 80,
|
|
104
133
|
columnNumber: 15
|
|
105
134
|
}
|
|
106
135
|
}))), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -111,7 +140,7 @@ var ImageGalleryVideoControl = _react["default"].memo(function (props) {
|
|
|
111
140
|
__self: _this,
|
|
112
141
|
__source: {
|
|
113
142
|
fileName: _jsxFileName,
|
|
114
|
-
lineNumber:
|
|
143
|
+
lineNumber: 89,
|
|
115
144
|
columnNumber: 9
|
|
116
145
|
}
|
|
117
146
|
}, progressDuration ? progressDuration : '00:00'), _react["default"].createElement(_ProgressControl.ProgressControl, {
|
|
@@ -124,7 +153,7 @@ var ImageGalleryVideoControl = _react["default"].memo(function (props) {
|
|
|
124
153
|
__self: _this,
|
|
125
154
|
__source: {
|
|
126
155
|
fileName: _jsxFileName,
|
|
127
|
-
lineNumber:
|
|
156
|
+
lineNumber: 95,
|
|
128
157
|
columnNumber: 9
|
|
129
158
|
}
|
|
130
159
|
}), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -135,7 +164,7 @@ var ImageGalleryVideoControl = _react["default"].memo(function (props) {
|
|
|
135
164
|
__self: _this,
|
|
136
165
|
__source: {
|
|
137
166
|
fileName: _jsxFileName,
|
|
138
|
-
lineNumber:
|
|
167
|
+
lineNumber: 103,
|
|
139
168
|
columnNumber: 9
|
|
140
169
|
}
|
|
141
170
|
}, videoDuration ? videoDuration : '00:00'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_dayjs","_ThemeContext","_icons","_ProgressControl","_this","_jsxFileName","styles","StyleSheet","create","durationTextStyle","fontWeight","roundedView","alignItems","borderRadius","display","elevation","height","justifyContent","width","videoContainer","backgroundColor","flexDirection","padding","ImageGalleryVideoControl","React","memo","props","duration","onPlayPause","paused","progress","videoDuration","dayjs","format","progressValueInSeconds","progressDuration","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","black","static_black","static_white","_useTheme$theme$image","imageGallery","videoControl","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","TouchableOpacity","accessibilityLabel","onPress","Play","pathFill","Pause","Text","color","ProgressControl","filledColor","testID","prevProps","nextProps","exports","displayName"],"sources":["ImageGalleryVideoControl.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport dayjs from 'dayjs';\n\nimport type { ImageGalleryFooterVideoControlProps } from './ImageGalleryFooter';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport { Pause, Play } from '../../../icons';\nimport { ProgressControl } from '../../ProgressControl/ProgressControl';\n\nconst styles = StyleSheet.create({\n durationTextStyle: {\n fontWeight: 'bold',\n },\n roundedView: {\n alignItems: 'center',\n borderRadius: 50,\n display: 'flex',\n elevation: 2,\n height: 36,\n justifyContent: 'center',\n width: 36,\n },\n videoContainer: {\n alignItems: 'center',\n backgroundColor: 'rgba(52, 52, 52, 0.1)',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n});\n\nexport const ImageGalleryVideoControl: React.FC<ImageGalleryFooterVideoControlProps> = React.memo(\n (props) => {\n const { duration, onPlayPause, paused, progress } = props;\n\n const videoDuration = duration\n ? duration / 3600 >= 1\n ? dayjs.duration(duration, 'second').format('HH:mm:ss')\n : dayjs.duration(duration, 'second').format('mm:ss')\n : null;\n\n const progressValueInSeconds = progress * duration;\n\n const progressDuration = progressValueInSeconds\n ? progressValueInSeconds / 3600 >= 1\n ? dayjs.duration(progressValueInSeconds, 'second').format('HH:mm:ss')\n : dayjs.duration(progressValueInSeconds, 'second').format('mm:ss')\n : null;\n\n const {\n theme: {\n colors: { accent_blue, black, static_black, static_white },\n imageGallery: {\n videoControl: { durationTextStyle, roundedView, videoContainer },\n },\n },\n } = useTheme();\n\n return (\n <View style={[styles.videoContainer, videoContainer]}>\n <TouchableOpacity
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_dayjs","_ThemeContext","_icons","_ProgressControl","_this","_jsxFileName","styles","StyleSheet","create","durationTextStyle","fontWeight","roundedView","alignItems","borderRadius","display","elevation","height","justifyContent","width","videoContainer","backgroundColor","flexDirection","padding","ImageGalleryVideoControl","React","memo","props","duration","onPlayPause","paused","progress","videoRef","videoDuration","dayjs","format","progressValueInSeconds","progressDuration","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","black","static_black","static_white","_useTheme$theme$image","imageGallery","videoControl","handlePlayPause","_ref","_asyncToGenerator2","_regenerator","mark","_callee","_videoRef$current","wrap","_callee$","_context","prev","next","current","setPositionAsync","stop","apply","arguments","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","TouchableOpacity","accessibilityLabel","onPress","Play","pathFill","Pause","Text","color","ProgressControl","filledColor","testID","prevProps","nextProps","exports","displayName"],"sources":["ImageGalleryVideoControl.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport dayjs from 'dayjs';\n\nimport type { ImageGalleryFooterVideoControlProps } from './ImageGalleryFooter';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport { Pause, Play } from '../../../icons';\nimport { ProgressControl } from '../../ProgressControl/ProgressControl';\n\nconst styles = StyleSheet.create({\n durationTextStyle: {\n fontWeight: 'bold',\n },\n roundedView: {\n alignItems: 'center',\n borderRadius: 50,\n display: 'flex',\n elevation: 2,\n height: 36,\n justifyContent: 'center',\n width: 36,\n },\n videoContainer: {\n alignItems: 'center',\n backgroundColor: 'rgba(52, 52, 52, 0.1)',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n});\n\nexport const ImageGalleryVideoControl: React.FC<ImageGalleryFooterVideoControlProps> = React.memo(\n (props) => {\n const { duration, onPlayPause, paused, progress, videoRef } = props;\n\n const videoDuration = duration\n ? duration / 3600 >= 1\n ? dayjs.duration(duration, 'second').format('HH:mm:ss')\n : dayjs.duration(duration, 'second').format('mm:ss')\n : null;\n\n const progressValueInSeconds = progress * duration;\n\n const progressDuration = progressValueInSeconds\n ? progressValueInSeconds / 3600 >= 1\n ? dayjs.duration(progressValueInSeconds, 'second').format('HH:mm:ss')\n : dayjs.duration(progressValueInSeconds, 'second').format('mm:ss')\n : null;\n\n const {\n theme: {\n colors: { accent_blue, black, static_black, static_white },\n imageGallery: {\n videoControl: { durationTextStyle, roundedView, videoContainer },\n },\n },\n } = useTheme();\n\n const handlePlayPause = async () => {\n if (progress === 1) {\n // For expo CLI\n if (videoRef.current?.setPositionAsync) {\n await videoRef.current.setPositionAsync(0);\n }\n }\n onPlayPause();\n };\n\n return (\n <View style={[styles.videoContainer, videoContainer]}>\n <TouchableOpacity accessibilityLabel='Play Pause Button' onPress={handlePlayPause}>\n <View style={[styles.roundedView, roundedView, { backgroundColor: static_white }]}>\n {paused ? (\n <Play accessibilityLabel='Play Icon' height={24} pathFill={static_black} width={24} />\n ) : (\n <Pause\n accessibilityLabel='Pause Icon'\n height={24}\n pathFill={static_black}\n width={24}\n />\n )}\n </View>\n </TouchableOpacity>\n <Text\n accessibilityLabel='Progress Duration'\n style={[styles.durationTextStyle, durationTextStyle, { color: black }]}\n >\n {progressDuration ? progressDuration : '00:00'}\n </Text>\n <ProgressControl\n duration={duration}\n filledColor={accent_blue}\n onPlayPause={onPlayPause}\n progress={progress}\n testID={'progress-control'}\n width={180}\n />\n <Text\n accessibilityLabel='Video Duration'\n style={[styles.durationTextStyle, durationTextStyle, { color: black }]}\n >\n {videoDuration ? videoDuration : '00:00'}\n </Text>\n </View>\n );\n },\n (prevProps, nextProps) => {\n if (\n prevProps.duration === nextProps.duration &&\n prevProps.paused === nextProps.paused &&\n prevProps.progress === nextProps.progress\n ) {\n return true;\n } else {\n return false;\n }\n },\n);\n\nImageGalleryVideoControl.displayName = 'ImageGalleryVideoControl{imageGallery{videoControl}}';\n"],"mappings":"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"}
|
package/lib/module/i18n/en.json
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"File type not supported": "File type not supported",
|
|
23
23
|
"Flag": "Flag",
|
|
24
24
|
"Flag Message": "Flag Message",
|
|
25
|
-
"Flag action failed either due to a network issue or the message is already flagged": "Flag action failed either due to a network issue or the message is already flagged
|
|
25
|
+
"Flag action failed either due to a network issue or the message is already flagged": "Flag action failed either due to a network issue or the message is already flagged",
|
|
26
26
|
"Instant Commands": "Instant Commands",
|
|
27
27
|
"Links are disabled": "Links are disabled",
|
|
28
28
|
"Loading channels...": "Loading channels...",
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"1 Reply": "1 respuesta",
|
|
3
|
+
"1 Thread Reply": "1 respuesta de hilo",
|
|
4
|
+
"Allow access to your Gallery": "Permitir acceso a tu galería",
|
|
5
|
+
"Also send to channel": "También enviar al canal",
|
|
6
|
+
"Are you sure you want to permanently delete this message?": "¿Estás seguro de que deseas eliminar permanentemente este mensaje?",
|
|
7
|
+
"Block User": "Bloquear usuario",
|
|
8
|
+
"Cancel": "Cancelar",
|
|
9
|
+
"Cannot Flag Message": "No se puede reportar el mensaje",
|
|
10
|
+
"Copy Message": "Copiar mensaje",
|
|
11
|
+
"Delete": "Eliminar",
|
|
12
|
+
"Delete Message": "Eliminar mensaje",
|
|
13
|
+
"Do you want to send a copy of this message to a moderator for further investigation?": "¿Deseas enviar una copia de este mensaje a un moderador para una investigación adicional?",
|
|
14
|
+
"Edit Message": "Editar mensaje",
|
|
15
|
+
"Editing Message": "Editando mensaje",
|
|
16
|
+
"Emoji matching": "Coincidencia de emoji",
|
|
17
|
+
"Empty message...": "Mensaje vacío...",
|
|
18
|
+
"Error loading": "Error al cargar",
|
|
19
|
+
"Error loading channel list...": "Error al cargar la lista de canales...",
|
|
20
|
+
"Error loading messages for this channel...": "Error al cargar los mensajes de este canal...",
|
|
21
|
+
"Error while loading, please reload/refresh": "Error al cargar, por favor recarga/actualiza",
|
|
22
|
+
"File type not supported": "Tipo de archivo no admitido",
|
|
23
|
+
"Flag": "Reportar",
|
|
24
|
+
"Flag Message": "Reportar mensaje",
|
|
25
|
+
"Flag action failed either due to a network issue or the message is already flagged": "El reporte falló debido a un problema de red o el mensaje ya fue reportado.",
|
|
26
|
+
"Instant Commands": "Comandos instantáneos",
|
|
27
|
+
"Links are disabled": "Los enlaces están desactivados",
|
|
28
|
+
"Loading channels...": "Cargando canales...",
|
|
29
|
+
"Loading messages...": "Cargando mensajes...",
|
|
30
|
+
"Loading...": "Cargando...",
|
|
31
|
+
"Message Reactions": "Reacciones al mensaje",
|
|
32
|
+
"Message deleted": "Mensaje eliminado",
|
|
33
|
+
"Message flagged": "Mensaje reportado",
|
|
34
|
+
"Mute User": "Silenciar usuario",
|
|
35
|
+
"Not supported": "No admitido",
|
|
36
|
+
"Nothing yet...": "Aún no hay nada...",
|
|
37
|
+
"Ok": "Aceptar",
|
|
38
|
+
"Only visible to you": "Solo visible para ti",
|
|
39
|
+
"Photo": "Foto",
|
|
40
|
+
"Photos": "Fotos",
|
|
41
|
+
"Photos and Videos": "Fotos y videos",
|
|
42
|
+
"Pin to Conversation": "Fijar a la conversación",
|
|
43
|
+
"Pinned by": "Fijado por",
|
|
44
|
+
"Please enable access to your photos and videos so you can share them.": "Por favor, habilita el acceso a tus fotos y videos para poder compartirlos.",
|
|
45
|
+
"Please select a channel first": "Por favor, selecciona primero un canal",
|
|
46
|
+
"Reconnecting...": "Reconectando...",
|
|
47
|
+
"Reply": "Responder",
|
|
48
|
+
"Reply to Message": "Responder al mensaje",
|
|
49
|
+
"Resend": "Reenviar",
|
|
50
|
+
"Search GIFs": "Buscar GIFs",
|
|
51
|
+
"Send a message": "Enviar un mensaje",
|
|
52
|
+
"Sending links is not allowed in this conversation": "No está permitido enviar enlaces en esta conversación",
|
|
53
|
+
"Slow mode ON": "Modo lento ACTIVADO",
|
|
54
|
+
"The message has been reported to a moderator.": "El mensaje ha sido reportado a un moderador.",
|
|
55
|
+
"Thread Reply": "Respuesta de hilo",
|
|
56
|
+
"Unblock User": "Desbloquear usuario",
|
|
57
|
+
"Unknown User": "Usuario desconocido",
|
|
58
|
+
"Unmute User": "Activar sonido del usuario",
|
|
59
|
+
"Unpin from Conversation": "Desmarcar de la conversación",
|
|
60
|
+
"Unread Messages": "Mensajes no leídos",
|
|
61
|
+
"Video": "Video",
|
|
62
|
+
"You": "Tú",
|
|
63
|
+
"You can't send messages in this channel": "No puedes enviar mensajes en este canal",
|
|
64
|
+
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} y {{ nonSelfUserLength }} más están escribiendo",
|
|
65
|
+
"{{ index }} of {{ photoLength }}": "{{ index }} de {{ photoLength }}",
|
|
66
|
+
"{{ replyCount }} Replies": "{{ replyCount }} Respuestas",
|
|
67
|
+
"{{ replyCount }} Thread Replies": "{{ replyCount }} respuestas de hilo",
|
|
68
|
+
"{{ user }} is typing": "{{ user }} está escribiendo",
|
|
69
|
+
"Select More Photos": "Seleccionar más fotos",
|
|
70
|
+
"🏙 Attachment...": "🏙 Adjunto...",
|
|
71
|
+
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "El archivo supera el tamaño máximo permitido. Por favor, selecciona un archivo menor a {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB."
|
|
72
|
+
}
|