stream-chat-react-native-core 5.23.0 → 5.23.1-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.
Files changed (48) hide show
  1. package/lib/commonjs/components/Message/Message.js +15 -8
  2. package/lib/commonjs/components/Message/Message.js.map +1 -1
  3. package/lib/commonjs/components/Reply/Reply.js +15 -10
  4. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  5. package/lib/commonjs/i18n/en.json +1 -1
  6. package/lib/commonjs/i18n/fr.json +63 -63
  7. package/lib/commonjs/i18n/hi.json +63 -63
  8. package/lib/commonjs/i18n/it.json +63 -63
  9. package/lib/commonjs/i18n/nl.json +63 -63
  10. package/lib/commonjs/i18n/ru.json +63 -63
  11. package/lib/commonjs/i18n/tr.json +63 -63
  12. package/lib/commonjs/utils/utils.js +12 -3
  13. package/lib/commonjs/utils/utils.js.map +1 -1
  14. package/lib/commonjs/version.json +1 -1
  15. package/lib/module/components/Message/Message.js +15 -8
  16. package/lib/module/components/Message/Message.js.map +1 -1
  17. package/lib/module/components/Reply/Reply.js +15 -10
  18. package/lib/module/components/Reply/Reply.js.map +1 -1
  19. package/lib/module/i18n/en.json +1 -1
  20. package/lib/module/i18n/fr.json +63 -63
  21. package/lib/module/i18n/hi.json +63 -63
  22. package/lib/module/i18n/it.json +63 -63
  23. package/lib/module/i18n/nl.json +63 -63
  24. package/lib/module/i18n/ru.json +63 -63
  25. package/lib/module/i18n/tr.json +63 -63
  26. package/lib/module/utils/utils.js +12 -3
  27. package/lib/module/utils/utils.js.map +1 -1
  28. package/lib/module/version.json +1 -1
  29. package/lib/typescript/i18n/en.json +1 -1
  30. package/lib/typescript/i18n/fr.json +63 -63
  31. package/lib/typescript/i18n/hi.json +63 -63
  32. package/lib/typescript/i18n/it.json +63 -63
  33. package/lib/typescript/i18n/nl.json +63 -63
  34. package/lib/typescript/i18n/ru.json +63 -63
  35. package/lib/typescript/i18n/tr.json +63 -63
  36. package/lib/typescript/utils/utils.d.ts +1 -1
  37. package/package.json +2 -1
  38. package/src/components/Message/Message.tsx +8 -4
  39. package/src/components/Reply/Reply.tsx +10 -3
  40. package/src/i18n/en.json +1 -1
  41. package/src/i18n/fr.json +63 -63
  42. package/src/i18n/hi.json +63 -63
  43. package/src/i18n/it.json +63 -63
  44. package/src/i18n/nl.json +63 -63
  45. package/src/i18n/ru.json +63 -63
  46. package/src/i18n/tr.json +63 -63
  47. package/src/utils/utils.ts +18 -5
  48. package/src/version.json +1 -1
@@ -117,17 +117,22 @@ var ReplyWithContext = function ReplyWithContext(props) {
117
117
  _useTheme$theme$reply2 = _useTheme$theme$reply.videoThumbnail,
118
118
  videoThumbnailContainerStyle = _useTheme$theme$reply2.container,
119
119
  videoThumbnailImageStyle = _useTheme$theme$reply2.image;
120
+ var messageText = typeof quotedMessage === 'boolean' ? '' : quotedMessage.text || '';
121
+ var emojiOnlyText = (0, _react.useMemo)(function () {
122
+ if (!messageText) return false;
123
+ return (0, _utils.hasOnlyEmojis)(messageText);
124
+ }, [messageText]);
120
125
  if (typeof quotedMessage === 'boolean') return null;
121
126
  var lastAttachment = (_quotedMessage$attach = quotedMessage.attachments) == null ? void 0 : _quotedMessage$attach.slice(-1)[0];
122
127
  var messageType = lastAttachment && getMessageType(lastAttachment);
123
128
  var hasImage = !error && lastAttachment && messageType !== 'file' && messageType !== 'video' && (lastAttachment.image_url || lastAttachment.thumb_url || lastAttachment.og_scrape_url);
124
- var onlyEmojis = !lastAttachment && !!quotedMessage.text && _utils.emojiRegex.test(quotedMessage.text);
129
+ var onlyEmojis = !lastAttachment && emojiOnlyText;
125
130
  return _react["default"].createElement(_reactNative.View, {
126
131
  style: [styles.container, container, stylesProp.container],
127
132
  __self: _this,
128
133
  __source: {
129
134
  fileName: _jsxFileName,
130
- lineNumber: 169,
135
+ lineNumber: 176,
131
136
  columnNumber: 5
132
137
  }
133
138
  }, _react["default"].createElement(MessageAvatar, {
@@ -138,7 +143,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
138
143
  __self: _this,
139
144
  __source: {
140
145
  fileName: _jsxFileName,
141
- lineNumber: 170,
146
+ lineNumber: 177,
142
147
  columnNumber: 7
143
148
  }
144
149
  }), _react["default"].createElement(_reactNative.View, {
@@ -150,7 +155,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
150
155
  __self: _this,
151
156
  __source: {
152
157
  fileName: _jsxFileName,
153
- lineNumber: 171,
158
+ lineNumber: 178,
154
159
  columnNumber: 7
155
160
  }
156
161
  }, !error && lastAttachment ? messageType === 'file' ? _react["default"].createElement(_reactNative.View, {
@@ -158,7 +163,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
158
163
  __self: _this,
159
164
  __source: {
160
165
  fileName: _jsxFileName,
161
- lineNumber: 186,
166
+ lineNumber: 193,
162
167
  columnNumber: 13
163
168
  }
164
169
  }, _react["default"].createElement(FileAttachmentIcon, {
@@ -167,7 +172,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
167
172
  __self: _this,
168
173
  __source: {
169
174
  fileName: _jsxFileName,
170
- lineNumber: 193,
175
+ lineNumber: 200,
171
176
  columnNumber: 15
172
177
  }
173
178
  })) : hasImage ? _react["default"].createElement(_reactNative.Image, {
@@ -185,7 +190,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
185
190
  __self: _this,
186
191
  __source: {
187
192
  fileName: _jsxFileName,
188
- lineNumber: 196,
193
+ lineNumber: 203,
189
194
  columnNumber: 13
190
195
  }
191
196
  }) : null : null, messageType === 'video' && !lastAttachment.og_scrape_url ? _react["default"].createElement(_VideoThumbnail.VideoThumbnail, {
@@ -195,7 +200,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
195
200
  __self: _this,
196
201
  __source: {
197
202
  fileName: _jsxFileName,
198
- lineNumber: 218,
203
+ lineNumber: 225,
199
204
  columnNumber: 11
200
205
  }
201
206
  }) : null, _react["default"].createElement(_MessageTextContainer.MessageTextContainer, {
@@ -218,7 +223,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
218
223
  __self: _this,
219
224
  __source: {
220
225
  fileName: _jsxFileName,
221
- lineNumber: 224,
226
+ lineNumber: 231,
222
227
  columnNumber: 9
223
228
  }
224
229
  })));
@@ -258,7 +263,7 @@ var Reply = function Reply(props) {
258
263
  __self: _this,
259
264
  __source: {
260
265
  fileName: _jsxFileName,
261
- lineNumber: 349,
266
+ lineNumber: 356,
262
267
  columnNumber: 5
263
268
  }
264
269
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_merge","_interopRequireDefault","_MessageContext","_MessageInputContext","_MessagesContext","_ThemeContext","_TranslationContext","_getResizedImageUrl","_utils","_FileIcon","_VideoThumbnail","_MessageAvatar","_MessageTextContainer","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","alignItems","flexDirection","fileAttachmentContainer","paddingLeft","paddingVertical","imageAttachment","borderRadius","height","marginLeft","marginVertical","width","messageContainer","borderBottomLeftRadius","borderBottomRightRadius","borderTopLeftRadius","borderTopRightRadius","flexGrow","flexShrink","text","fontSize","textContainer","maxWidth","undefined","paddingHorizontal","videoThumbnailContainerStyle","videoThumbnailImageStyle","getMessageType","lastAttachment","messageType","isLastAttachmentFile","type","isLastAttachmentVideo","isLastAttachmentGiphy","isLastAttachmentImageOrGiphy","title_link","og_scrape_url","isLastAttachmentImage","image_url","thumb_url","ReplyWithContext","props","_quotedMessage$attach","_stylesProp$imageAtta","_stylesProp$imageAtta2","_stylesProp$imageAtta3","_stylesProp$imageAtta4","_stylesProp$fileAttac","FileAttachmentIcon","_props$attachmentSize","attachmentSize","MessageAvatar","quotedMessage","_props$styles","stylesProp","t","_useState","useState","_useState2","_slicedToArray2","error","setError","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","blue_alice","border","grey","transparent","white","deletedText","messageSimple","content","_useTheme$theme$reply","reply","markdownStyles","_useTheme$theme$reply2","videoThumbnail","image","attachments","slice","hasImage","onlyEmojis","emojiRegex","test","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","alignment","lastGroupMessage","message","size","backgroundColor","borderColor","borderWidth","mimeType","mime_type","Image","onError","source","uri","getResizedImageUrl","url","VideoThumbnail","imageStyle","MessageTextContainer","merge","em","color","_extends2","length","title","marginRight","Number","useMessageInputContextIfAvailable","contextValue","useContext","MessageInputContext","areEqual","prevProps","nextProps","prevQuotedMessage","nextQuotedMessage","quotedMessageEqual","id","deleted_at","MemoizedReply","React","memo","Reply","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_useMessagesContext$F","FileIconDefault","_useMessagesContext$M","MessageAvatarDefault","_useMessageInputConte","editing","quotedEditingMessage","quoted_message","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["Reply.tsx"],"sourcesContent":["import React, { useContext, useState } from 'react';\nimport { Image, ImageStyle, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport merge from 'lodash/merge';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { useMessageContext } from '../../contexts/messageContext/MessageContext';\nimport {\n MessageInputContext,\n MessageInputContextValue,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getResizedImageUrl } from '../../utils/getResizedImageUrl';\nimport { emojiRegex } from '../../utils/utils';\n\nimport { FileIcon as FileIconDefault } from '../Attachment/FileIcon';\nimport { VideoThumbnail } from '../Attachment/VideoThumbnail';\nimport { MessageAvatar as MessageAvatarDefault } from '../Message/MessageSimple/MessageAvatar';\nimport { MessageTextContainer } from '../Message/MessageSimple/MessageTextContainer';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n fileAttachmentContainer: { paddingLeft: 8, paddingVertical: 8 },\n imageAttachment: {\n borderRadius: 8,\n height: 32,\n marginLeft: 8,\n marginVertical: 8,\n width: 32,\n },\n messageContainer: {\n alignItems: 'flex-start',\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 12,\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n flexDirection: 'row',\n flexGrow: 1,\n flexShrink: 1,\n },\n text: { fontSize: 12 },\n textContainer: { maxWidth: undefined, paddingHorizontal: 8 },\n videoThumbnailContainerStyle: {\n borderRadius: 8,\n height: 50,\n marginLeft: 8,\n marginVertical: 8,\n width: 50,\n },\n videoThumbnailImageStyle: {\n borderRadius: 10,\n },\n});\n\ntype ReplyPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageInputContextValue<StreamChatGenerics>, 'quotedMessage'> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'FileAttachmentIcon' | 'MessageAvatar'> &\n Pick<TranslationContextValue, 't'> & {\n attachmentSize?: number;\n styles?: Partial<{\n container: ViewStyle;\n fileAttachmentContainer: ViewStyle;\n imageAttachment: ImageStyle;\n messageContainer: ViewStyle;\n textContainer: ViewStyle;\n }>;\n };\n\nconst getMessageType = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n lastAttachment: Attachment<StreamChatGenerics>,\n) => {\n let messageType;\n\n const isLastAttachmentFile = lastAttachment.type === 'file' || lastAttachment.type === 'audio';\n\n const isLastAttachmentVideo = lastAttachment.type === 'video';\n\n const isLastAttachmentGiphy =\n lastAttachment?.type === 'giphy' || lastAttachment?.type === 'imgur';\n\n const isLastAttachmentImageOrGiphy =\n lastAttachment?.type === 'image' &&\n !lastAttachment?.title_link &&\n !lastAttachment?.og_scrape_url;\n\n const isLastAttachmentImage = lastAttachment?.image_url || lastAttachment?.thumb_url;\n\n if (isLastAttachmentFile) {\n messageType = 'file';\n } else if (isLastAttachmentVideo) {\n messageType = 'video';\n } else if (isLastAttachmentImageOrGiphy) {\n if (isLastAttachmentImage) messageType = 'image';\n else messageType = undefined;\n } else if (isLastAttachmentGiphy) messageType = 'giphy';\n else messageType = 'other';\n\n return messageType;\n};\n\nconst ReplyWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReplyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n FileAttachmentIcon,\n attachmentSize = 40,\n MessageAvatar,\n quotedMessage,\n styles: stylesProp = {},\n t,\n } = props;\n\n const [error, setError] = useState(false);\n\n const {\n theme: {\n colors: { blue_alice, border, grey, transparent, white },\n messageSimple: {\n content: { deletedText },\n },\n reply: {\n container,\n fileAttachmentContainer,\n imageAttachment,\n markdownStyles,\n messageContainer,\n textContainer,\n videoThumbnail: {\n container: videoThumbnailContainerStyle,\n image: videoThumbnailImageStyle,\n },\n },\n },\n } = useTheme();\n\n if (typeof quotedMessage === 'boolean') return null;\n\n const lastAttachment = quotedMessage.attachments?.slice(-1)[0] as Attachment<StreamChatGenerics>;\n const messageType = lastAttachment && getMessageType(lastAttachment);\n\n const hasImage =\n !error &&\n lastAttachment &&\n messageType !== 'file' &&\n messageType !== 'video' &&\n (lastAttachment.image_url || lastAttachment.thumb_url || lastAttachment.og_scrape_url);\n\n const onlyEmojis = !lastAttachment && !!quotedMessage.text && emojiRegex.test(quotedMessage.text);\n\n return (\n <View style={[styles.container, container, stylesProp.container]}>\n <MessageAvatar alignment={'left'} lastGroupMessage message={quotedMessage} size={24} />\n <View\n style={[\n styles.messageContainer,\n {\n backgroundColor:\n messageType === 'other' ? blue_alice : messageType === 'giphy' ? transparent : white,\n borderColor: border,\n borderWidth: messageType === 'other' ? 0 : 1,\n },\n messageContainer,\n stylesProp.messageContainer,\n ]}\n >\n {!error && lastAttachment ? (\n messageType === 'file' ? (\n <View\n style={[\n styles.fileAttachmentContainer,\n fileAttachmentContainer,\n stylesProp.fileAttachmentContainer,\n ]}\n >\n <FileAttachmentIcon mimeType={lastAttachment.mime_type} size={attachmentSize} />\n </View>\n ) : hasImage ? (\n <Image\n onError={() => setError(true)}\n source={{\n uri: getResizedImageUrl({\n height:\n stylesProp.imageAttachment?.height ||\n imageAttachment?.height ||\n styles.imageAttachment.height,\n url: (lastAttachment.image_url ||\n lastAttachment.thumb_url ||\n lastAttachment.og_scrape_url) as string,\n width:\n stylesProp.imageAttachment?.width ||\n imageAttachment?.width ||\n styles.imageAttachment.width,\n }),\n }}\n style={[styles.imageAttachment, imageAttachment, stylesProp.imageAttachment]}\n />\n ) : null\n ) : null}\n {messageType === 'video' && !lastAttachment.og_scrape_url ? (\n <VideoThumbnail\n imageStyle={[styles.videoThumbnailImageStyle, videoThumbnailImageStyle]}\n style={[styles.videoThumbnailContainerStyle, videoThumbnailContainerStyle]}\n thumb_url={lastAttachment.thumb_url}\n />\n ) : null}\n <MessageTextContainer<StreamChatGenerics>\n markdownStyles={\n quotedMessage.type === 'deleted'\n ? merge({ em: { color: grey } }, deletedText)\n : { text: styles.text, ...markdownStyles }\n }\n message={{\n ...quotedMessage,\n text:\n quotedMessage.type === 'deleted'\n ? `_${t('Message deleted')}_`\n : quotedMessage.text\n ? quotedMessage.text.length > 170\n ? `${quotedMessage.text.slice(0, 170)}...`\n : quotedMessage.text\n : messageType === 'image'\n ? t('Photo')\n : messageType === 'video'\n ? t('Video')\n : messageType === 'file'\n ? lastAttachment?.title || ''\n : '',\n }}\n onlyEmojis={onlyEmojis}\n styles={{\n textContainer: [\n {\n marginRight:\n hasImage || messageType === 'video'\n ? Number(\n stylesProp.imageAttachment?.height ||\n imageAttachment.height ||\n styles.imageAttachment.height,\n ) +\n Number(\n stylesProp.imageAttachment?.marginLeft ||\n imageAttachment.marginLeft ||\n styles.imageAttachment.marginLeft,\n )\n : messageType === 'file'\n ? attachmentSize +\n Number(\n stylesProp.fileAttachmentContainer?.paddingLeft ||\n fileAttachmentContainer.paddingLeft ||\n styles.fileAttachmentContainer.paddingLeft,\n )\n : undefined,\n },\n styles.textContainer,\n textContainer,\n stylesProp.textContainer,\n ],\n }}\n />\n </View>\n </View>\n );\n};\n\n/**\n * When a reply is rendered in a MessageSimple, it does\n * not have a MessageInputContext. As this is deliberate,\n * this function exists to avoid the error thrown when\n * using a context outside of its provider.\n * */\nconst useMessageInputContextIfAvailable = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const contextValue = useContext(\n MessageInputContext,\n ) as unknown as MessageInputContextValue<StreamChatGenerics>;\n\n return contextValue;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ReplyPropsWithContext<StreamChatGenerics>,\n nextProps: ReplyPropsWithContext<StreamChatGenerics>,\n) => {\n const { quotedMessage: prevQuotedMessage } = prevProps;\n const { quotedMessage: nextQuotedMessage } = nextProps;\n\n const quotedMessageEqual =\n !!prevQuotedMessage &&\n !!nextQuotedMessage &&\n typeof prevQuotedMessage !== 'boolean' &&\n typeof nextQuotedMessage !== 'boolean'\n ? prevQuotedMessage.id === nextQuotedMessage.id &&\n prevQuotedMessage.deleted_at === nextQuotedMessage.deleted_at &&\n prevQuotedMessage.type === nextQuotedMessage.type\n : !!prevQuotedMessage === !!nextQuotedMessage;\n\n if (!quotedMessageEqual) return false;\n\n return true;\n};\n\nconst MemoizedReply = React.memo(ReplyWithContext, areEqual) as typeof ReplyWithContext;\n\nexport type ReplyProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ReplyPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI Component for reply\n */\nexport const Reply = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReplyProps<StreamChatGenerics>,\n) => {\n const { message } = useMessageContext<StreamChatGenerics>();\n\n const { FileAttachmentIcon = FileIconDefault, MessageAvatar = MessageAvatarDefault } =\n useMessagesContext<StreamChatGenerics>();\n\n const { editing, quotedMessage } = useMessageInputContextIfAvailable<StreamChatGenerics>();\n\n const quotedEditingMessage = (\n typeof editing !== 'boolean' ? editing?.quoted_message || false : false\n ) as MessageInputContextValue<StreamChatGenerics>['quotedMessage'];\n\n const { t } = useTranslationContext();\n\n return (\n <MemoizedReply\n {...{\n FileAttachmentIcon,\n MessageAvatar,\n quotedMessage: message\n ? (message.quoted_message as MessageInputContextValue<StreamChatGenerics>['quotedMessage'])\n : quotedMessage || quotedEditingMessage,\n t,\n }}\n {...props}\n />\n );\n};\n\nReply.displayName = 'Reply{reply}';\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAIA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AAIA,IAAAM,gBAAA,GAAAN,OAAA;AAIA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,mBAAA,GAAAR,OAAA;AAKA,IAAAS,mBAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AAEA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,eAAA,GAAAZ,OAAA;AACA,IAAAa,cAAA,GAAAb,OAAA;AACA,IAAAc,qBAAA,GAAAd,OAAA;AAAqF,IAAAe,KAAA;EAAAC,YAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAnB,wBAAAuB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAErF,IAAMW,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,UAAU,EAAE,UAAU;IACtBC,aAAa,EAAE;EACjB,CAAC;EACDC,uBAAuB,EAAE;IAAEC,WAAW,EAAE,CAAC;IAAEC,eAAe,EAAE;EAAE,CAAC;EAC/DC,eAAe,EAAE;IACfC,YAAY,EAAE,CAAC;IACfC,MAAM,EAAE,EAAE;IACVC,UAAU,EAAE,CAAC;IACbC,cAAc,EAAE,CAAC;IACjBC,KAAK,EAAE;EACT,CAAC;EACDC,gBAAgB,EAAE;IAChBX,UAAU,EAAE,YAAY;IACxBY,sBAAsB,EAAE,CAAC;IACzBC,uBAAuB,EAAE,EAAE;IAC3BC,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE,EAAE;IACxBd,aAAa,EAAE,KAAK;IACpBe,QAAQ,EAAE,CAAC;IACXC,UAAU,EAAE;EACd,CAAC;EACDC,IAAI,EAAE;IAAEC,QAAQ,EAAE;EAAG,CAAC;EACtBC,aAAa,EAAE;IAAEC,QAAQ,EAAEC,SAAS;IAAEC,iBAAiB,EAAE;EAAE,CAAC;EAC5DC,4BAA4B,EAAE;IAC5BlB,YAAY,EAAE,CAAC;IACfC,MAAM,EAAE,EAAE;IACVC,UAAU,EAAE,CAAC;IACbC,cAAc,EAAE,CAAC;IACjBC,KAAK,EAAE;EACT,CAAC;EACDe,wBAAwB,EAAE;IACxBnB,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAiBF,IAAMoB,cAAc,GAAG,SAAjBA,cAAcA,CAGlBC,cAA8C,EAC3C;EACH,IAAIC,WAAW;EAEf,IAAMC,oBAAoB,GAAGF,cAAc,CAACG,IAAI,KAAK,MAAM,IAAIH,cAAc,CAACG,IAAI,KAAK,OAAO;EAE9F,IAAMC,qBAAqB,GAAGJ,cAAc,CAACG,IAAI,KAAK,OAAO;EAE7D,IAAME,qBAAqB,GACzB,CAAAL,cAAc,oBAAdA,cAAc,CAAEG,IAAI,MAAK,OAAO,IAAI,CAAAH,cAAc,oBAAdA,cAAc,CAAEG,IAAI,MAAK,OAAO;EAEtE,IAAMG,4BAA4B,GAChC,CAAAN,cAAc,oBAAdA,cAAc,CAAEG,IAAI,MAAK,OAAO,IAChC,EAACH,cAAc,YAAdA,cAAc,CAAEO,UAAU,KAC3B,EAACP,cAAc,YAAdA,cAAc,CAAEQ,aAAa;EAEhC,IAAMC,qBAAqB,GAAG,CAAAT,cAAc,oBAAdA,cAAc,CAAEU,SAAS,MAAIV,cAAc,oBAAdA,cAAc,CAAEW,SAAS;EAEpF,IAAIT,oBAAoB,EAAE;IACxBD,WAAW,GAAG,MAAM;EACtB,CAAC,MAAM,IAAIG,qBAAqB,EAAE;IAChCH,WAAW,GAAG,OAAO;EACvB,CAAC,MAAM,IAAIK,4BAA4B,EAAE;IACvC,IAAIG,qBAAqB,EAAER,WAAW,GAAG,OAAO,CAAC,KAC5CA,WAAW,GAAGN,SAAS;EAC9B,CAAC,MAAM,IAAIU,qBAAqB,EAAEJ,WAAW,GAAG,OAAO,CAAC,KACnDA,WAAW,GAAG,OAAO;EAE1B,OAAOA,WAAW;AACpB,CAAC;AAED,IAAMW,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAGpBC,KAAgD,EAC7C;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,qBAAA;EACH,IACEC,kBAAkB,GAMhBP,KAAK,CANPO,kBAAkB;IAAAC,qBAAA,GAMhBR,KAAK,CALPS,cAAc;IAAdA,cAAc,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IACnBE,aAAa,GAIXV,KAAK,CAJPU,aAAa;IACbC,aAAa,GAGXX,KAAK,CAHPW,aAAa;IAAAC,aAAA,GAGXZ,KAAK,CAFP5C,MAAM;IAAEyD,UAAU,GAAAD,aAAA,cAAG,CAAC,CAAC,GAAAA,aAAA;IACvBE,CAAC,GACCd,KAAK,CADPc,CAAC;EAGH,IAAAC,SAAA,GAA0B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAAlCI,KAAK,GAAAF,UAAA;IAAEG,QAAQ,GAAAH,UAAA;EAEtB,IAAAI,SAAA,GAmBI,IAAAC,sBAAQ,EAAC,CAAC;IAAAC,eAAA,GAAAF,SAAA,CAlBZG,KAAK;IAAAC,qBAAA,GAAAF,eAAA,CACHG,MAAM;IAAIC,UAAU,GAAAF,qBAAA,CAAVE,UAAU;IAAEC,MAAM,GAAAH,qBAAA,CAANG,MAAM;IAAEC,IAAI,GAAAJ,qBAAA,CAAJI,IAAI;IAAEC,WAAW,GAAAL,qBAAA,CAAXK,WAAW;IAAEC,KAAK,GAAAN,qBAAA,CAALM,KAAK;IAEzCC,WAAW,GAAAT,eAAA,CADxBU,aAAa,CACXC,OAAO,CAAIF,WAAW;IAAAG,qBAAA,GAAAZ,eAAA,CAExBa,KAAK;IACH7E,SAAS,GAAA4E,qBAAA,CAAT5E,SAAS;IACTG,uBAAuB,GAAAyE,qBAAA,CAAvBzE,uBAAuB;IACvBG,eAAe,GAAAsE,qBAAA,CAAftE,eAAe;IACfwE,cAAc,GAAAF,qBAAA,CAAdE,cAAc;IACdlE,gBAAgB,GAAAgE,qBAAA,CAAhBhE,gBAAgB;IAChBS,aAAa,GAAAuD,qBAAA,CAAbvD,aAAa;IAAA0D,sBAAA,GAAAH,qBAAA,CACbI,cAAc;IACDvD,4BAA4B,GAAAsD,sBAAA,CAAvC/E,SAAS;IACF0B,wBAAwB,GAAAqD,sBAAA,CAA/BE,KAAK;EAMb,IAAI,OAAO7B,aAAa,KAAK,SAAS,EAAE,OAAO,IAAI;EAEnD,IAAMxB,cAAc,IAAAc,qBAAA,GAAGU,aAAa,CAAC8B,WAAW,qBAAzBxC,qBAAA,CAA2ByC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAmC;EAChG,IAAMtD,WAAW,GAAGD,cAAc,IAAID,cAAc,CAACC,cAAc,CAAC;EAEpE,IAAMwD,QAAQ,GACZ,CAACxB,KAAK,IACNhC,cAAc,IACdC,WAAW,KAAK,MAAM,IACtBA,WAAW,KAAK,OAAO,KACtBD,cAAc,CAACU,SAAS,IAAIV,cAAc,CAACW,SAAS,IAAIX,cAAc,CAACQ,aAAa,CAAC;EAExF,IAAMiD,UAAU,GAAG,CAACzD,cAAc,IAAI,CAAC,CAACwB,aAAa,CAACjC,IAAI,IAAImE,iBAAU,CAACC,IAAI,CAACnC,aAAa,CAACjC,IAAI,CAAC;EAEjG,OACE/D,MAAA,YAAAoI,aAAA,CAACjI,YAAA,CAAAkI,IAAI;IAACC,KAAK,EAAE,CAAC7F,MAAM,CAACG,SAAS,EAAEA,SAAS,EAAEsD,UAAU,CAACtD,SAAS,CAAE;IAAA2F,MAAA,EAAAtH,KAAA;IAAAuH,QAAA;MAAAC,QAAA,EAAAvH,YAAA;MAAAwH,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC/D3I,MAAA,YAAAoI,aAAA,CAACrC,aAAa;IAAC6C,SAAS,EAAE,MAAO;IAACC,gBAAgB;IAACC,OAAO,EAAE9C,aAAc;IAAC+C,IAAI,EAAE,EAAG;IAAAR,MAAA,EAAAtH,KAAA;IAAAuH,QAAA;MAAAC,QAAA,EAAAvH,YAAA;MAAAwH,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EACvF3I,MAAA,YAAAoI,aAAA,CAACjI,YAAA,CAAAkI,IAAI;IACHC,KAAK,EAAE,CACL7F,MAAM,CAACe,gBAAgB,EACvB;MACEwF,eAAe,EACbvE,WAAW,KAAK,OAAO,GAAGuC,UAAU,GAAGvC,WAAW,KAAK,OAAO,GAAG0C,WAAW,GAAGC,KAAK;MACtF6B,WAAW,EAAEhC,MAAM;MACnBiC,WAAW,EAAEzE,WAAW,KAAK,OAAO,GAAG,CAAC,GAAG;IAC7C,CAAC,EACDjB,gBAAgB,EAChB0C,UAAU,CAAC1C,gBAAgB,CAC3B;IAAA+E,MAAA,EAAAtH,KAAA;IAAAuH,QAAA;MAAAC,QAAA,EAAAvH,YAAA;MAAAwH,UAAA;MAAAC,YAAA;IAAA;EAAA,GAED,CAACnC,KAAK,IAAIhC,cAAc,GACvBC,WAAW,KAAK,MAAM,GACpBzE,MAAA,YAAAoI,aAAA,CAACjI,YAAA,CAAAkI,IAAI;IACHC,KAAK,EAAE,CACL7F,MAAM,CAACM,uBAAuB,EAC9BA,uBAAuB,EACvBmD,UAAU,CAACnD,uBAAuB,CAClC;IAAAwF,MAAA,EAAAtH,KAAA;IAAAuH,QAAA;MAAAC,QAAA,EAAAvH,YAAA;MAAAwH,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEF3I,MAAA,YAAAoI,aAAA,CAACxC,kBAAkB;IAACuD,QAAQ,EAAE3E,cAAc,CAAC4E,SAAU;IAACL,IAAI,EAAEjD,cAAe;IAAAyC,MAAA,EAAAtH,KAAA;IAAAuH,QAAA;MAAAC,QAAA,EAAAvH,YAAA;MAAAwH,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAC3E,CAAC,GACLX,QAAQ,GACVhI,MAAA,YAAAoI,aAAA,CAACjI,YAAA,CAAAkJ,KAAK;IACJC,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAM7C,QAAQ,CAAC,IAAI,CAAC;IAAA,CAAC;IAC9B8C,MAAM,EAAE;MACNC,GAAG,EAAE,IAAAC,sCAAkB,EAAC;QACtBrG,MAAM,EACJ,EAAAmC,qBAAA,GAAAW,UAAU,CAAChD,eAAe,qBAA1BqC,qBAAA,CAA4BnC,MAAM,MAClCF,eAAe,oBAAfA,eAAe,CAAEE,MAAM,KACvBX,MAAM,CAACS,eAAe,CAACE,MAAM;QAC/BsG,GAAG,EAAGlF,cAAc,CAACU,SAAS,IAC5BV,cAAc,CAACW,SAAS,IACxBX,cAAc,CAACQ,aAAwB;QACzCzB,KAAK,EACH,EAAAiC,sBAAA,GAAAU,UAAU,CAAChD,eAAe,qBAA1BsC,sBAAA,CAA4BjC,KAAK,MACjCL,eAAe,oBAAfA,eAAe,CAAEK,KAAK,KACtBd,MAAM,CAACS,eAAe,CAACK;MAC3B,CAAC;IACH,CAAE;IACF+E,KAAK,EAAE,CAAC7F,MAAM,CAACS,eAAe,EAAEA,eAAe,EAAEgD,UAAU,CAAChD,eAAe,CAAE;IAAAqF,MAAA,EAAAtH,KAAA;IAAAuH,QAAA;MAAAC,QAAA,EAAAvH,YAAA;MAAAwH,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC9E,CAAC,GACA,IAAI,GACN,IAAI,EACPlE,WAAW,KAAK,OAAO,IAAI,CAACD,cAAc,CAACQ,aAAa,GACvDhF,MAAA,YAAAoI,aAAA,CAACtH,eAAA,CAAA6I,cAAc;IACbC,UAAU,EAAE,CAACnH,MAAM,CAAC6B,wBAAwB,EAAEA,wBAAwB,CAAE;IACxEgE,KAAK,EAAE,CAAC7F,MAAM,CAAC4B,4BAA4B,EAAEA,4BAA4B,CAAE;IAC3Ec,SAAS,EAAEX,cAAc,CAACW,SAAU;IAAAoD,MAAA,EAAAtH,KAAA;IAAAuH,QAAA;MAAAC,QAAA,EAAAvH,YAAA;MAAAwH,UAAA;MAAAC,YAAA;IAAA;EAAA,CACrC,CAAC,GACA,IAAI,EACR3I,MAAA,YAAAoI,aAAA,CAACpH,qBAAA,CAAA6I,oBAAoB;IACnBnC,cAAc,EACZ1B,aAAa,CAACrB,IAAI,KAAK,SAAS,GAC5B,IAAAmF,iBAAK,EAAC;MAAEC,EAAE,EAAE;QAAEC,KAAK,EAAE9C;MAAK;IAAE,CAAC,EAAEG,WAAW,CAAC,OAAA4C,SAAA;MACzClG,IAAI,EAAEtB,MAAM,CAACsB;IAAI,GAAK2D,cAAc,CAC3C;IACDoB,OAAO,MAAAmB,SAAA,iBACFjE,aAAa;MAChBjC,IAAI,EACFiC,aAAa,CAACrB,IAAI,KAAK,SAAS,SACxBwB,CAAC,CAAC,iBAAiB,CAAC,SACxBH,aAAa,CAACjC,IAAI,GAClBiC,aAAa,CAACjC,IAAI,CAACmG,MAAM,GAAG,GAAG,GAC1BlE,aAAa,CAACjC,IAAI,CAACgE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,WACnC/B,aAAa,CAACjC,IAAI,GACpBU,WAAW,KAAK,OAAO,GACvB0B,CAAC,CAAC,OAAO,CAAC,GACV1B,WAAW,KAAK,OAAO,GACvB0B,CAAC,CAAC,OAAO,CAAC,GACV1B,WAAW,KAAK,MAAM,GACtB,CAAAD,cAAc,oBAAdA,cAAc,CAAE2F,KAAK,KAAI,EAAE,GAC3B;IAAE,EACR;IACFlC,UAAU,EAAEA,UAAW;IACvBxF,MAAM,EAAE;MACNwB,aAAa,EAAE,CACb;QACEmG,WAAW,EACTpC,QAAQ,IAAIvD,WAAW,KAAK,OAAO,GAC/B4F,MAAM,CACJ,EAAA5E,sBAAA,GAAAS,UAAU,CAAChD,eAAe,qBAA1BuC,sBAAA,CAA4BrC,MAAM,KAChCF,eAAe,CAACE,MAAM,IACtBX,MAAM,CAACS,eAAe,CAACE,MAC3B,CAAC,GACDiH,MAAM,CACJ,EAAA3E,sBAAA,GAAAQ,UAAU,CAAChD,eAAe,qBAA1BwC,sBAAA,CAA4BrC,UAAU,KACpCH,eAAe,CAACG,UAAU,IAC1BZ,MAAM,CAACS,eAAe,CAACG,UAC3B,CAAC,GACDoB,WAAW,KAAK,MAAM,GACtBqB,cAAc,GACduE,MAAM,CACJ,EAAA1E,qBAAA,GAAAO,UAAU,CAACnD,uBAAuB,qBAAlC4C,qBAAA,CAAoC3C,WAAW,KAC7CD,uBAAuB,CAACC,WAAW,IACnCP,MAAM,CAACM,uBAAuB,CAACC,WACnC,CAAC,GACDmB;MACR,CAAC,EACD1B,MAAM,CAACwB,aAAa,EACpBA,aAAa,EACbiC,UAAU,CAACjC,aAAa;IAE5B,CAAE;IAAAsE,MAAA,EAAAtH,KAAA;IAAAuH,QAAA;MAAAC,QAAA,EAAAvH,YAAA;MAAAwH,UAAA;MAAAC,YAAA;IAAA;EAAA,CACH,CACG,CACF,CAAC;AAEX,CAAC;AAQD,IAAM2B,iCAAiC,GAAG,SAApCA,iCAAiCA,CAAA,EAEhC;EACL,IAAMC,YAAY,GAAG,IAAAC,iBAAU,EAC7BC,wCACF,CAA4D;EAE5D,OAAOF,YAAY;AACrB,CAAC;AAED,IAAMG,QAAQ,GAAG,SAAXA,QAAQA,CACZC,SAAoD,EACpDC,SAAoD,EACjD;EACH,IAAuBC,iBAAiB,GAAKF,SAAS,CAA9C3E,aAAa;EACrB,IAAuB8E,iBAAiB,GAAKF,SAAS,CAA9C5E,aAAa;EAErB,IAAM+E,kBAAkB,GACtB,CAAC,CAACF,iBAAiB,IACnB,CAAC,CAACC,iBAAiB,IACnB,OAAOD,iBAAiB,KAAK,SAAS,IACtC,OAAOC,iBAAiB,KAAK,SAAS,GAClCD,iBAAiB,CAACG,EAAE,KAAKF,iBAAiB,CAACE,EAAE,IAC7CH,iBAAiB,CAACI,UAAU,KAAKH,iBAAiB,CAACG,UAAU,IAC7DJ,iBAAiB,CAAClG,IAAI,KAAKmG,iBAAiB,CAACnG,IAAI,GACjD,CAAC,CAACkG,iBAAiB,KAAK,CAAC,CAACC,iBAAiB;EAEjD,IAAI,CAACC,kBAAkB,EAAE,OAAO,KAAK;EAErC,OAAO,IAAI;AACb,CAAC;AAED,IAAMG,aAAa,GAAGC,iBAAK,CAACC,IAAI,CAAChG,gBAAgB,EAAEsF,QAAQ,CAA4B;AAShF,IAAMW,KAAK,GAAG,SAARA,KAAKA,CAGhBhG,KAAqC,EAClC;EACH,IAAAiG,kBAAA,GAAoB,IAAAC,iCAAiB,EAAqB,CAAC;IAAnDzC,OAAO,GAAAwC,kBAAA,CAAPxC,OAAO;EAEf,IAAA0C,mBAAA,GACE,IAAAC,mCAAkB,EAAqB,CAAC;IAAAC,qBAAA,GAAAF,mBAAA,CADlC5F,kBAAkB;IAAlBA,kBAAkB,GAAA8F,qBAAA,cAAGC,kBAAe,GAAAD,qBAAA;IAAAE,qBAAA,GAAAJ,mBAAA,CAAEzF,aAAa;IAAbA,aAAa,GAAA6F,qBAAA,cAAGC,4BAAoB,GAAAD,qBAAA;EAGlF,IAAAE,qBAAA,GAAmCxB,iCAAiC,CAAqB,CAAC;IAAlFyB,OAAO,GAAAD,qBAAA,CAAPC,OAAO;IAAE/F,aAAa,GAAA8F,qBAAA,CAAb9F,aAAa;EAE9B,IAAMgG,oBAAoB,GACxB,OAAOD,OAAO,KAAK,SAAS,GAAG,CAAAA,OAAO,oBAAPA,OAAO,CAAEE,cAAc,KAAI,KAAK,GAAG,KACF;EAElE,IAAAC,qBAAA,GAAc,IAAAC,yCAAqB,EAAC,CAAC;IAA7BhG,CAAC,GAAA+F,qBAAA,CAAD/F,CAAC;EAET,OACEnG,MAAA,YAAAoI,aAAA,CAAC8C,aAAa,MAAAjB,SAAA;IAEVrE,kBAAkB,EAAlBA,kBAAkB;IAClBG,aAAa,EAAbA,aAAa;IACbC,aAAa,EAAE8C,OAAO,GACjBA,OAAO,CAACmD,cAAc,GACvBjG,aAAa,IAAIgG,oBAAoB;IACzC7F,CAAC,EAADA;EAAC,GAECd,KAAK;IAAAkD,MAAA,EAAAtH,KAAA;IAAAuH,QAAA;MAAAC,QAAA,EAAAvH,YAAA;MAAAwH,UAAA;MAAAC,YAAA;IAAA;EAAA,EACV,CAAC;AAEN,CAAC;AAACyD,OAAA,CAAAf,KAAA,GAAAA,KAAA;AAEFA,KAAK,CAACgB,WAAW,GAAG,cAAc"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_merge","_interopRequireDefault","_MessageContext","_MessageInputContext","_MessagesContext","_ThemeContext","_TranslationContext","_getResizedImageUrl","_utils","_FileIcon","_VideoThumbnail","_MessageAvatar","_MessageTextContainer","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","alignItems","flexDirection","fileAttachmentContainer","paddingLeft","paddingVertical","imageAttachment","borderRadius","height","marginLeft","marginVertical","width","messageContainer","borderBottomLeftRadius","borderBottomRightRadius","borderTopLeftRadius","borderTopRightRadius","flexGrow","flexShrink","text","fontSize","textContainer","maxWidth","undefined","paddingHorizontal","videoThumbnailContainerStyle","videoThumbnailImageStyle","getMessageType","lastAttachment","messageType","isLastAttachmentFile","type","isLastAttachmentVideo","isLastAttachmentGiphy","isLastAttachmentImageOrGiphy","title_link","og_scrape_url","isLastAttachmentImage","image_url","thumb_url","ReplyWithContext","props","_quotedMessage$attach","_stylesProp$imageAtta","_stylesProp$imageAtta2","_stylesProp$imageAtta3","_stylesProp$imageAtta4","_stylesProp$fileAttac","FileAttachmentIcon","_props$attachmentSize","attachmentSize","MessageAvatar","quotedMessage","_props$styles","stylesProp","t","_useState","useState","_useState2","_slicedToArray2","error","setError","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","blue_alice","border","grey","transparent","white","deletedText","messageSimple","content","_useTheme$theme$reply","reply","markdownStyles","_useTheme$theme$reply2","videoThumbnail","image","messageText","emojiOnlyText","useMemo","hasOnlyEmojis","attachments","slice","hasImage","onlyEmojis","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","alignment","lastGroupMessage","message","size","backgroundColor","borderColor","borderWidth","mimeType","mime_type","Image","onError","source","uri","getResizedImageUrl","url","VideoThumbnail","imageStyle","MessageTextContainer","merge","em","color","_extends2","length","title","marginRight","Number","useMessageInputContextIfAvailable","contextValue","useContext","MessageInputContext","areEqual","prevProps","nextProps","prevQuotedMessage","nextQuotedMessage","quotedMessageEqual","id","deleted_at","MemoizedReply","React","memo","Reply","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_useMessagesContext$F","FileIconDefault","_useMessagesContext$M","MessageAvatarDefault","_useMessageInputConte","editing","quotedEditingMessage","quoted_message","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["Reply.tsx"],"sourcesContent":["import React, { useContext, useMemo, useState } from 'react';\nimport { Image, ImageStyle, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport merge from 'lodash/merge';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { useMessageContext } from '../../contexts/messageContext/MessageContext';\nimport {\n MessageInputContext,\n MessageInputContextValue,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getResizedImageUrl } from '../../utils/getResizedImageUrl';\nimport { hasOnlyEmojis } from '../../utils/utils';\n\nimport { FileIcon as FileIconDefault } from '../Attachment/FileIcon';\nimport { VideoThumbnail } from '../Attachment/VideoThumbnail';\nimport { MessageAvatar as MessageAvatarDefault } from '../Message/MessageSimple/MessageAvatar';\nimport { MessageTextContainer } from '../Message/MessageSimple/MessageTextContainer';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n fileAttachmentContainer: { paddingLeft: 8, paddingVertical: 8 },\n imageAttachment: {\n borderRadius: 8,\n height: 32,\n marginLeft: 8,\n marginVertical: 8,\n width: 32,\n },\n messageContainer: {\n alignItems: 'flex-start',\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 12,\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n flexDirection: 'row',\n flexGrow: 1,\n flexShrink: 1,\n },\n text: { fontSize: 12 },\n textContainer: { maxWidth: undefined, paddingHorizontal: 8 },\n videoThumbnailContainerStyle: {\n borderRadius: 8,\n height: 50,\n marginLeft: 8,\n marginVertical: 8,\n width: 50,\n },\n videoThumbnailImageStyle: {\n borderRadius: 10,\n },\n});\n\ntype ReplyPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageInputContextValue<StreamChatGenerics>, 'quotedMessage'> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'FileAttachmentIcon' | 'MessageAvatar'> &\n Pick<TranslationContextValue, 't'> & {\n attachmentSize?: number;\n styles?: Partial<{\n container: ViewStyle;\n fileAttachmentContainer: ViewStyle;\n imageAttachment: ImageStyle;\n messageContainer: ViewStyle;\n textContainer: ViewStyle;\n }>;\n };\n\nconst getMessageType = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n lastAttachment: Attachment<StreamChatGenerics>,\n) => {\n let messageType;\n\n const isLastAttachmentFile = lastAttachment.type === 'file' || lastAttachment.type === 'audio';\n\n const isLastAttachmentVideo = lastAttachment.type === 'video';\n\n const isLastAttachmentGiphy =\n lastAttachment?.type === 'giphy' || lastAttachment?.type === 'imgur';\n\n const isLastAttachmentImageOrGiphy =\n lastAttachment?.type === 'image' &&\n !lastAttachment?.title_link &&\n !lastAttachment?.og_scrape_url;\n\n const isLastAttachmentImage = lastAttachment?.image_url || lastAttachment?.thumb_url;\n\n if (isLastAttachmentFile) {\n messageType = 'file';\n } else if (isLastAttachmentVideo) {\n messageType = 'video';\n } else if (isLastAttachmentImageOrGiphy) {\n if (isLastAttachmentImage) messageType = 'image';\n else messageType = undefined;\n } else if (isLastAttachmentGiphy) messageType = 'giphy';\n else messageType = 'other';\n\n return messageType;\n};\n\nconst ReplyWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReplyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n FileAttachmentIcon,\n attachmentSize = 40,\n MessageAvatar,\n quotedMessage,\n styles: stylesProp = {},\n t,\n } = props;\n\n const [error, setError] = useState(false);\n\n const {\n theme: {\n colors: { blue_alice, border, grey, transparent, white },\n messageSimple: {\n content: { deletedText },\n },\n reply: {\n container,\n fileAttachmentContainer,\n imageAttachment,\n markdownStyles,\n messageContainer,\n textContainer,\n videoThumbnail: {\n container: videoThumbnailContainerStyle,\n image: videoThumbnailImageStyle,\n },\n },\n },\n } = useTheme();\n\n const messageText = typeof quotedMessage === 'boolean' ? '' : quotedMessage.text || '';\n\n const emojiOnlyText = useMemo(() => {\n if (!messageText) return false;\n return hasOnlyEmojis(messageText);\n }, [messageText]);\n\n if (typeof quotedMessage === 'boolean') return null;\n\n const lastAttachment = quotedMessage.attachments?.slice(-1)[0] as Attachment<StreamChatGenerics>;\n const messageType = lastAttachment && getMessageType(lastAttachment);\n\n const hasImage =\n !error &&\n lastAttachment &&\n messageType !== 'file' &&\n messageType !== 'video' &&\n (lastAttachment.image_url || lastAttachment.thumb_url || lastAttachment.og_scrape_url);\n\n const onlyEmojis = !lastAttachment && emojiOnlyText;\n\n return (\n <View style={[styles.container, container, stylesProp.container]}>\n <MessageAvatar alignment={'left'} lastGroupMessage message={quotedMessage} size={24} />\n <View\n style={[\n styles.messageContainer,\n {\n backgroundColor:\n messageType === 'other' ? blue_alice : messageType === 'giphy' ? transparent : white,\n borderColor: border,\n borderWidth: messageType === 'other' ? 0 : 1,\n },\n messageContainer,\n stylesProp.messageContainer,\n ]}\n >\n {!error && lastAttachment ? (\n messageType === 'file' ? (\n <View\n style={[\n styles.fileAttachmentContainer,\n fileAttachmentContainer,\n stylesProp.fileAttachmentContainer,\n ]}\n >\n <FileAttachmentIcon mimeType={lastAttachment.mime_type} size={attachmentSize} />\n </View>\n ) : hasImage ? (\n <Image\n onError={() => setError(true)}\n source={{\n uri: getResizedImageUrl({\n height:\n stylesProp.imageAttachment?.height ||\n imageAttachment?.height ||\n styles.imageAttachment.height,\n url: (lastAttachment.image_url ||\n lastAttachment.thumb_url ||\n lastAttachment.og_scrape_url) as string,\n width:\n stylesProp.imageAttachment?.width ||\n imageAttachment?.width ||\n styles.imageAttachment.width,\n }),\n }}\n style={[styles.imageAttachment, imageAttachment, stylesProp.imageAttachment]}\n />\n ) : null\n ) : null}\n {messageType === 'video' && !lastAttachment.og_scrape_url ? (\n <VideoThumbnail\n imageStyle={[styles.videoThumbnailImageStyle, videoThumbnailImageStyle]}\n style={[styles.videoThumbnailContainerStyle, videoThumbnailContainerStyle]}\n thumb_url={lastAttachment.thumb_url}\n />\n ) : null}\n <MessageTextContainer<StreamChatGenerics>\n markdownStyles={\n quotedMessage.type === 'deleted'\n ? merge({ em: { color: grey } }, deletedText)\n : { text: styles.text, ...markdownStyles }\n }\n message={{\n ...quotedMessage,\n text:\n quotedMessage.type === 'deleted'\n ? `_${t('Message deleted')}_`\n : quotedMessage.text\n ? quotedMessage.text.length > 170\n ? `${quotedMessage.text.slice(0, 170)}...`\n : quotedMessage.text\n : messageType === 'image'\n ? t('Photo')\n : messageType === 'video'\n ? t('Video')\n : messageType === 'file'\n ? lastAttachment?.title || ''\n : '',\n }}\n onlyEmojis={onlyEmojis}\n styles={{\n textContainer: [\n {\n marginRight:\n hasImage || messageType === 'video'\n ? Number(\n stylesProp.imageAttachment?.height ||\n imageAttachment.height ||\n styles.imageAttachment.height,\n ) +\n Number(\n stylesProp.imageAttachment?.marginLeft ||\n imageAttachment.marginLeft ||\n styles.imageAttachment.marginLeft,\n )\n : messageType === 'file'\n ? attachmentSize +\n Number(\n stylesProp.fileAttachmentContainer?.paddingLeft ||\n fileAttachmentContainer.paddingLeft ||\n styles.fileAttachmentContainer.paddingLeft,\n )\n : undefined,\n },\n styles.textContainer,\n textContainer,\n stylesProp.textContainer,\n ],\n }}\n />\n </View>\n </View>\n );\n};\n\n/**\n * When a reply is rendered in a MessageSimple, it does\n * not have a MessageInputContext. As this is deliberate,\n * this function exists to avoid the error thrown when\n * using a context outside of its provider.\n * */\nconst useMessageInputContextIfAvailable = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const contextValue = useContext(\n MessageInputContext,\n ) as unknown as MessageInputContextValue<StreamChatGenerics>;\n\n return contextValue;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ReplyPropsWithContext<StreamChatGenerics>,\n nextProps: ReplyPropsWithContext<StreamChatGenerics>,\n) => {\n const { quotedMessage: prevQuotedMessage } = prevProps;\n const { quotedMessage: nextQuotedMessage } = nextProps;\n\n const quotedMessageEqual =\n !!prevQuotedMessage &&\n !!nextQuotedMessage &&\n typeof prevQuotedMessage !== 'boolean' &&\n typeof nextQuotedMessage !== 'boolean'\n ? prevQuotedMessage.id === nextQuotedMessage.id &&\n prevQuotedMessage.deleted_at === nextQuotedMessage.deleted_at &&\n prevQuotedMessage.type === nextQuotedMessage.type\n : !!prevQuotedMessage === !!nextQuotedMessage;\n\n if (!quotedMessageEqual) return false;\n\n return true;\n};\n\nconst MemoizedReply = React.memo(ReplyWithContext, areEqual) as typeof ReplyWithContext;\n\nexport type ReplyProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ReplyPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI Component for reply\n */\nexport const Reply = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReplyProps<StreamChatGenerics>,\n) => {\n const { message } = useMessageContext<StreamChatGenerics>();\n\n const { FileAttachmentIcon = FileIconDefault, MessageAvatar = MessageAvatarDefault } =\n useMessagesContext<StreamChatGenerics>();\n\n const { editing, quotedMessage } = useMessageInputContextIfAvailable<StreamChatGenerics>();\n\n const quotedEditingMessage = (\n typeof editing !== 'boolean' ? editing?.quoted_message || false : false\n ) as MessageInputContextValue<StreamChatGenerics>['quotedMessage'];\n\n const { t } = useTranslationContext();\n\n return (\n <MemoizedReply\n {...{\n FileAttachmentIcon,\n MessageAvatar,\n quotedMessage: message\n ? (message.quoted_message as MessageInputContextValue<StreamChatGenerics>['quotedMessage'])\n : quotedMessage || quotedEditingMessage,\n t,\n }}\n {...props}\n />\n );\n};\n\nReply.displayName = 'Reply{reply}';\n"],"mappings":"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"}
@@ -24,7 +24,7 @@
24
24
  "File type not supported": "File type not supported",
25
25
  "Flag": "Flag",
26
26
  "Flag Message": "Flag Message",
27
- "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.",
27
+ "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",
28
28
  "How about sending your first message to a friend?": "How about sending your first message to a friend?",
29
29
  "Instant Commands": "Instant Commands",
30
30
  "Let's start chatting!": "Let's start chatting!",
@@ -1,76 +1,76 @@
1
1
  {
2
- "1 Reply": "1 Réponse",
2
+ "1 Reply": "",
3
3
  "1 Thread Reply": "Réponse à 1 fil",
4
- "Allow access to your Gallery": "Autoriser l'accès à votre galerie",
5
- "Allow camera access in device settings": "Autoriser l'accès à la caméra dans les paramètres de l'appareil",
4
+ "Allow access to your Gallery": "",
5
+ "Allow camera access in device settings": "",
6
6
  "Also send to channel": "Envoyer également à la chaîne",
7
- "Are you sure you want to permanently delete this message?": "Êtes-vous sûr de vouloir supprimer définitivement ce message?",
8
- "Block User": "Bloquer un utilisateur",
9
- "Cancel": "Annuler",
10
- "Cannot Flag Message": "Impossible de signaler le message",
11
- "Copy Message": "Copier le message",
12
- "Delete": "Supprimer",
13
- "Delete Message": "Supprimer un message",
14
- "Device camera is used to take photos or videos.": "L'appareil photo de l'appareil est utilisé pour prendre des photos ou des vidéos.",
15
- "Do you want to send a copy of this message to a moderator for further investigation?": "Voulez-vous envoyer une copie de ce message à un modérateur pour une enquête plus approfondie?",
16
- "Edit Message": "Éditer un message",
17
- "Editing Message": "Édite un message",
7
+ "Are you sure you want to permanently delete this message?": "",
8
+ "Block User": "",
9
+ "Cancel": "",
10
+ "Cannot Flag Message": "",
11
+ "Copy Message": "",
12
+ "Delete": "",
13
+ "Delete Message": "",
14
+ "Device camera is used to take photos or videos.": "",
15
+ "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
+ "Edit Message": "",
17
+ "Editing Message": "",
18
18
  "Emoji matching": "Correspondance Emoji",
19
- "Empty message...": "Message vide...",
20
- "Error loading": "Erreur lors du chargement",
21
- "Error loading channel list...": "Erreur lors du chargement de la liste de canaux...",
22
- "Error loading messages for this channel...": "Erreur lors du chargement des messages de ce canal...",
23
- "Error while loading, please reload/refresh": "Erreur lors du chargement, veuillez recharger/rafraîchir",
24
- "File type not supported": "Le type de fichier n'est pas pris en charge",
25
- "Flag": "Signaler",
26
- "Flag Message": "Signaler le message",
27
- "Flag action failed either due to a network issue or the message is already flagged": "L'action de signalisation a échoué en raison d'un problème de réseau ou le message est déjà signalé.",
28
- "How about sending your first message to a friend?": "Et si vous envoyiez votre premier message à un ami ?",
19
+ "Empty message...": "",
20
+ "Error loading": "",
21
+ "Error loading channel list...": "",
22
+ "Error loading messages for this channel...": "",
23
+ "Error while loading, please reload/refresh": "",
24
+ "File type not supported": "",
25
+ "Flag": "",
26
+ "Flag Message": "",
27
+ "Flag action failed either due to a network issue or the message is already flagged": "",
28
+ "How about sending your first message to a friend?": "",
29
29
  "Instant Commands": "Commandes Instantanées",
30
- "Let's start chatting!": "Commençons à discuter !",
31
- "Links are disabled": "Links are disabled",
32
- "Loading channels...": "Chargement des canaux...",
33
- "Loading messages...": "Chargement des messages...",
34
- "Loading...": "Chargement...",
35
- "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.",
36
- "Message Reactions": "Réactions aux messages",
37
- "Message deleted": "Message supprimé",
38
- "Message flagged": "Message signalé",
39
- "Mute User": "Utilisateur muet",
40
- "Not supported": "Non pris en charge",
41
- "Nothing yet...": "Aucun message...",
42
- "Ok": "Ok",
30
+ "Let's start chatting!": "",
31
+ "Links are disabled": "",
32
+ "Loading channels...": "",
33
+ "Loading messages...": "",
34
+ "Loading...": "",
35
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
36
+ "Message Reactions": "",
37
+ "Message deleted": "",
38
+ "Message flagged": "",
39
+ "Mute User": "",
40
+ "Not supported": "",
41
+ "Nothing yet...": "",
42
+ "Ok": "",
43
43
  "Only visible to you": "Seulement visible par vous",
44
- "Open Settings": "Ouvrir les paramètres",
44
+ "Open Settings": "",
45
45
  "Photo": "Photo",
46
- "Photos and Videos": "Photos et vidéos",
47
- "Pin to Conversation": "Épingler à la conversation",
46
+ "Photos and Videos": "",
47
+ "Pin to Conversation": "",
48
48
  "Pinned by": "Épinglé par",
49
- "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.",
50
- "Please select a channel first": "Veuillez d'abord selectionnez un canal",
51
- "Reconnecting...": "Se Reconnecter...",
52
- "Reply": "Répondre",
53
- "Reply to Message": "Répondre au message",
54
- "Resend": "Renvoyer",
55
- "Search GIFs": "Rechercher des GIF",
56
- "Select More Photos": "Sélectionner plus de photos",
57
- "Send a message": "Envoyer un message",
58
- "Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
59
- "Slow mode ON": "Mode lent activé",
60
- "The message has been reported to a moderator.": "Le message a été signalé à un modérateur.",
61
- "Thread Reply": "Réponse à la discussion",
62
- "Unblock User": "Débloquer Utilisateur",
63
- "Unknown User": "Utilisateur inconnu",
64
- "Unmute User": "Activer le son de Utilisateur",
65
- "Unpin from Conversation": "Décrocher de la conversation",
66
- "Unread Messages": "Messages non lus",
49
+ "Please enable access to your photos and videos so you can share them.": "",
50
+ "Please select a channel first": "",
51
+ "Reconnecting...": "",
52
+ "Reply": "",
53
+ "Reply to Message": "",
54
+ "Resend": "",
55
+ "Search GIFs": "",
56
+ "Select More Photos": "",
57
+ "Send a message": "",
58
+ "Sending links is not allowed in this conversation": "",
59
+ "Slow mode ON": "",
60
+ "The message has been reported to a moderator.": "",
61
+ "Thread Reply": "",
62
+ "Unblock User": "",
63
+ "Unknown User": "",
64
+ "Unmute User": "",
65
+ "Unpin from Conversation": "",
66
+ "Unread Messages": "",
67
67
  "Video": "Vidéo",
68
- "You": "Toi",
69
- "You can't send messages in this channel": "You can't send messages in this channel",
68
+ "You": "",
69
+ "You can't send messages in this channel": "",
70
70
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} et {{ nonSelfUserLength }} autres sont en train d'écrire",
71
- "{{ index }} of {{ photoLength }}": "{{ index }} sur {{ photoLength }}",
72
- "{{ replyCount }} Replies": "{{ replyCount }} Réponses",
71
+ "{{ index }} of {{ photoLength }}": "",
72
+ "{{ replyCount }} Replies": "",
73
73
  "{{ replyCount }} Thread Replies": "{{replyCount}} Réponses à la discussion",
74
74
  "{{ user }} is typing": "{{ user }} est en train d'écrire",
75
- "🏙 Attachment...": "🏙 Pièce jointe..."
75
+ "🏙 Attachment...": ""
76
76
  }
@@ -1,76 +1,76 @@
1
1
  {
2
- "1 Reply": "1 रिप्लाई",
2
+ "1 Reply": "",
3
3
  "1 Thread Reply": "1 धागा उत्तर",
4
- "Allow access to your Gallery": "अपनी गैलरी तक पहुँचने की अनुमति दें",
5
- "Allow camera access in device settings": "डिवाइस सेटिंग्स में कैमरा एक्सेस की अनुमति दें",
4
+ "Allow access to your Gallery": "",
5
+ "Allow camera access in device settings": "",
6
6
  "Also send to channel": "चैनल को भी भेजें",
7
- "Are you sure you want to permanently delete this message?": "क्या आप वाकई इस संदेश को स्थायी रूप से हटाना चाहते हैं?",
8
- "Block User": "उपयोगकर्ता को रोक देना, ब्लॉक यूजर",
9
- "Cancel": "रद्द करें",
10
- "Cannot Flag Message": "मैसेज फ्लैग नहीं किया जा सकता है",
11
- "Copy Message": "संदेश की प्रतिलिपि बनाएँ",
12
- "Delete": "हटाएं",
13
- "Delete Message": "मैसेज को डिलीट करे",
14
- "Device camera is used to take photos or videos.": "डिवाइस कैमरे का उपयोग फ़ोटो या वीडियो लेने के लिए किया जाता है।",
15
- "Do you want to send a copy of this message to a moderator for further investigation?": "क्या आप इस संदेश की एक प्रति आगे की जाँच के लिए किसी मॉडरेटर को भेजना चाहते हैं?",
16
- "Edit Message": "मैसेज में बदलाव करे",
17
- "Editing Message": "मैसेज बदला जा रहा है",
7
+ "Are you sure you want to permanently delete this message?": "",
8
+ "Block User": "",
9
+ "Cancel": "",
10
+ "Cannot Flag Message": "",
11
+ "Copy Message": "",
12
+ "Delete": "",
13
+ "Delete Message": "",
14
+ "Device camera is used to take photos or videos.": "",
15
+ "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
+ "Edit Message": "",
17
+ "Editing Message": "",
18
18
  "Emoji matching": "इमोजी मिलान",
19
- "Empty message...": "खाली संदेश...",
20
- "Error loading": "लोड होने मे त्रुटि",
21
- "Error loading channel list...": "चैनल सूची लोड करने में त्रुटि...",
22
- "Error loading messages for this channel...": "इस चैनल के लिए मेसेजेस लोड करने में त्रुटि हुई...",
23
- "Error while loading, please reload/refresh": "एरर, रिफ्रेश करे",
24
- "File type not supported": "फ़ाइल प्रकार समर्थित नहीं है",
25
- "Flag": "झंडा",
26
- "Flag Message": "झंडा संदेश",
27
- "Flag action failed either due to a network issue or the message is already flagged": "फ़्लैग कार्रवाई या तो नेटवर्क समस्या के कारण विफल हो गई या संदेश पहले से फ़्लैग किया गया है।",
28
- "How about sending your first message to a friend?": "किसी मित्र को अपना पहला संदेश भेजने के बारे में क्या ख़याल है?",
19
+ "Empty message...": "",
20
+ "Error loading": "",
21
+ "Error loading channel list...": "",
22
+ "Error loading messages for this channel...": "",
23
+ "Error while loading, please reload/refresh": "",
24
+ "File type not supported": "",
25
+ "Flag": "",
26
+ "Flag Message": "",
27
+ "Flag action failed either due to a network issue or the message is already flagged": "",
28
+ "How about sending your first message to a friend?": "",
29
29
  "Instant Commands": "त्वरित कमांड",
30
- "Let's start chatting!": "आइए चैट करना शुरू करें!",
31
- "Links are disabled": "लिंक अक्षम हैं",
32
- "Loading channels...": "चैनल लोड हो रहे हैं...",
33
- "Loading messages...": "मेसेजस लोड हो रहे हैं...",
34
- "Loading...": "लोड हो रहा है...",
35
- "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}} एमबी से नीचे की फ़ाइल अपलोड करें।",
36
- "Message Reactions": "संदेश प्रतिक्रियाएँ",
37
- "Message deleted": "मैसेज हटा दिया गया",
38
- "Message flagged": "संदेश को ध्वजांकित किया गया",
39
- "Mute User": "उपयोगकर्ता को म्यूट करें",
40
- "Not supported": "समर्थित नहीं",
41
- "Nothing yet...": "कोई मैसेज नहीं है...",
42
- "Ok": "ठीक",
30
+ "Let's start chatting!": "",
31
+ "Links are disabled": "",
32
+ "Loading channels...": "",
33
+ "Loading messages...": "",
34
+ "Loading...": "",
35
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
36
+ "Message Reactions": "",
37
+ "Message deleted": "",
38
+ "Message flagged": "",
39
+ "Mute User": "",
40
+ "Not supported": "",
41
+ "Nothing yet...": "",
42
+ "Ok": "",
43
43
  "Only visible to you": "केवल आपको दिखाई दे रहा है",
44
- "Open Settings": "सेटिंग्स खोलें",
44
+ "Open Settings": "",
45
45
  "Photo": "तस्वीर",
46
- "Photos and Videos": "तस्वीरें और वीडियों",
47
- "Pin to Conversation": "बातचीत में पिन करें",
46
+ "Photos and Videos": "",
47
+ "Pin to Conversation": "",
48
48
  "Pinned by": "द्वारा पिन किया गया",
49
- "Please enable access to your photos and videos so you can share them.": "कृपया अपनी फ़ोटो और वीडियो तक पहुंच सक्षम करें ताकि आप उन्हें साझा कर सकें।",
50
- "Please select a channel first": "कृपया पहले एक चैनल चुनें",
51
- "Reconnecting...": "पुनः कनेक्ट हो...",
52
- "Reply": "मैसेज को रिप्लाई करे",
53
- "Reply to Message": "संदेश का जवाब दें",
54
- "Resend": "पुन: भेजें",
55
- "Search GIFs": "GIF खोजें",
56
- "Select More Photos": "अधिक फ़ोटो चुनें",
57
- "Send a message": "एक संदेश भेजें",
58
- "Sending links is not allowed in this conversation": "इस बातचीत में लिंक भेजने की अनुमति नहीं है",
59
- "Slow mode ON": "स्लो मोड चालू",
60
- "The message has been reported to a moderator.": "संदेश एक मॉडरेटर को सूचित किया गया है।",
61
- "Thread Reply": "धागा जवाब",
62
- "Unblock User": "उपयोगकर्ता को अनब्लॉक करें",
63
- "Unknown User": "अज्ञात उपयोगकर्ता",
64
- "Unmute User": "उपयोगकर्ता को अनम्यूट करें",
65
- "Unpin from Conversation": "बातचीत से अनपिन करें",
66
- "Unread Messages": "अपठित संदेश",
49
+ "Please enable access to your photos and videos so you can share them.": "",
50
+ "Please select a channel first": "",
51
+ "Reconnecting...": "",
52
+ "Reply": "",
53
+ "Reply to Message": "",
54
+ "Resend": "",
55
+ "Search GIFs": "",
56
+ "Select More Photos": "",
57
+ "Send a message": "",
58
+ "Sending links is not allowed in this conversation": "",
59
+ "Slow mode ON": "",
60
+ "The message has been reported to a moderator.": "",
61
+ "Thread Reply": "",
62
+ "Unblock User": "",
63
+ "Unknown User": "",
64
+ "Unmute User": "",
65
+ "Unpin from Conversation": "",
66
+ "Unread Messages": "",
67
67
  "Video": "वीडियो",
68
- "You": "आप",
69
- "You can't send messages in this channel": "आप इस चैनल में संदेश नहीं भेज सकते",
68
+ "You": "",
69
+ "You can't send messages in this channel": "",
70
70
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} और {{ nonSelfUserLength }} अधिक टाइप कर रहे हैं",
71
- "{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
72
- "{{ replyCount }} Replies": "{{ replyCount }} रिप्लाई",
71
+ "{{ index }} of {{ photoLength }}": "",
72
+ "{{ replyCount }} Replies": "",
73
73
  "{{ replyCount }} Thread Replies": "{{ replyCount }}} थ्रेड उत्तर",
74
74
  "{{ user }} is typing": "{{ user }} टाइप कर रहा है",
75
- "🏙 Attachment...": "🏙 अटैचमेंट..."
75
+ "🏙 Attachment...": ""
76
76
  }