stream-chat-react-native-core 5.21.0-beta.2 โ†’ 5.21.0-beta.3

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.
Files changed (56) hide show
  1. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +34 -17
  2. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  3. package/lib/commonjs/i18n/en.json +1 -0
  4. package/lib/commonjs/i18n/fr.json +33 -32
  5. package/lib/commonjs/i18n/he.json +1 -0
  6. package/lib/commonjs/i18n/hi.json +33 -32
  7. package/lib/commonjs/i18n/it.json +33 -32
  8. package/lib/commonjs/i18n/ja.json +1 -0
  9. package/lib/commonjs/i18n/ko.json +1 -0
  10. package/lib/commonjs/i18n/nl.json +33 -32
  11. package/lib/commonjs/i18n/ru.json +33 -32
  12. package/lib/commonjs/i18n/tr.json +33 -32
  13. package/lib/commonjs/native.js +6 -1
  14. package/lib/commonjs/native.js.map +1 -1
  15. package/lib/commonjs/version.json +1 -1
  16. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +34 -17
  17. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  18. package/lib/module/i18n/en.json +1 -0
  19. package/lib/module/i18n/fr.json +33 -32
  20. package/lib/module/i18n/he.json +1 -0
  21. package/lib/module/i18n/hi.json +33 -32
  22. package/lib/module/i18n/it.json +33 -32
  23. package/lib/module/i18n/ja.json +1 -0
  24. package/lib/module/i18n/ko.json +1 -0
  25. package/lib/module/i18n/nl.json +33 -32
  26. package/lib/module/i18n/ru.json +33 -32
  27. package/lib/module/i18n/tr.json +33 -32
  28. package/lib/module/native.js +6 -1
  29. package/lib/module/native.js.map +1 -1
  30. package/lib/module/version.json +1 -1
  31. package/lib/typescript/i18n/en.json +1 -0
  32. package/lib/typescript/i18n/fr.json +33 -32
  33. package/lib/typescript/i18n/he.json +1 -0
  34. package/lib/typescript/i18n/hi.json +33 -32
  35. package/lib/typescript/i18n/it.json +33 -32
  36. package/lib/typescript/i18n/ja.json +1 -0
  37. package/lib/typescript/i18n/ko.json +1 -0
  38. package/lib/typescript/i18n/nl.json +33 -32
  39. package/lib/typescript/i18n/ru.json +33 -32
  40. package/lib/typescript/i18n/tr.json +33 -32
  41. package/lib/typescript/native.d.ts +4 -0
  42. package/lib/typescript/utils/Streami18n.d.ts +1 -0
  43. package/package.json +1 -1
  44. package/src/components/AttachmentPicker/AttachmentPicker.tsx +21 -2
  45. package/src/i18n/en.json +1 -0
  46. package/src/i18n/fr.json +33 -32
  47. package/src/i18n/he.json +1 -0
  48. package/src/i18n/hi.json +33 -32
  49. package/src/i18n/it.json +33 -32
  50. package/src/i18n/ja.json +1 -0
  51. package/src/i18n/ko.json +1 -0
  52. package/src/i18n/nl.json +33 -32
  53. package/src/i18n/ru.json +33 -32
  54. package/src/i18n/tr.json +33 -32
  55. package/src/native.ts +9 -0
  56. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_bottomSheet","_dayjs","_interopRequireDefault","_duration","_AttachmentPickerItem","_AttachmentPickerContext","_ThemeContext","_native","_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","dayjs","extend","duration","styles","StyleSheet","create","container","flexGrow","screenHeight","vh","fullScreenHeight","Dimensions","height","AttachmentPicker","React","forwardRef","props","ref","AttachmentPickerBottomSheetHandle","attachmentPickerBottomSheetHandleHeight","attachmentPickerBottomSheetHeight","AttachmentPickerError","attachmentPickerErrorButtonText","AttachmentPickerErrorImage","attachmentPickerErrorText","ImageOverlaySelectedComponent","numberOfAttachmentImagesToLoadPerCall","numberOfAttachmentPickerImageColumns","translucentStatusBar","_useTheme","useTheme","_useTheme$theme","theme","bottomSheetContentContainer","attachmentPicker","white","colors","_useAttachmentPickerC","useAttachmentPickerContext","closePicker","maxNumberOfFiles","selectedFiles","selectedImages","selectedPicker","setSelectedFiles","setSelectedImages","setSelectedPicker","topInset","_useState","useState","_useState2","_slicedToArray2","currentIndex","setCurrentIndex","endCursorRef","useRef","_useState3","_useState4","photoError","setPhotoError","hasNextPageRef","_useState5","_useState6","loadingPhotos","setLoadingPhotos","_useState7","_useState8","photos","setPhotos","attemptedToLoadPhotosOnOpenRef","getMorePhotos","useCallback","_asyncToGenerator2","_regenerator","mark","_callee","endCursor","results","wrap","_callee$","_context","prev","next","current","getPhotos","after","first","sent","prevPhotos","concat","_toConsumableArray2","assets","hasNextPage","t0","stop","getMorePhotosRef","useEffect","_oniOS14GalleryLibrar","oniOS14GalleryLibrarySelectionChange","undefined","unsubscribe","backAction","backHandler","BackHandler","addEventListener","remove","keyboardShowEvent","Platform","OS","keyboardSubscription","Keyboard","addListener","removeListener","selectedPhotos","map","asset","numberOfUploads","length","selected","some","image","id","uri","file","handleHeight","getAndroidBottomBarHeightAdjustment","_StatusBar$currentHei","statusBarHeight","StatusBar","currentHeight","bottomBarHeight","getInitialSnapPoint","initialSnapPoint","finalSnapPoint","snapPoints","useMemo","createElement","Fragment","containerHeight","enablePanDownToClose","handleComponent","index","onChange","__self","__source","fileName","lineNumber","columnNumber","BottomSheetFlatList","contentContainerStyle","backgroundColor","opacity","data","keyExtractor","item","numColumns","onEndReached","renderItem","renderAttachmentPickerItem","exports","displayName"],"sources":["AttachmentPicker.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { BackHandler, Dimensions, Keyboard, Platform, StatusBar, StyleSheet } from 'react-native';\n\nimport BottomSheet, { BottomSheetFlatList, BottomSheetHandleProps } from '@gorhom/bottom-sheet';\nimport dayjs from 'dayjs';\nimport duration from 'dayjs/plugin/duration';\n\nimport type { AttachmentPickerErrorProps } from './components/AttachmentPickerError';\n\nimport { renderAttachmentPickerItem } from './components/AttachmentPickerItem';\n\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { getPhotos, oniOS14GalleryLibrarySelectionChange } from '../../native';\nimport type { Asset } from '../../types/types';\nimport { vh } from '../../utils/utils';\n\ndayjs.extend(duration);\n\nconst styles = StyleSheet.create({\n container: {\n flexGrow: 1,\n },\n});\n\nconst screenHeight = vh(100);\nconst fullScreenHeight = Dimensions.get('window').height;\n\nexport type AttachmentPickerProps = {\n /**\n * Custom UI component to render [draggable handle](https://github.com/GetStream/stream-chat-react-native/blob/main/screenshots/docs/1.png) of attachment picker.\n *\n * **Default** [AttachmentPickerBottomSheetHandle](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.tsx)\n */\n AttachmentPickerBottomSheetHandle: React.FC<BottomSheetHandleProps>;\n /**\n * Custom UI component to render error component while opening attachment picker.\n *\n * **Default** [AttachmentPickerError](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/AttachmentPickerError.tsx)\n */\n AttachmentPickerError: React.ComponentType<AttachmentPickerErrorProps>;\n /**\n * Custom UI component to render error image for attachment picker\n *\n * **Default** [AttachmentPickerErrorImage](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/AttachmentPickerErrorImage.tsx)\n */\n AttachmentPickerErrorImage: React.ComponentType;\n /**\n * Custom UI component to render overlay component, that shows up on top of [selected image](https://github.com/GetStream/stream-chat-react-native/blob/main/screenshots/docs/1.png) (with tick mark)\n *\n * **Default** [ImageOverlaySelectedComponent](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/ImageOverlaySelectedComponent.tsx)\n */\n ImageOverlaySelectedComponent: React.ComponentType;\n attachmentPickerBottomSheetHandleHeight?: number;\n attachmentPickerBottomSheetHeight?: number;\n attachmentPickerErrorButtonText?: string;\n attachmentPickerErrorText?: string;\n numberOfAttachmentImagesToLoadPerCall?: number;\n numberOfAttachmentPickerImageColumns?: number;\n translucentStatusBar?: boolean;\n};\n\nexport const AttachmentPicker = React.forwardRef(\n (props: AttachmentPickerProps, ref: React.ForwardedRef<BottomSheet>) => {\n const {\n AttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage,\n attachmentPickerErrorText,\n ImageOverlaySelectedComponent,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n translucentStatusBar,\n } = props;\n\n const {\n theme: {\n attachmentPicker: { bottomSheetContentContainer },\n colors: { white },\n },\n } = useTheme();\n const {\n closePicker,\n maxNumberOfFiles,\n selectedFiles,\n selectedImages,\n selectedPicker,\n setSelectedFiles,\n setSelectedImages,\n setSelectedPicker,\n topInset,\n } = useAttachmentPickerContext();\n\n const [currentIndex, setCurrentIndex] = useState(-1);\n const endCursorRef = useRef<string>();\n const [photoError, setPhotoError] = useState(false);\n const hasNextPageRef = useRef(true);\n const [loadingPhotos, setLoadingPhotos] = useState(false);\n const [photos, setPhotos] = useState<Asset[]>([]);\n const attemptedToLoadPhotosOnOpenRef = useRef(false);\n\n const getMorePhotos = useCallback(async () => {\n if (\n hasNextPageRef.current &&\n !loadingPhotos &&\n currentIndex > -1 &&\n selectedPicker === 'images'\n ) {\n setPhotoError(false);\n setLoadingPhotos(true);\n const endCursor = endCursorRef.current;\n try {\n const results = await getPhotos({\n after: endCursor,\n first: numberOfAttachmentImagesToLoadPerCall ?? 60,\n });\n endCursorRef.current = results.endCursor;\n setPhotos((prevPhotos) =>\n endCursor ? [...prevPhotos, ...results.assets] : results.assets,\n );\n hasNextPageRef.current = !!results.hasNextPage;\n } catch (error) {\n setPhotoError(true);\n }\n setLoadingPhotos(false);\n }\n }, [currentIndex, selectedPicker, loadingPhotos]);\n\n // we need to use ref here to avoid running effect when getMorePhotos changes\n const getMorePhotosRef = useRef(getMorePhotos);\n getMorePhotosRef.current = getMorePhotos;\n\n useEffect(() => {\n if (selectedPicker !== 'images') return;\n // ios 14 library selection change event is fired when user reselects the images that are permitted to be readable by the app\n const { unsubscribe } = oniOS14GalleryLibrarySelectionChange(() => {\n // we reset the cursor and has next page to true to facilitate fetching of the first page of photos again\n hasNextPageRef.current = true;\n endCursorRef.current = undefined;\n // fetch the first page of photos again\n getMorePhotosRef.current();\n });\n return unsubscribe;\n }, [selectedPicker]);\n\n useEffect(() => {\n const backAction = () => {\n if (selectedPicker) {\n setSelectedPicker(undefined);\n closePicker();\n return true;\n }\n\n return false;\n };\n\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [selectedPicker, closePicker]);\n\n useEffect(() => {\n const keyboardShowEvent = Platform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow';\n const keyboardSubscription = Keyboard.addListener(keyboardShowEvent, closePicker);\n\n return () => {\n if (keyboardSubscription?.remove) {\n keyboardSubscription.remove();\n return;\n }\n\n // To keep compatibility with older versions of React Native, where `remove()` is not available\n Keyboard.removeListener(keyboardShowEvent, closePicker);\n };\n }, [closePicker]);\n\n useEffect(() => {\n if (currentIndex < 0) {\n setSelectedPicker(undefined);\n if (!loadingPhotos) {\n endCursorRef.current = undefined;\n hasNextPageRef.current = true;\n attemptedToLoadPhotosOnOpenRef.current = false;\n setPhotoError(false);\n }\n }\n }, [currentIndex, loadingPhotos]);\n\n useEffect(() => {\n if (\n !attemptedToLoadPhotosOnOpenRef.current &&\n selectedPicker === 'images' &&\n endCursorRef.current === undefined &&\n currentIndex > -1 &&\n !loadingPhotos\n ) {\n getMorePhotos();\n // we do this only once on open for avoiding to request permissions in rationale dialog again and again on Android\n attemptedToLoadPhotosOnOpenRef.current = true;\n }\n }, [currentIndex, selectedPicker, getMorePhotos, loadingPhotos]);\n\n const selectedPhotos = photos.map((asset) => ({\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads: selectedFiles.length + selectedImages.length,\n // `id` is available for Expo MediaLibrary while Cameraroll doesn't share id therefore we use `uri`\n selected:\n selectedImages.some((image) =>\n image.id ? image.id === asset.id : image.uri === asset.uri,\n ) ||\n selectedFiles.some((file) => (file.id ? file.id === asset.id : file.uri === asset.uri)),\n selectedFiles,\n selectedImages,\n setSelectedFiles,\n setSelectedImages,\n }));\n\n const handleHeight = attachmentPickerBottomSheetHandleHeight || 20;\n\n /**\n * This is to handle issues with Android measurements coming back incorrect.\n * If the StatusBar height is perfectly 1/2 of the difference between the two\n * dimensions for screen and window, it is incorrect and we need to account for\n * this. If you use a translucent header bar more adjustments are needed.\n */\n const getAndroidBottomBarHeightAdjustment = (): number => {\n if (Platform.OS === 'android') {\n const statusBarHeight = StatusBar.currentHeight ?? 0;\n const bottomBarHeight = fullScreenHeight - screenHeight - statusBarHeight;\n if (bottomBarHeight === statusBarHeight) {\n return translucentStatusBar ? 0 : statusBarHeight;\n } else {\n if (translucentStatusBar) {\n if (bottomBarHeight > statusBarHeight) {\n return -bottomBarHeight + statusBarHeight;\n } else {\n return bottomBarHeight > 0 ? -statusBarHeight : 0;\n }\n } else {\n return bottomBarHeight > 0 ? 0 : statusBarHeight;\n }\n }\n }\n return 0;\n };\n\n const getInitialSnapPoint = (): number => {\n if (attachmentPickerBottomSheetHeight !== undefined) {\n return attachmentPickerBottomSheetHeight;\n }\n if (Platform.OS === 'android') {\n return (\n 308 +\n (fullScreenHeight - screenHeight + getAndroidBottomBarHeightAdjustment()) -\n handleHeight\n );\n } else {\n return 308 + (fullScreenHeight - screenHeight);\n }\n };\n\n const initialSnapPoint = getInitialSnapPoint();\n\n const finalSnapPoint =\n Platform.OS === 'android'\n ? fullScreenHeight - topInset - handleHeight\n : fullScreenHeight - topInset;\n\n /**\n * Snap points changing cause a rerender of the position,\n * this is an issue if you are calling close on the bottom sheet.\n */\n const snapPoints = useMemo(\n () => [initialSnapPoint, finalSnapPoint],\n [initialSnapPoint, finalSnapPoint],\n );\n\n return (\n <>\n <BottomSheet\n containerHeight={fullScreenHeight}\n enablePanDownToClose={true}\n handleComponent={\n /**\n * using `null` here instead of `style={{ opacity: photoError ? 0 : 1 }}`\n * as opacity is not an allowed style\n */\n photoError ? null : AttachmentPickerBottomSheetHandle\n }\n handleHeight={handleHeight}\n index={-1}\n onChange={setCurrentIndex}\n ref={ref}\n snapPoints={snapPoints}\n >\n <BottomSheetFlatList\n contentContainerStyle={[\n styles.container,\n { backgroundColor: white },\n bottomSheetContentContainer,\n { opacity: photoError ? 0 : 1 },\n ]}\n data={selectedPhotos}\n keyExtractor={(item) => item.asset.uri}\n numColumns={numberOfAttachmentPickerImageColumns ?? 3}\n onEndReached={photoError ? undefined : getMorePhotos}\n renderItem={renderAttachmentPickerItem}\n />\n </BottomSheet>\n {selectedPicker === 'images' && photoError && (\n <AttachmentPickerError\n attachmentPickerBottomSheetHeight={initialSnapPoint}\n attachmentPickerErrorButtonText={attachmentPickerErrorButtonText}\n AttachmentPickerErrorImage={AttachmentPickerErrorImage}\n attachmentPickerErrorText={attachmentPickerErrorText}\n />\n )}\n </>\n );\n },\n);\n\nAttachmentPicker.displayName = 'AttachmentPicker';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_bottomSheet","_dayjs","_interopRequireDefault","_duration","_AttachmentPickerItem","_AttachmentPickerContext","_ThemeContext","_TranslationContext","_native","_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","dayjs","extend","duration","styles","StyleSheet","create","container","flexGrow","screenHeight","vh","fullScreenHeight","Dimensions","height","AttachmentPicker","React","forwardRef","props","ref","AttachmentPickerBottomSheetHandle","attachmentPickerBottomSheetHandleHeight","attachmentPickerBottomSheetHeight","AttachmentPickerError","attachmentPickerErrorButtonText","AttachmentPickerErrorImage","attachmentPickerErrorText","ImageOverlaySelectedComponent","numberOfAttachmentImagesToLoadPerCall","numberOfAttachmentPickerImageColumns","translucentStatusBar","_useTheme","useTheme","_useTheme$theme","theme","bottomSheetContentContainer","attachmentPicker","white","colors","_useAttachmentPickerC","useAttachmentPickerContext","closePicker","maxNumberOfFiles","selectedFiles","selectedImages","selectedPicker","setSelectedFiles","setSelectedImages","setSelectedPicker","topInset","_useState","useState","_useState2","_slicedToArray2","currentIndex","setCurrentIndex","endCursorRef","useRef","_useState3","_useState4","photoError","setPhotoError","_useState5","_useState6","iOSLimited","setIosLimited","hasNextPageRef","_useState7","_useState8","loadingPhotos","setLoadingPhotos","_useState9","_useState10","photos","setPhotos","attemptedToLoadPhotosOnOpenRef","_useTranslationContex","useTranslationContext","t","getMorePhotos","useCallback","_asyncToGenerator2","_regenerator","mark","_callee","endCursor","results","wrap","_callee$","_context","prev","next","current","getPhotos","after","first","sent","prevPhotos","concat","_toConsumableArray2","assets","hasNextPage","t0","stop","getMorePhotosRef","useEffect","_oniOS14GalleryLibrar","oniOS14GalleryLibrarySelectionChange","undefined","unsubscribe","backAction","backHandler","BackHandler","addEventListener","remove","keyboardShowEvent","Platform","OS","keyboardSubscription","Keyboard","addListener","removeListener","selectedPhotos","map","asset","numberOfUploads","length","selected","some","image","id","uri","file","handleHeight","getAndroidBottomBarHeightAdjustment","_StatusBar$currentHei","statusBarHeight","StatusBar","currentHeight","bottomBarHeight","getInitialSnapPoint","initialSnapPoint","finalSnapPoint","snapPoints","useMemo","createElement","Fragment","containerHeight","enablePanDownToClose","handleComponent","index","onChange","__self","__source","fileName","lineNumber","columnNumber","Button","onPress","iOS14RefreshGallerySelection","title","BottomSheetFlatList","contentContainerStyle","backgroundColor","opacity","data","keyExtractor","item","numColumns","onEndReached","renderItem","renderAttachmentPickerItem","exports","displayName"],"sources":["AttachmentPicker.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n BackHandler,\n Button,\n Dimensions,\n Keyboard,\n Platform,\n StatusBar,\n StyleSheet,\n} from 'react-native';\n\nimport BottomSheet, { BottomSheetFlatList, BottomSheetHandleProps } from '@gorhom/bottom-sheet';\nimport dayjs from 'dayjs';\nimport duration from 'dayjs/plugin/duration';\n\nimport type { AttachmentPickerErrorProps } from './components/AttachmentPickerError';\n\nimport { renderAttachmentPickerItem } from './components/AttachmentPickerItem';\n\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport {\n getPhotos,\n iOS14RefreshGallerySelection,\n oniOS14GalleryLibrarySelectionChange,\n} from '../../native';\nimport type { Asset } from '../../types/types';\nimport { vh } from '../../utils/utils';\n\ndayjs.extend(duration);\n\nconst styles = StyleSheet.create({\n container: {\n flexGrow: 1,\n },\n});\n\nconst screenHeight = vh(100);\nconst fullScreenHeight = Dimensions.get('window').height;\n\nexport type AttachmentPickerProps = {\n /**\n * Custom UI component to render [draggable handle](https://github.com/GetStream/stream-chat-react-native/blob/main/screenshots/docs/1.png) of attachment picker.\n *\n * **Default** [AttachmentPickerBottomSheetHandle](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.tsx)\n */\n AttachmentPickerBottomSheetHandle: React.FC<BottomSheetHandleProps>;\n /**\n * Custom UI component to render error component while opening attachment picker.\n *\n * **Default** [AttachmentPickerError](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/AttachmentPickerError.tsx)\n */\n AttachmentPickerError: React.ComponentType<AttachmentPickerErrorProps>;\n /**\n * Custom UI component to render error image for attachment picker\n *\n * **Default** [AttachmentPickerErrorImage](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/AttachmentPickerErrorImage.tsx)\n */\n AttachmentPickerErrorImage: React.ComponentType;\n /**\n * Custom UI component to render overlay component, that shows up on top of [selected image](https://github.com/GetStream/stream-chat-react-native/blob/main/screenshots/docs/1.png) (with tick mark)\n *\n * **Default** [ImageOverlaySelectedComponent](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/ImageOverlaySelectedComponent.tsx)\n */\n ImageOverlaySelectedComponent: React.ComponentType;\n attachmentPickerBottomSheetHandleHeight?: number;\n attachmentPickerBottomSheetHeight?: number;\n attachmentPickerErrorButtonText?: string;\n attachmentPickerErrorText?: string;\n numberOfAttachmentImagesToLoadPerCall?: number;\n numberOfAttachmentPickerImageColumns?: number;\n translucentStatusBar?: boolean;\n};\n\nexport const AttachmentPicker = React.forwardRef(\n (props: AttachmentPickerProps, ref: React.ForwardedRef<BottomSheet>) => {\n const {\n AttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage,\n attachmentPickerErrorText,\n ImageOverlaySelectedComponent,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n translucentStatusBar,\n } = props;\n\n const {\n theme: {\n attachmentPicker: { bottomSheetContentContainer },\n colors: { white },\n },\n } = useTheme();\n const {\n closePicker,\n maxNumberOfFiles,\n selectedFiles,\n selectedImages,\n selectedPicker,\n setSelectedFiles,\n setSelectedImages,\n setSelectedPicker,\n topInset,\n } = useAttachmentPickerContext();\n\n const [currentIndex, setCurrentIndex] = useState(-1);\n const endCursorRef = useRef<string>();\n const [photoError, setPhotoError] = useState(false);\n const [iOSLimited, setIosLimited] = useState(false);\n const hasNextPageRef = useRef(true);\n const [loadingPhotos, setLoadingPhotos] = useState(false);\n const [photos, setPhotos] = useState<Asset[]>([]);\n const attemptedToLoadPhotosOnOpenRef = useRef(false);\n const { t } = useTranslationContext();\n\n const getMorePhotos = useCallback(async () => {\n if (\n hasNextPageRef.current &&\n !loadingPhotos &&\n currentIndex > -1 &&\n selectedPicker === 'images'\n ) {\n setPhotoError(false);\n setLoadingPhotos(true);\n const endCursor = endCursorRef.current;\n try {\n const results = await getPhotos({\n after: endCursor,\n first: numberOfAttachmentImagesToLoadPerCall ?? 60,\n });\n endCursorRef.current = results.endCursor;\n setPhotos((prevPhotos) =>\n endCursor ? [...prevPhotos, ...results.assets] : results.assets,\n );\n setIosLimited(results.iOSLimited);\n hasNextPageRef.current = !!results.hasNextPage;\n } catch (error) {\n setPhotoError(true);\n }\n setLoadingPhotos(false);\n }\n }, [currentIndex, selectedPicker, loadingPhotos]);\n\n // we need to use ref here to avoid running effect when getMorePhotos changes\n const getMorePhotosRef = useRef(getMorePhotos);\n getMorePhotosRef.current = getMorePhotos;\n\n useEffect(() => {\n if (selectedPicker !== 'images') return;\n // ios 14 library selection change event is fired when user reselects the images that are permitted to be readable by the app\n const { unsubscribe } = oniOS14GalleryLibrarySelectionChange(() => {\n // we reset the cursor and has next page to true to facilitate fetching of the first page of photos again\n hasNextPageRef.current = true;\n endCursorRef.current = undefined;\n // fetch the first page of photos again\n getMorePhotosRef.current();\n });\n return unsubscribe;\n }, [selectedPicker]);\n\n useEffect(() => {\n const backAction = () => {\n if (selectedPicker) {\n setSelectedPicker(undefined);\n closePicker();\n return true;\n }\n\n return false;\n };\n\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [selectedPicker, closePicker]);\n\n useEffect(() => {\n const keyboardShowEvent = Platform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow';\n const keyboardSubscription = Keyboard.addListener(keyboardShowEvent, closePicker);\n\n return () => {\n if (keyboardSubscription?.remove) {\n keyboardSubscription.remove();\n return;\n }\n\n // To keep compatibility with older versions of React Native, where `remove()` is not available\n Keyboard.removeListener(keyboardShowEvent, closePicker);\n };\n }, [closePicker]);\n\n useEffect(() => {\n if (currentIndex < 0) {\n setSelectedPicker(undefined);\n if (!loadingPhotos) {\n endCursorRef.current = undefined;\n hasNextPageRef.current = true;\n attemptedToLoadPhotosOnOpenRef.current = false;\n setPhotoError(false);\n }\n }\n }, [currentIndex, loadingPhotos]);\n\n useEffect(() => {\n if (\n !attemptedToLoadPhotosOnOpenRef.current &&\n selectedPicker === 'images' &&\n endCursorRef.current === undefined &&\n currentIndex > -1 &&\n !loadingPhotos\n ) {\n getMorePhotos();\n // we do this only once on open for avoiding to request permissions in rationale dialog again and again on Android\n attemptedToLoadPhotosOnOpenRef.current = true;\n }\n }, [currentIndex, selectedPicker, getMorePhotos, loadingPhotos]);\n\n const selectedPhotos = photos.map((asset) => ({\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads: selectedFiles.length + selectedImages.length,\n // `id` is available for Expo MediaLibrary while Cameraroll doesn't share id therefore we use `uri`\n selected:\n selectedImages.some((image) =>\n image.id ? image.id === asset.id : image.uri === asset.uri,\n ) ||\n selectedFiles.some((file) => (file.id ? file.id === asset.id : file.uri === asset.uri)),\n selectedFiles,\n selectedImages,\n setSelectedFiles,\n setSelectedImages,\n }));\n\n const handleHeight = attachmentPickerBottomSheetHandleHeight || 20;\n\n /**\n * This is to handle issues with Android measurements coming back incorrect.\n * If the StatusBar height is perfectly 1/2 of the difference between the two\n * dimensions for screen and window, it is incorrect and we need to account for\n * this. If you use a translucent header bar more adjustments are needed.\n */\n const getAndroidBottomBarHeightAdjustment = (): number => {\n if (Platform.OS === 'android') {\n const statusBarHeight = StatusBar.currentHeight ?? 0;\n const bottomBarHeight = fullScreenHeight - screenHeight - statusBarHeight;\n if (bottomBarHeight === statusBarHeight) {\n return translucentStatusBar ? 0 : statusBarHeight;\n } else {\n if (translucentStatusBar) {\n if (bottomBarHeight > statusBarHeight) {\n return -bottomBarHeight + statusBarHeight;\n } else {\n return bottomBarHeight > 0 ? -statusBarHeight : 0;\n }\n } else {\n return bottomBarHeight > 0 ? 0 : statusBarHeight;\n }\n }\n }\n return 0;\n };\n\n const getInitialSnapPoint = (): number => {\n if (attachmentPickerBottomSheetHeight !== undefined) {\n return attachmentPickerBottomSheetHeight;\n }\n if (Platform.OS === 'android') {\n return (\n 308 +\n (fullScreenHeight - screenHeight + getAndroidBottomBarHeightAdjustment()) -\n handleHeight\n );\n } else {\n return 308 + (fullScreenHeight - screenHeight);\n }\n };\n\n const initialSnapPoint = getInitialSnapPoint();\n\n const finalSnapPoint =\n Platform.OS === 'android'\n ? fullScreenHeight - topInset - handleHeight\n : fullScreenHeight - topInset;\n\n /**\n * Snap points changing cause a rerender of the position,\n * this is an issue if you are calling close on the bottom sheet.\n */\n const snapPoints = useMemo(\n () => [initialSnapPoint, finalSnapPoint],\n [initialSnapPoint, finalSnapPoint],\n );\n\n return (\n <>\n <BottomSheet\n containerHeight={fullScreenHeight}\n enablePanDownToClose={true}\n handleComponent={\n /**\n * using `null` here instead of `style={{ opacity: photoError ? 0 : 1 }}`\n * as opacity is not an allowed style\n */\n photoError ? null : AttachmentPickerBottomSheetHandle\n }\n handleHeight={handleHeight}\n index={-1}\n onChange={setCurrentIndex}\n ref={ref}\n snapPoints={snapPoints}\n >\n {iOSLimited && (\n <Button onPress={iOS14RefreshGallerySelection} title={t('Select More Photos')} />\n )}\n <BottomSheetFlatList\n contentContainerStyle={[\n styles.container,\n { backgroundColor: white },\n bottomSheetContentContainer,\n { opacity: photoError ? 0 : 1 },\n ]}\n data={selectedPhotos}\n keyExtractor={(item) => item.asset.uri}\n numColumns={numberOfAttachmentPickerImageColumns ?? 3}\n onEndReached={photoError ? undefined : getMorePhotos}\n renderItem={renderAttachmentPickerItem}\n />\n </BottomSheet>\n {selectedPicker === 'images' && photoError && (\n <AttachmentPickerError\n attachmentPickerBottomSheetHeight={initialSnapPoint}\n attachmentPickerErrorButtonText={attachmentPickerErrorButtonText}\n AttachmentPickerErrorImage={AttachmentPickerErrorImage}\n attachmentPickerErrorText={attachmentPickerErrorText}\n />\n )}\n </>\n );\n },\n);\n\nAttachmentPicker.displayName = 'AttachmentPicker';\n"],"mappings":"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"}
@@ -48,6 +48,7 @@
48
48
  "Reply to Message": "Reply to Message",
49
49
  "Resend": "Resend",
50
50
  "Search GIFs": "Search GIFs",
51
+ "Select More Photos": "Select More Photos",
51
52
  "Send a message": "Send a message",
52
53
  "Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
53
54
  "Slow mode ON": "Slow mode ON",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "1 Reply": "1 Rรฉponse",
3
- "1 Thread Reply": "Rรฉponse ร  1 fil",
4
- "Allow access to your Gallery": "",
5
- "Also send to channel": "Envoyer รฉgalement ร  la chaรฎne",
3
+ "1 Thread Reply": "",
4
+ "Allow access to your Gallery": "Autoriser l'accรจs ร  votre galerie",
5
+ "Also send to channel": "",
6
6
  "Are you sure you want to permanently delete this message?": "",
7
7
  "Block User": "",
8
8
  "Cancel": "",
@@ -14,57 +14,58 @@
14
14
  "Edit Message": "",
15
15
  "Editing Message": "",
16
16
  "Emoji matching": "Correspondance Emoji",
17
- "Empty message...": "Message vide...",
18
- "Error loading": "Erreur lors du chargement",
19
- "Error loading channel list...": "Erreur lors du chargement de la liste de canaux...",
20
- "Error loading messages for this channel...": "Erreur lors du chargement des messages de ce canal...",
21
- "Error while loading, please reload/refresh": "Erreur lors du chargement, veuillez recharger/rafraรฎchir",
22
- "File type not supported": "Le type de fichier n'est pas pris en charge",
17
+ "Empty message...": "",
18
+ "Error loading": "",
19
+ "Error loading channel list...": "",
20
+ "Error loading messages for this channel...": "",
21
+ "Error while loading, please reload/refresh": "",
22
+ "File type not supported": "",
23
23
  "Flag": "",
24
24
  "Flag Message": "",
25
25
  "Flag action failed either due to a network issue or the message is already flagged": "",
26
26
  "Instant Commands": "Commandes Instantanรฉes",
27
- "Links are disabled": "Links are disabled",
27
+ "Links are disabled": "",
28
28
  "Loading channels...": "",
29
29
  "Loading messages...": "",
30
30
  "Loading...": "",
31
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Taille maximale de tรฉlรฉchargement de fichier atteinte. Veuillez tรฉlรฉcharger un fichier infรฉrieur ร  {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} Mo.",
31
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
32
32
  "Message Reactions": "Rรฉactions aux messages",
33
- "Message deleted": "Message supprimรฉ",
33
+ "Message deleted": "",
34
34
  "Message flagged": "",
35
35
  "Mute User": "",
36
- "Not supported": "",
37
- "Nothing yet...": "Aucun message...",
36
+ "Not supported": "Non pris en charge",
37
+ "Nothing yet...": "",
38
38
  "Ok": "",
39
- "Only visible to you": "Seulement visible par vous",
39
+ "Only visible to you": "",
40
40
  "Photo": "Photo",
41
- "Photos and Videos": "",
41
+ "Photos and Videos": "Photos et vidรฉos",
42
42
  "Pin to Conversation": "",
43
- "Pinned by": "ร‰pinglรฉ par",
44
- "Please enable access to your photos and videos so you can share them.": "",
45
- "Please select a channel first": "Veuillez d'abord selectionnez un canal",
46
- "Reconnecting...": "Se Reconnecter...",
43
+ "Pinned by": "",
44
+ "Please enable access to your photos and videos so you can share them.": "Veuillez autoriser l'accรจs ร  vos photos et vidรฉos afin de pouvoir les partager.",
45
+ "Please select a channel first": "",
46
+ "Reconnecting...": "",
47
47
  "Reply": "",
48
- "Reply to Message": "Rรฉpondre au message",
48
+ "Reply to Message": "",
49
49
  "Resend": "",
50
- "Search GIFs": "Rechercher des GIF",
51
- "Send a message": "Envoyer un message",
52
- "Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
53
- "Slow mode ON": "Mode lent activรฉ",
50
+ "Search GIFs": "",
51
+ "Select More Photos": "Sรฉlectionner plus de photos",
52
+ "Send a message": "",
53
+ "Sending links is not allowed in this conversation": "",
54
+ "Slow mode ON": "",
54
55
  "The message has been reported to a moderator.": "",
55
56
  "Thread Reply": "",
56
57
  "Unblock User": "",
57
- "Unknown User": "",
58
+ "Unknown User": "Utilisateur inconnu",
58
59
  "Unmute User": "",
59
60
  "Unpin from Conversation": "",
60
- "Unread Messages": "Messages non lus",
61
+ "Unread Messages": "",
61
62
  "Video": "Vidรฉo",
62
- "You": "Toi",
63
- "You can't send messages in this channel": "You can't send messages in this channel",
63
+ "You": "",
64
+ "You can't send messages in this channel": "",
64
65
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
65
- "{{ index }} of {{ photoLength }}": "",
66
+ "{{ index }} of {{ photoLength }}": "{{ index }} sur {{ photoLength }}",
66
67
  "{{ replyCount }} Replies": "{{ replyCount }} Rรฉponses",
67
- "{{ replyCount }} Thread Replies": "{{replyCount}} Rรฉponses ร  la discussion",
68
+ "{{ replyCount }} Thread Replies": "",
68
69
  "{{ user }} is typing": "",
69
- "๐Ÿ™ Attachment...": "๐Ÿ™ Piรจce jointe..."
70
+ "๐Ÿ™ Attachment...": ""
70
71
  }
@@ -66,6 +66,7 @@
66
66
  "{{ replyCount }} Replies": "{{ replyCount }} ืชื’ื•ื‘ื•ืช",
67
67
  "{{ replyCount }} Thread Replies": "{{ replyCount }} ืชื’ื•ื‘ื•ืช ืฉืจืฉื•ืจ",
68
68
  "{{ user }} is typing": "{{ user }} ืžืงืœื™ื“/ื”",
69
+ "Select More Photos": "ื‘ื—ืจ ืขื•ื“ ืชืžื•ื ื•ืช",
69
70
  "๐Ÿ™ Attachment...": "๐Ÿ™ ืงื•ื‘ืฅ ืžืฆื•ืจืฃ...",
70
71
  "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "ื”ื’ืขืช ืœืžื’ื‘ืœืช ื”ืขืœืืช ื’ื•ื“ืœ ื”ืงื•ื‘ืฅ ื”ืžืงืกื™ืžืœื™ืช. ืื ื ื”ืขืœื” ืงื•ื‘ืฅ ืžืชื—ืช ืœ-{{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB"
71
72
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "1 Reply": "1 เคฐเคฟเคชเฅเคฒเคพเคˆ",
3
- "1 Thread Reply": "1 เคงเคพเค—เคพ เค‰เคคเฅเคคเคฐ",
4
- "Allow access to your Gallery": "",
5
- "Also send to channel": "เคšเฅˆเคจเคฒ เค•เฅ‹ เคญเฅ€ เคญเฅ‡เคœเฅ‡เค‚",
3
+ "1 Thread Reply": "",
4
+ "Allow access to your Gallery": "เค…เคชเคจเฅ€ เค—เฅˆเคฒเคฐเฅ€ เคคเค• เคชเคนเฅเคเคšเคจเฅ‡ เค•เฅ€ เค…เคจเฅเคฎเคคเคฟ เคฆเฅ‡เค‚",
5
+ "Also send to channel": "",
6
6
  "Are you sure you want to permanently delete this message?": "",
7
7
  "Block User": "",
8
8
  "Cancel": "",
@@ -14,57 +14,58 @@
14
14
  "Edit Message": "",
15
15
  "Editing Message": "",
16
16
  "Emoji matching": "เค‡เคฎเฅ‹เคœเฅ€ เคฎเคฟเคฒเคพเคจ",
17
- "Empty message...": "เค–เคพเคฒเฅ€ เคธเค‚เคฆเฅ‡เคถ...",
18
- "Error loading": "เคฒเฅ‹เคก เคนเฅ‹เคจเฅ‡ เคฎเฅ‡ เคคเฅเคฐเฅเคŸเคฟ",
19
- "Error loading channel list...": "เคšเฅˆเคจเคฒ เคธเฅ‚เคšเฅ€ เคฒเฅ‹เคก เค•เคฐเคจเฅ‡ เคฎเฅ‡เค‚ เคคเฅเคฐเฅเคŸเคฟ...",
20
- "Error loading messages for this channel...": "เค‡เคธ เคšเฅˆเคจเคฒ เค•เฅ‡ เคฒเคฟเค เคฎเฅ‡เคธเฅ‡เคœเฅ‡เคธ เคฒเฅ‹เคก เค•เคฐเคจเฅ‡ เคฎเฅ‡เค‚ เคคเฅเคฐเฅเคŸเคฟ เคนเฅเคˆ...",
21
- "Error while loading, please reload/refresh": "เคเคฐเคฐ, เคฐเคฟเคซเฅเคฐเฅ‡เคถ เค•เคฐเฅ‡",
22
- "File type not supported": "เคซเคผเคพเค‡เคฒ เคชเฅเคฐเค•เคพเคฐ เคธเคฎเคฐเฅเคฅเคฟเคค เคจเคนเฅ€เค‚ เคนเฅˆ",
17
+ "Empty message...": "",
18
+ "Error loading": "",
19
+ "Error loading channel list...": "",
20
+ "Error loading messages for this channel...": "",
21
+ "Error while loading, please reload/refresh": "",
22
+ "File type not supported": "",
23
23
  "Flag": "",
24
24
  "Flag Message": "",
25
25
  "Flag action failed either due to a network issue or the message is already flagged": "",
26
26
  "Instant Commands": "เคคเฅเคตเคฐเคฟเคค เค•เคฎเคพเค‚เคก",
27
- "Links are disabled": "เคฒเคฟเค‚เค• เค…เค•เฅเคทเคฎ เคนเฅˆเค‚",
27
+ "Links are disabled": "",
28
28
  "Loading channels...": "",
29
29
  "Loading messages...": "",
30
30
  "Loading...": "",
31
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "เค…เคงเคฟเค•เคคเคฎ เคซเคผเคพเค‡เคฒ เค†เค•เคพเคฐ เค…เคชเคฒเฅ‹เคก เคธเฅ€เคฎเคพ เคชเฅ‚เคฐเฅ€ เคนเฅ‹ เค—เคˆเฅค เค•เฅƒเคชเคฏเคพ {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} เคเคฎเคฌเฅ€ เคธเฅ‡ เคจเฅ€เคšเฅ‡ เค•เฅ€ เคซเคผเคพเค‡เคฒ เค…เคชเคฒเฅ‹เคก เค•เคฐเฅ‡เค‚เฅค",
31
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
32
32
  "Message Reactions": "เคธเค‚เคฆเฅ‡เคถ เคชเฅเคฐเคคเคฟเค•เฅเคฐเคฟเคฏเคพเคเค",
33
- "Message deleted": "เคฎเฅˆเคธเฅ‡เคœ เคนเคŸเคพ เคฆเคฟเคฏเคพ เค—เคฏเคพ",
33
+ "Message deleted": "",
34
34
  "Message flagged": "",
35
35
  "Mute User": "",
36
- "Not supported": "",
37
- "Nothing yet...": "เค•เฅ‹เคˆ เคฎเฅˆเคธเฅ‡เคœ เคจเคนเฅ€เค‚ เคนเฅˆ...",
36
+ "Not supported": "เคธเคฎเคฐเฅเคฅเคฟเคค เคจเคนเฅ€เค‚",
37
+ "Nothing yet...": "",
38
38
  "Ok": "",
39
- "Only visible to you": "เค•เฅ‡เคตเคฒ เค†เคชเค•เฅ‹ เคฆเคฟเค–เคพเคˆ เคฆเฅ‡ เคฐเคนเคพ เคนเฅˆ",
39
+ "Only visible to you": "",
40
40
  "Photo": "เคคเคธเฅเคตเฅ€เคฐ",
41
- "Photos and Videos": "",
41
+ "Photos and Videos": "เคคเคธเฅเคตเฅ€เคฐเฅ‡เค‚ เค”เคฐ เคตเฅ€เคกเคฟเคฏเฅ‹เค‚",
42
42
  "Pin to Conversation": "",
43
- "Pinned by": "เคฆเฅเคตเคพเคฐเคพ เคชเคฟเคจ เค•เคฟเคฏเคพ เค—เคฏเคพ",
44
- "Please enable access to your photos and videos so you can share them.": "",
45
- "Please select a channel first": "เค•เฅƒเคชเคฏเคพ เคชเคนเคฒเฅ‡ เคเค• เคšเฅˆเคจเคฒ เคšเฅเคจเฅ‡เค‚",
46
- "Reconnecting...": "เคชเฅเคจเคƒ เค•เคจเฅ‡เค•เฅเคŸ เคนเฅ‹...",
43
+ "Pinned by": "",
44
+ "Please enable access to your photos and videos so you can share them.": "เค•เฅƒเคชเคฏเคพ เค…เคชเคจเฅ€ เคซเคผเฅ‹เคŸเฅ‹ เค”เคฐ เคตเฅ€เคกเคฟเคฏเฅ‹ เคคเค• เคชเคนเฅเค‚เคš เคธเค•เฅเคทเคฎ เค•เคฐเฅ‡เค‚ เคคเคพเค•เคฟ เค†เคช เค‰เคจเฅเคนเฅ‡เค‚ เคธเคพเคเคพ เค•เคฐ เคธเค•เฅ‡เค‚เฅค",
45
+ "Please select a channel first": "",
46
+ "Reconnecting...": "",
47
47
  "Reply": "",
48
- "Reply to Message": "เคธเค‚เคฆเฅ‡เคถ เค•เคพ เคœเคตเคพเคฌ เคฆเฅ‡เค‚",
48
+ "Reply to Message": "",
49
49
  "Resend": "",
50
- "Search GIFs": "GIF เค–เฅ‹เคœเฅ‡เค‚",
51
- "Send a message": "เคเค• เคธเค‚เคฆเฅ‡เคถ เคญเฅ‡เคœเฅ‡เค‚",
52
- "Sending links is not allowed in this conversation": "เค‡เคธ เคฌเคพเคคเคšเฅ€เคค เคฎเฅ‡เค‚ เคฒเคฟเค‚เค• เคญเฅ‡เคœเคจเฅ‡ เค•เฅ€ เค…เคจเฅเคฎเคคเคฟ เคจเคนเฅ€เค‚ เคนเฅˆ",
53
- "Slow mode ON": "เคธเฅเคฒเฅ‹ เคฎเฅ‹เคก เคšเคพเคฒเฅ‚",
50
+ "Search GIFs": "",
51
+ "Select More Photos": "เค…เคงเคฟเค• เคซเคผเฅ‹เคŸเฅ‹ เคšเฅเคจเฅ‡เค‚",
52
+ "Send a message": "",
53
+ "Sending links is not allowed in this conversation": "",
54
+ "Slow mode ON": "",
54
55
  "The message has been reported to a moderator.": "",
55
56
  "Thread Reply": "",
56
57
  "Unblock User": "",
57
- "Unknown User": "",
58
+ "Unknown User": "เค…เคœเฅเคžเคพเคค เค‰เคชเคฏเฅ‹เค—เค•เคฐเฅเคคเคพ",
58
59
  "Unmute User": "",
59
60
  "Unpin from Conversation": "",
60
- "Unread Messages": "เค…เคชเค เคฟเคค เคธเค‚เคฆเฅ‡เคถ",
61
+ "Unread Messages": "",
61
62
  "Video": "เคตเฅ€เคกเคฟเคฏเฅ‹",
62
- "You": "เค†เคช",
63
- "You can't send messages in this channel": "เค†เคช เค‡เคธ เคšเฅˆเคจเคฒ เคฎเฅ‡เค‚ เคธเค‚เคฆเฅ‡เคถ เคจเคนเฅ€เค‚ เคญเฅ‡เคœ เคธเค•เคคเฅ‡",
63
+ "You": "",
64
+ "You can't send messages in this channel": "",
64
65
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
65
- "{{ index }} of {{ photoLength }}": "",
66
+ "{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
66
67
  "{{ replyCount }} Replies": "{{ replyCount }} เคฐเคฟเคชเฅเคฒเคพเคˆ",
67
- "{{ replyCount }} Thread Replies": "{{ replyCount }}} เคฅเฅเคฐเฅ‡เคก เค‰เคคเฅเคคเคฐ",
68
+ "{{ replyCount }} Thread Replies": "",
68
69
  "{{ user }} is typing": "",
69
- "๐Ÿ™ Attachment...": "๐Ÿ™ เค…เคŸเฅˆเคšเคฎเฅ‡เค‚เคŸ..."
70
+ "๐Ÿ™ Attachment...": ""
70
71
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "1 Reply": "1 Risposta",
3
- "1 Thread Reply": "1 Risposta alla Discussione",
4
- "Allow access to your Gallery": "",
5
- "Also send to channel": "Invia anche al canale",
3
+ "1 Thread Reply": "",
4
+ "Allow access to your Gallery": "Consenti l'accesso alla tua galleria",
5
+ "Also send to channel": "",
6
6
  "Are you sure you want to permanently delete this message?": "",
7
7
  "Block User": "",
8
8
  "Cancel": "",
@@ -14,57 +14,58 @@
14
14
  "Edit Message": "",
15
15
  "Editing Message": "",
16
16
  "Emoji matching": "Abbinamento emoji",
17
- "Empty message...": "Message vuoto...",
18
- "Error loading": "Errore di caricamento",
19
- "Error loading channel list...": "Errore durante il caricamento della lista dei canali...",
20
- "Error loading messages for this channel...": "Errore durante il caricamento dei messaggi per questo canale...",
21
- "Error while loading, please reload/refresh": "Errore durante il caricamento, per favore ricarica la pagina",
22
- "File type not supported": "Tipo di file non supportato",
17
+ "Empty message...": "",
18
+ "Error loading": "",
19
+ "Error loading channel list...": "",
20
+ "Error loading messages for this channel...": "",
21
+ "Error while loading, please reload/refresh": "",
22
+ "File type not supported": "",
23
23
  "Flag": "",
24
24
  "Flag Message": "",
25
25
  "Flag action failed either due to a network issue or the message is already flagged": "",
26
26
  "Instant Commands": "Comandi Istantanei",
27
- "Links are disabled": "I link sono disabilitati",
27
+ "Links are disabled": "",
28
28
  "Loading channels...": "",
29
29
  "Loading messages...": "",
30
30
  "Loading...": "",
31
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "รˆ stato raggiunto il limite massimo di caricamento delle dimensioni del file. Carica un file inferiore a {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.",
31
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
32
32
  "Message Reactions": "Reazioni ai Messaggi",
33
- "Message deleted": "Messaggio cancellato",
33
+ "Message deleted": "",
34
34
  "Message flagged": "",
35
35
  "Mute User": "",
36
- "Not supported": "",
37
- "Nothing yet...": "Ancora niente...",
36
+ "Not supported": "non supportato",
37
+ "Nothing yet...": "",
38
38
  "Ok": "",
39
- "Only visible to you": "Visibile solo a te",
39
+ "Only visible to you": "",
40
40
  "Photo": "Foto",
41
- "Photos and Videos": "",
41
+ "Photos and Videos": "Foto e Video",
42
42
  "Pin to Conversation": "",
43
- "Pinned by": "Fissato da",
44
- "Please enable access to your photos and videos so you can share them.": "",
45
- "Please select a channel first": "Seleziona un canale",
46
- "Reconnecting...": "Ricollegarsi...",
43
+ "Pinned by": "",
44
+ "Please enable access to your photos and videos so you can share them.": "Abilita l'accesso alle tue foto e ai tuoi video in modo da poterli condividere.",
45
+ "Please select a channel first": "",
46
+ "Reconnecting...": "",
47
47
  "Reply": "",
48
- "Reply to Message": "Rispondi al messaggio",
48
+ "Reply to Message": "",
49
49
  "Resend": "",
50
- "Search GIFs": "Cerca GIF",
51
- "Send a message": "Mandare un messaggio",
52
- "Sending links is not allowed in this conversation": "L'invio di link non รจ consentito in questa conversazione",
53
- "Slow mode ON": "Slowmode attiva",
50
+ "Search GIFs": "",
51
+ "Select More Photos": "Seleziona Altre foto",
52
+ "Send a message": "",
53
+ "Sending links is not allowed in this conversation": "",
54
+ "Slow mode ON": "",
54
55
  "The message has been reported to a moderator.": "",
55
56
  "Thread Reply": "",
56
57
  "Unblock User": "",
57
- "Unknown User": "",
58
+ "Unknown User": "Utente sconosciuto",
58
59
  "Unmute User": "",
59
60
  "Unpin from Conversation": "",
60
- "Unread Messages": "Messaggi non letti",
61
+ "Unread Messages": "",
61
62
  "Video": "Video",
62
- "You": "Tu",
63
- "You can't send messages in this channel": "Non puoi inviare messaggi in questo canale",
63
+ "You": "",
64
+ "You can't send messages in this channel": "",
64
65
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
65
- "{{ index }} of {{ photoLength }}": "",
66
+ "{{ index }} of {{ photoLength }}": "{{ index }} di {{ photoLength }}",
66
67
  "{{ replyCount }} Replies": "{{ replyCount }} Risposte",
67
- "{{ replyCount }} Thread Replies": "{{replyCount}} Risposte alle Conversazione",
68
+ "{{ replyCount }} Thread Replies": "",
68
69
  "{{ user }} is typing": "",
69
- "๐Ÿ™ Attachment...": "๐Ÿ™ Allegato..."
70
+ "๐Ÿ™ Attachment...": ""
70
71
  }
@@ -69,6 +69,7 @@
69
69
  "Reply to Message": "ใƒกใƒƒใ‚ปใƒผใ‚ธใซ่ฟ”ไฟก",
70
70
  "๐Ÿ™ Attachment...": "๐Ÿ™ ใ‚ขใ‚ฟใƒƒใƒใƒกใƒณใƒˆ...",
71
71
  "Not supported": "ใ‚ตใƒใƒผใƒˆใ—ใฆใ„ใพใ›ใ‚“",
72
+ "Select More Photos": "ใ•ใ‚‰ใซๅ†™็œŸใ‚’้ธๆŠž",
72
73
  "File type not supported": "ใ‚ตใƒใƒผใƒˆใ•ใ‚Œใฆใ„ใชใ„ใƒ•ใ‚กใ‚คใƒซใงใ™",
73
74
  "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "ๆœ€ๅคงใƒ•ใ‚กใ‚คใƒซ ใ‚ตใ‚คใ‚บใฎใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ๅˆถ้™ใซ้”ใ—ใพใ—ใŸใ€‚ {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB ไปฅไธ‹ใฎใƒ•ใ‚กใ‚คใƒซใ‚’ใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใ—ใฆใใ ใ•ใ„"
74
75
  }
@@ -68,6 +68,7 @@
68
68
  "Reply to Message": "๋ฉ”์‹œ์ง€์— ๋‹ต์žฅ",
69
69
  "๐Ÿ™ Attachment...": "๐Ÿ™ ๋ถ€์ฐฉ...",
70
70
  "File type not supported": "์ง€์›ํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.",
71
+ "Select More Photos": "์ถ”๊ฐ€ ์‚ฌ์ง„ ์„ ํƒ",
71
72
  "Not supported": "์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค",
72
73
  "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "์ตœ๋Œ€ ํŒŒ์ผ ํฌ๊ธฐ ์—…๋กœ๋“œ ์ œํ•œ์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}}MB ๋ฏธ๋งŒ์˜ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜์„ธ์š”."
73
74
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "1 Reply": "1 Antwoord",
3
- "1 Thread Reply": "1 thread antwoord",
4
- "Allow access to your Gallery": "",
5
- "Also send to channel": "Stuur ook naar kanaal",
3
+ "1 Thread Reply": "",
4
+ "Allow access to your Gallery": "Geef toegang tot uw galerij",
5
+ "Also send to channel": "",
6
6
  "Are you sure you want to permanently delete this message?": "",
7
7
  "Block User": "",
8
8
  "Cancel": "",
@@ -14,57 +14,58 @@
14
14
  "Edit Message": "",
15
15
  "Editing Message": "",
16
16
  "Emoji matching": "Emoji-overeenkomsten",
17
- "Empty message...": "Leeg bericht...",
18
- "Error loading": "Probleem bij het laden",
19
- "Error loading channel list...": "Probleem bij het laden van de kanalen...",
20
- "Error loading messages for this channel...": "Probleem bij het laden van de berichten in dit kanaal...",
21
- "Error while loading, please reload/refresh": "Probleem bij het laden, probeer opnieuw",
22
- "File type not supported": "Bestandstype niet ondersteund",
17
+ "Empty message...": "",
18
+ "Error loading": "",
19
+ "Error loading channel list...": "",
20
+ "Error loading messages for this channel...": "",
21
+ "Error while loading, please reload/refresh": "",
22
+ "File type not supported": "",
23
23
  "Flag": "",
24
24
  "Flag Message": "",
25
25
  "Flag action failed either due to a network issue or the message is already flagged": "",
26
26
  "Instant Commands": "Directe Opdrachten",
27
- "Links are disabled": "Het versturen van links staat uit",
27
+ "Links are disabled": "",
28
28
  "Loading channels...": "",
29
29
  "Loading messages...": "",
30
30
  "Loading...": "",
31
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Maximale uploadlimiet voor bestandsgrootte bereikt. Upload een bestand van minder dan {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.",
31
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
32
32
  "Message Reactions": "Bericht Reacties",
33
- "Message deleted": "Bericht verwijderd",
33
+ "Message deleted": "",
34
34
  "Message flagged": "",
35
35
  "Mute User": "",
36
- "Not supported": "",
37
- "Nothing yet...": "Nog niets...",
36
+ "Not supported": "niet ondersteund",
37
+ "Nothing yet...": "",
38
38
  "Ok": "",
39
- "Only visible to you": "Alleen zichtbaar voor jou",
39
+ "Only visible to you": "",
40
40
  "Photo": "Foto",
41
- "Photos and Videos": "",
41
+ "Photos and Videos": "Foto's en video's",
42
42
  "Pin to Conversation": "",
43
- "Pinned by": "Vastgemaakt door",
44
- "Please enable access to your photos and videos so you can share them.": "",
45
- "Please select a channel first": "Selecteer eerst een kanaal",
46
- "Reconnecting...": "Opnieuw Verbinding Maken...",
43
+ "Pinned by": "",
44
+ "Please enable access to your photos and videos so you can share them.": "Schakel toegang tot uw foto's en video's in zodat u ze kunt delen.",
45
+ "Please select a channel first": "",
46
+ "Reconnecting...": "",
47
47
  "Reply": "",
48
- "Reply to Message": "Beantwoord bericht",
48
+ "Reply to Message": "",
49
49
  "Resend": "",
50
- "Search GIFs": "Zoek GIF's",
51
- "Send a message": "Stuur een bericht",
52
- "Sending links is not allowed in this conversation": "In dit gesprek is het niet toegestaan links te versturen",
53
- "Slow mode ON": "Langzame modus aan",
50
+ "Search GIFs": "",
51
+ "Select More Photos": "Selecteer Meer foto's",
52
+ "Send a message": "",
53
+ "Sending links is not allowed in this conversation": "",
54
+ "Slow mode ON": "",
54
55
  "The message has been reported to a moderator.": "",
55
56
  "Thread Reply": "",
56
57
  "Unblock User": "",
57
- "Unknown User": "",
58
+ "Unknown User": "Onbekende gebruiker",
58
59
  "Unmute User": "",
59
60
  "Unpin from Conversation": "",
60
- "Unread Messages": "Ongelezen Berichten",
61
+ "Unread Messages": "",
61
62
  "Video": "Video",
62
- "You": "U",
63
- "You can't send messages in this channel": "Je kan geen berichten sturen in dit kanaal",
63
+ "You": "",
64
+ "You can't send messages in this channel": "",
64
65
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
65
- "{{ index }} of {{ photoLength }}": "",
66
+ "{{ index }} of {{ photoLength }}": "{{ index }} van {{ photoLength }}",
66
67
  "{{ replyCount }} Replies": "{{ replyCount }} Antwoorden",
67
- "{{ replyCount }} Thread Replies": "{{replyCount}} Discussiereacties",
68
+ "{{ replyCount }} Thread Replies": "",
68
69
  "{{ user }} is typing": "",
69
- "๐Ÿ™ Attachment...": "๐Ÿ™ Bijlage..."
70
+ "๐Ÿ™ Attachment...": ""
70
71
  }