stream-chat-react-native-core 5.27.0-beta.1 → 5.27.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 (63) hide show
  1. package/lib/commonjs/components/Chat/Chat.js +25 -16
  2. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  3. package/lib/commonjs/components/Chat/hooks/useAppSettings.js +18 -12
  4. package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
  5. package/lib/commonjs/i18n/es.json +29 -29
  6. package/lib/commonjs/i18n/fr.json +29 -29
  7. package/lib/commonjs/i18n/he.json +29 -29
  8. package/lib/commonjs/i18n/hi.json +30 -30
  9. package/lib/commonjs/i18n/it.json +30 -30
  10. package/lib/commonjs/i18n/ja.json +30 -30
  11. package/lib/commonjs/i18n/ko.json +30 -30
  12. package/lib/commonjs/i18n/nl.json +30 -30
  13. package/lib/commonjs/i18n/pt-BR.json +30 -30
  14. package/lib/commonjs/i18n/ru.json +30 -30
  15. package/lib/commonjs/i18n/tr.json +30 -30
  16. package/lib/commonjs/utils/addReactionToLocalState.js +3 -2
  17. package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -1
  18. package/lib/commonjs/version.json +1 -1
  19. package/lib/module/components/Chat/Chat.js +25 -16
  20. package/lib/module/components/Chat/Chat.js.map +1 -1
  21. package/lib/module/components/Chat/hooks/useAppSettings.js +18 -12
  22. package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
  23. package/lib/module/i18n/es.json +29 -29
  24. package/lib/module/i18n/fr.json +29 -29
  25. package/lib/module/i18n/he.json +29 -29
  26. package/lib/module/i18n/hi.json +30 -30
  27. package/lib/module/i18n/it.json +30 -30
  28. package/lib/module/i18n/ja.json +30 -30
  29. package/lib/module/i18n/ko.json +30 -30
  30. package/lib/module/i18n/nl.json +30 -30
  31. package/lib/module/i18n/pt-BR.json +30 -30
  32. package/lib/module/i18n/ru.json +30 -30
  33. package/lib/module/i18n/tr.json +30 -30
  34. package/lib/module/utils/addReactionToLocalState.js +3 -2
  35. package/lib/module/utils/addReactionToLocalState.js.map +1 -1
  36. package/lib/module/version.json +1 -1
  37. package/lib/typescript/i18n/es.json +29 -29
  38. package/lib/typescript/i18n/fr.json +29 -29
  39. package/lib/typescript/i18n/he.json +29 -29
  40. package/lib/typescript/i18n/hi.json +30 -30
  41. package/lib/typescript/i18n/it.json +30 -30
  42. package/lib/typescript/i18n/ja.json +30 -30
  43. package/lib/typescript/i18n/ko.json +30 -30
  44. package/lib/typescript/i18n/nl.json +30 -30
  45. package/lib/typescript/i18n/pt-BR.json +30 -30
  46. package/lib/typescript/i18n/ru.json +30 -30
  47. package/lib/typescript/i18n/tr.json +30 -30
  48. package/package.json +1 -1
  49. package/src/components/Chat/Chat.tsx +17 -6
  50. package/src/components/Chat/hooks/useAppSettings.ts +3 -1
  51. package/src/i18n/es.json +29 -29
  52. package/src/i18n/fr.json +29 -29
  53. package/src/i18n/he.json +29 -29
  54. package/src/i18n/hi.json +30 -30
  55. package/src/i18n/it.json +30 -30
  56. package/src/i18n/ja.json +30 -30
  57. package/src/i18n/ko.json +30 -30
  58. package/src/i18n/nl.json +30 -30
  59. package/src/i18n/pt-BR.json +30 -30
  60. package/src/i18n/ru.json +30 -30
  61. package/src/i18n/tr.json +30 -30
  62. package/src/utils/addReactionToLocalState.ts +7 -2
  63. package/src/version.json +1 -1
@@ -32,7 +32,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
32
32
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
33
  (0, _init["default"])();
34
34
  var ChatWithContext = function ChatWithContext(props) {
35
- var _client$user2, _client$user3;
35
+ var _client$user;
36
36
  var children = props.children,
37
37
  client = props.client,
38
38
  _props$closeConnectio = props.closeConnectionOnBackground,
@@ -53,13 +53,16 @@ var ChatWithContext = function ChatWithContext(props) {
53
53
  var _useIsOnline = (0, _useIsOnline2.useIsOnline)(client, closeConnectionOnBackground),
54
54
  connectionRecovering = _useIsOnline.connectionRecovering,
55
55
  isOnline = _useIsOnline.isOnline;
56
- var _useState3 = (0, _react.useState)(false),
56
+ var _useState3 = (0, _react.useState)({
57
+ initialised: false
58
+ }),
57
59
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
58
- initialisedDatabase = _useState4[0],
59
- setInitialisedDatabase = _useState4[1];
60
+ initialisedDatabaseConfig = _useState4[0],
61
+ setInitialisedDatabaseConfig = _useState4[1];
60
62
  var mutedUsers = (0, _useMutedUsers.useMutedUsers)(client);
61
63
  var debugRef = (0, _DebugContext.useDebugContext)();
62
64
  var isDebugModeEnabled = __DEV__ && debugRef && debugRef.current;
65
+ var userID = client.userID;
63
66
  _StreamChatRN.StreamChatRN.setConfig({
64
67
  resizableCDNHosts: resizableCDNHosts
65
68
  });
@@ -81,14 +84,20 @@ var ChatWithContext = function ChatWithContext(props) {
81
84
  return setChannel(newChannel);
82
85
  };
83
86
  (0, _react.useEffect)(function () {
84
- var _client$user;
85
- if ((_client$user = client.user) != null && _client$user.id && enableOfflineSupport) {
86
- setInitialisedDatabase(false);
87
+ if (userID && enableOfflineSupport) {
88
+ setInitialisedDatabaseConfig({
89
+ initialised: false,
90
+ userID: userID
91
+ });
87
92
  _QuickSqliteClient.QuickSqliteClient.initializeDatabase();
88
93
  _DBSyncManager.DBSyncManager.init(client);
89
- setInitialisedDatabase(true);
94
+ setInitialisedDatabaseConfig({
95
+ initialised: true,
96
+ userID: userID
97
+ });
90
98
  }
91
- }, [client == null ? void 0 : (_client$user2 = client.user) == null ? void 0 : _client$user2.id, enableOfflineSupport]);
99
+ }, [userID, enableOfflineSupport]);
100
+ var initialisedDatabase = initialisedDatabaseConfig.initialised && userID === initialisedDatabaseConfig.userID;
92
101
  var appSettings = (0, _useAppSettings.useAppSettings)(client, isOnline, enableOfflineSupport, initialisedDatabase);
93
102
  var chatContext = (0, _useCreateChatContext.useCreateChatContext)({
94
103
  appSettings: appSettings,
@@ -107,7 +116,7 @@ var ChatWithContext = function ChatWithContext(props) {
107
116
  enableOfflineSupport: enableOfflineSupport,
108
117
  initialisedDatabase: initialisedDatabase
109
118
  });
110
- if (enableOfflineSupport && !initialisedDatabase) {
119
+ if (userID && enableOfflineSupport && !initialisedDatabase) {
111
120
  return null;
112
121
  }
113
122
  return _react["default"].createElement(_ChatContext.ChatProvider, {
@@ -115,17 +124,17 @@ var ChatWithContext = function ChatWithContext(props) {
115
124
  __self: _this,
116
125
  __source: {
117
126
  fileName: _jsxFileName,
118
- lineNumber: 232,
127
+ lineNumber: 243,
119
128
  columnNumber: 5
120
129
  }
121
130
  }, _react["default"].createElement(_TranslationContext.TranslationProvider, {
122
131
  value: (0, _extends2["default"])({}, translators, {
123
- userLanguage: ((_client$user3 = client.user) == null ? void 0 : _client$user3.language) || _TranslationContext.DEFAULT_USER_LANGUAGE
132
+ userLanguage: ((_client$user = client.user) == null ? void 0 : _client$user.language) || _TranslationContext.DEFAULT_USER_LANGUAGE
124
133
  }),
125
134
  __self: _this,
126
135
  __source: {
127
136
  fileName: _jsxFileName,
128
- lineNumber: 233,
137
+ lineNumber: 244,
129
138
  columnNumber: 7
130
139
  }
131
140
  }, _react["default"].createElement(_ThemeContext.ThemeProvider, {
@@ -133,14 +142,14 @@ var ChatWithContext = function ChatWithContext(props) {
133
142
  __self: _this,
134
143
  __source: {
135
144
  fileName: _jsxFileName,
136
- lineNumber: 236,
145
+ lineNumber: 247,
137
146
  columnNumber: 9
138
147
  }
139
148
  }, _react["default"].createElement(_ChannelsStateContext.ChannelsStateProvider, {
140
149
  __self: _this,
141
150
  __source: {
142
151
  fileName: _jsxFileName,
143
- lineNumber: 237,
152
+ lineNumber: 248,
144
153
  columnNumber: 11
145
154
  }
146
155
  }, children))));
@@ -154,7 +163,7 @@ var Chat = function Chat(props) {
154
163
  __self: _this,
155
164
  __source: {
156
165
  fileName: _jsxFileName,
157
- lineNumber: 272,
166
+ lineNumber: 283,
158
167
  columnNumber: 10
159
168
  }
160
169
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useAppSettings","_useCreateChatContext","_useIsOnline2","_useMutedUsers","_useSyncDatabase","_ChannelsStateContext","_ChatContext","_DebugContext","_OverlayContext","_ThemeContext","_TranslationContext","_useStreami18n","_init","_interopRequireDefault","_native","_QuickSqliteClient","_DBSyncManager","_StreamChatRN","_version","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","init","ChatWithContext","props","_client$user2","_client$user3","children","client","_props$closeConnectio","closeConnectionOnBackground","_props$enableOfflineS","enableOfflineSupport","i18nInstance","_props$ImageComponent","ImageComponent","Image","_props$resizableCDNHo","resizableCDNHosts","style","_useState","useState","_useState2","_slicedToArray2","channel","setChannel","translators","useStreami18n","_useIsOnline","useIsOnline","connectionRecovering","isOnline","_useState3","_useState4","initialisedDatabase","setInitialisedDatabase","mutedUsers","useMutedUsers","debugRef","useDebugContext","isDebugModeEnabled","__DEV__","current","StreamChatRN","setConfig","useEffect","setUserAgent","SDK","Platform","OS","version","recoverStateOnReconnect","persistUserOnConnectionFailure","setEventType","setSendEventParams","action","data","user","setActiveChannel","newChannel","_client$user","id","QuickSqliteClient","initializeDatabase","DBSyncManager","appSettings","useAppSettings","chatContext","useCreateChatContext","useSyncDatabase","createElement","ChatProvider","value","__self","__source","fileName","lineNumber","columnNumber","TranslationProvider","_extends2","userLanguage","language","DEFAULT_USER_LANGUAGE","ThemeProvider","ChannelsStateProvider","Chat","_useOverlayContext","useOverlayContext","exports"],"sources":["Chat.tsx"],"sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport { Image, Platform } from 'react-native';\n\nimport type { Channel, StreamChat } from 'stream-chat';\n\nimport { useAppSettings } from './hooks/useAppSettings';\nimport { useCreateChatContext } from './hooks/useCreateChatContext';\nimport { useIsOnline } from './hooks/useIsOnline';\nimport { useMutedUsers } from './hooks/useMutedUsers';\n\nimport { useSyncDatabase } from './hooks/useSyncDatabase';\n\nimport { ChannelsStateProvider } from '../../contexts/channelsStateContext/ChannelsStateContext';\nimport { ChatContextValue, ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { useDebugContext } from '../../contexts/debugContext/DebugContext';\nimport { useOverlayContext } from '../../contexts/overlayContext/OverlayContext';\nimport { DeepPartial, ThemeProvider } from '../../contexts/themeContext/ThemeContext';\nimport type { Theme } from '../../contexts/themeContext/utils/theme';\nimport {\n DEFAULT_USER_LANGUAGE,\n TranslationProvider,\n} from '../../contexts/translationContext/TranslationContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\nimport init from '../../init';\n\nimport { SDK } from '../../native';\nimport { QuickSqliteClient } from '../../store/QuickSqliteClient';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { DBSyncManager } from '../../utils/DBSyncManager';\nimport { StreamChatRN } from '../../utils/StreamChatRN';\nimport type { Streami18n } from '../../utils/Streami18n';\nimport { version } from '../../version.json';\n\ninit();\n\nexport type ChatProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &\n Partial<Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent' | 'resizableCDNHosts'>> & {\n /**\n * When false, ws connection won't be disconnection upon backgrounding the app.\n * To receive push notifications, its necessary that user doesn't have active\n * websocket connection. So by default, we disconnect websocket connection when\n * app goes to background, and reconnect when app comes to foreground.\n */\n closeConnectionOnBackground?: boolean;\n /**\n * Enables offline storage and loading for chat data.\n */\n enableOfflineSupport?: boolean;\n /**\n * Instance of Streami18n class should be provided to Chat component to enable internationalization.\n *\n * Stream provides following list of in-built translations:\n * 1. English (en)\n * 2. Dutch (nl)\n * 3. ...\n * 4. ...\n *\n * Simplest way to start using chat components in one of the in-built languages would be following:\n *\n * ```\n * const i18n = new Streami18n('nl');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * If you would like to override certain keys in in-built translation.\n * UI will be automatically updated in this case.\n *\n * ```\n * const i18n = new Streami18n('nl');\n *\n * i18n.registerTranslation('nl', {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * });\n *\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * You can use the same function to add whole new language.\n *\n * ```\n * const i18n = new Streami18n('it');\n *\n * i18n.registerTranslation('it', {\n * 'Nothing yet...': 'Non ancora ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} a {{ secondUser }} stanno scrivendo...',\n * });\n *\n * // Make sure to call setLanguage to reflect new language in UI.\n * i18n.setLanguage('it');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n */\n i18nInstance?: Streami18n;\n /**\n * You can pass the theme object to customize the styles of Chat components. You can check the default theme in [theme.ts](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/contexts/themeContext/utils/theme.ts)\n *\n * Please check section about [themes in cookbook](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#theme) for details.\n *\n * ```\n * import type { DeepPartial, Theme } from 'stream-chat-react-native';\n *\n * const theme: DeepPartial<Theme> = {\n * messageSimple: {\n * file: {\n * container: {\n * backgroundColor: 'red',\n * },\n * icon: {\n * height: 16,\n * width: 16,\n * },\n * },\n * },\n * };\n *\n * <Chat style={theme}>\n * </Chat>\n * ```\n *\n * @overrideType object\n */\n style?: DeepPartial<Theme>;\n };\n\nconst ChatWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChatProps<StreamChatGenerics>>,\n) => {\n const {\n children,\n client,\n closeConnectionOnBackground = true,\n enableOfflineSupport = false,\n i18nInstance,\n ImageComponent = Image,\n resizableCDNHosts = ['.stream-io-cdn.com'],\n style,\n } = props;\n\n const [channel, setChannel] = useState<Channel<StreamChatGenerics>>();\n\n // Setup translators\n const translators = useStreami18n(i18nInstance);\n\n /**\n * Setup connection event listeners\n */\n const { connectionRecovering, isOnline } = useIsOnline<StreamChatGenerics>(\n client,\n closeConnectionOnBackground,\n );\n\n const [initialisedDatabase, setInitialisedDatabase] = useState(false);\n\n /**\n * Setup muted user listener\n * TODO: reimplement\n */\n const mutedUsers = useMutedUsers<StreamChatGenerics>(client);\n\n const debugRef = useDebugContext();\n const isDebugModeEnabled = __DEV__ && debugRef && debugRef.current;\n\n // Set the `resizableCDNHosts` as per the prop.\n StreamChatRN.setConfig({ resizableCDNHosts });\n\n useEffect(() => {\n if (client) {\n client.setUserAgent(`${SDK}-${Platform.OS}-${version}`);\n // This is to disable recovery related logic in js client, since we handle it in this SDK\n client.recoverStateOnReconnect = false;\n client.persistUserOnConnectionFailure = enableOfflineSupport;\n }\n\n if (isDebugModeEnabled) {\n if (debugRef.current.setEventType) debugRef.current.setEventType('send');\n if (debugRef.current.setSendEventParams)\n debugRef.current.setSendEventParams({\n action: 'Client',\n data: client.user,\n });\n }\n }, [client, enableOfflineSupport]);\n\n const setActiveChannel = (newChannel?: Channel<StreamChatGenerics>) => setChannel(newChannel);\n\n useEffect(() => {\n if (client.user?.id && enableOfflineSupport) {\n setInitialisedDatabase(false);\n QuickSqliteClient.initializeDatabase();\n DBSyncManager.init(client as unknown as StreamChat);\n setInitialisedDatabase(true);\n }\n }, [client?.user?.id, enableOfflineSupport]);\n\n const appSettings = useAppSettings(client, isOnline, enableOfflineSupport, initialisedDatabase);\n\n const chatContext = useCreateChatContext({\n appSettings,\n channel,\n client,\n connectionRecovering,\n enableOfflineSupport,\n ImageComponent,\n isOnline,\n mutedUsers,\n resizableCDNHosts,\n setActiveChannel,\n });\n\n useSyncDatabase({\n client,\n enableOfflineSupport,\n initialisedDatabase,\n });\n\n if (enableOfflineSupport && !initialisedDatabase) {\n return null;\n }\n\n return (\n <ChatProvider<StreamChatGenerics> value={chatContext}>\n <TranslationProvider\n value={{ ...translators, userLanguage: client.user?.language || DEFAULT_USER_LANGUAGE }}\n >\n <ThemeProvider style={style}>\n <ChannelsStateProvider<StreamChatGenerics>>{children}</ChannelsStateProvider>\n </ThemeProvider>\n </TranslationProvider>\n </ChatProvider>\n );\n};\n\n/**\n * Chat - Wrapper component for Chat. The needs to be placed around any other chat components.\n * This Chat component provides the ChatContext to all other components.\n *\n * The ChatContext provides the following props:\n *\n * - channel - currently active channel\n * - client - client connection\n * - connectionRecovering - whether or not websocket is reconnecting\n * - isOnline - whether or not set user is active\n * - setActiveChannel - function to set the currently active channel\n *\n * The Chat Component takes the following generics in order:\n * - At (AttachmentType) - custom Attachment object extension\n * - Ct (ChannelType) - custom Channel object extension\n * - Co (CommandType) - custom Command string union extension\n * - Ev (EventType) - custom Event object extension\n * - Me (MessageType) - custom Message object extension\n * - Re (ReactionType) - custom Reaction object extension\n * - Us (UserType) - custom User object extension\n */\nexport const Chat = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChatProps<StreamChatGenerics>>,\n) => {\n const { style } = useOverlayContext();\n\n return <ChatWithContext {...{ style }} {...props} />;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useAppSettings","_useCreateChatContext","_useIsOnline2","_useMutedUsers","_useSyncDatabase","_ChannelsStateContext","_ChatContext","_DebugContext","_OverlayContext","_ThemeContext","_TranslationContext","_useStreami18n","_init","_interopRequireDefault","_native","_QuickSqliteClient","_DBSyncManager","_StreamChatRN","_version","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","init","ChatWithContext","props","_client$user","children","client","_props$closeConnectio","closeConnectionOnBackground","_props$enableOfflineS","enableOfflineSupport","i18nInstance","_props$ImageComponent","ImageComponent","Image","_props$resizableCDNHo","resizableCDNHosts","style","_useState","useState","_useState2","_slicedToArray2","channel","setChannel","translators","useStreami18n","_useIsOnline","useIsOnline","connectionRecovering","isOnline","_useState3","initialised","_useState4","initialisedDatabaseConfig","setInitialisedDatabaseConfig","mutedUsers","useMutedUsers","debugRef","useDebugContext","isDebugModeEnabled","__DEV__","current","userID","StreamChatRN","setConfig","useEffect","setUserAgent","SDK","Platform","OS","version","recoverStateOnReconnect","persistUserOnConnectionFailure","setEventType","setSendEventParams","action","data","user","setActiveChannel","newChannel","QuickSqliteClient","initializeDatabase","DBSyncManager","initialisedDatabase","appSettings","useAppSettings","chatContext","useCreateChatContext","useSyncDatabase","createElement","ChatProvider","value","__self","__source","fileName","lineNumber","columnNumber","TranslationProvider","_extends2","userLanguage","language","DEFAULT_USER_LANGUAGE","ThemeProvider","ChannelsStateProvider","Chat","_useOverlayContext","useOverlayContext","exports"],"sources":["Chat.tsx"],"sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport { Image, Platform } from 'react-native';\n\nimport type { Channel, StreamChat } from 'stream-chat';\n\nimport { useAppSettings } from './hooks/useAppSettings';\nimport { useCreateChatContext } from './hooks/useCreateChatContext';\nimport { useIsOnline } from './hooks/useIsOnline';\nimport { useMutedUsers } from './hooks/useMutedUsers';\n\nimport { useSyncDatabase } from './hooks/useSyncDatabase';\n\nimport { ChannelsStateProvider } from '../../contexts/channelsStateContext/ChannelsStateContext';\nimport { ChatContextValue, ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { useDebugContext } from '../../contexts/debugContext/DebugContext';\nimport { useOverlayContext } from '../../contexts/overlayContext/OverlayContext';\nimport { DeepPartial, ThemeProvider } from '../../contexts/themeContext/ThemeContext';\nimport type { Theme } from '../../contexts/themeContext/utils/theme';\nimport {\n DEFAULT_USER_LANGUAGE,\n TranslationProvider,\n} from '../../contexts/translationContext/TranslationContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\nimport init from '../../init';\n\nimport { SDK } from '../../native';\nimport { QuickSqliteClient } from '../../store/QuickSqliteClient';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { DBSyncManager } from '../../utils/DBSyncManager';\nimport { StreamChatRN } from '../../utils/StreamChatRN';\nimport type { Streami18n } from '../../utils/Streami18n';\nimport { version } from '../../version.json';\n\ninit();\n\nexport type ChatProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &\n Partial<Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent' | 'resizableCDNHosts'>> & {\n /**\n * When false, ws connection won't be disconnection upon backgrounding the app.\n * To receive push notifications, its necessary that user doesn't have active\n * websocket connection. So by default, we disconnect websocket connection when\n * app goes to background, and reconnect when app comes to foreground.\n */\n closeConnectionOnBackground?: boolean;\n /**\n * Enables offline storage and loading for chat data.\n */\n enableOfflineSupport?: boolean;\n /**\n * Instance of Streami18n class should be provided to Chat component to enable internationalization.\n *\n * Stream provides following list of in-built translations:\n * 1. English (en)\n * 2. Dutch (nl)\n * 3. ...\n * 4. ...\n *\n * Simplest way to start using chat components in one of the in-built languages would be following:\n *\n * ```\n * const i18n = new Streami18n('nl');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * If you would like to override certain keys in in-built translation.\n * UI will be automatically updated in this case.\n *\n * ```\n * const i18n = new Streami18n('nl');\n *\n * i18n.registerTranslation('nl', {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * });\n *\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * You can use the same function to add whole new language.\n *\n * ```\n * const i18n = new Streami18n('it');\n *\n * i18n.registerTranslation('it', {\n * 'Nothing yet...': 'Non ancora ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} a {{ secondUser }} stanno scrivendo...',\n * });\n *\n * // Make sure to call setLanguage to reflect new language in UI.\n * i18n.setLanguage('it');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n */\n i18nInstance?: Streami18n;\n /**\n * You can pass the theme object to customize the styles of Chat components. You can check the default theme in [theme.ts](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/contexts/themeContext/utils/theme.ts)\n *\n * Please check section about [themes in cookbook](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#theme) for details.\n *\n * ```\n * import type { DeepPartial, Theme } from 'stream-chat-react-native';\n *\n * const theme: DeepPartial<Theme> = {\n * messageSimple: {\n * file: {\n * container: {\n * backgroundColor: 'red',\n * },\n * icon: {\n * height: 16,\n * width: 16,\n * },\n * },\n * },\n * };\n *\n * <Chat style={theme}>\n * </Chat>\n * ```\n *\n * @overrideType object\n */\n style?: DeepPartial<Theme>;\n };\n\nconst ChatWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChatProps<StreamChatGenerics>>,\n) => {\n const {\n children,\n client,\n closeConnectionOnBackground = true,\n enableOfflineSupport = false,\n i18nInstance,\n ImageComponent = Image,\n resizableCDNHosts = ['.stream-io-cdn.com'],\n style,\n } = props;\n\n const [channel, setChannel] = useState<Channel<StreamChatGenerics>>();\n\n // Setup translators\n const translators = useStreami18n(i18nInstance);\n\n /**\n * Setup connection event listeners\n */\n const { connectionRecovering, isOnline } = useIsOnline<StreamChatGenerics>(\n client,\n closeConnectionOnBackground,\n );\n\n const [initialisedDatabaseConfig, setInitialisedDatabaseConfig] = useState<{\n initialised: boolean;\n userID?: string;\n }>({\n initialised: false,\n });\n\n /**\n * Setup muted user listener\n * TODO: reimplement\n */\n const mutedUsers = useMutedUsers<StreamChatGenerics>(client);\n\n const debugRef = useDebugContext();\n const isDebugModeEnabled = __DEV__ && debugRef && debugRef.current;\n\n const userID = client.userID;\n\n // Set the `resizableCDNHosts` as per the prop.\n StreamChatRN.setConfig({ resizableCDNHosts });\n\n useEffect(() => {\n if (client) {\n client.setUserAgent(`${SDK}-${Platform.OS}-${version}`);\n // This is to disable recovery related logic in js client, since we handle it in this SDK\n client.recoverStateOnReconnect = false;\n client.persistUserOnConnectionFailure = enableOfflineSupport;\n }\n\n if (isDebugModeEnabled) {\n if (debugRef.current.setEventType) debugRef.current.setEventType('send');\n if (debugRef.current.setSendEventParams)\n debugRef.current.setSendEventParams({\n action: 'Client',\n data: client.user,\n });\n }\n }, [client, enableOfflineSupport]);\n\n const setActiveChannel = (newChannel?: Channel<StreamChatGenerics>) => setChannel(newChannel);\n\n useEffect(() => {\n if (userID && enableOfflineSupport) {\n setInitialisedDatabaseConfig({ initialised: false, userID });\n QuickSqliteClient.initializeDatabase();\n DBSyncManager.init(client as unknown as StreamChat);\n setInitialisedDatabaseConfig({ initialised: true, userID });\n }\n }, [userID, enableOfflineSupport]);\n\n const initialisedDatabase =\n initialisedDatabaseConfig.initialised && userID === initialisedDatabaseConfig.userID;\n\n const appSettings = useAppSettings(client, isOnline, enableOfflineSupport, initialisedDatabase);\n\n const chatContext = useCreateChatContext({\n appSettings,\n channel,\n client,\n connectionRecovering,\n enableOfflineSupport,\n ImageComponent,\n isOnline,\n mutedUsers,\n resizableCDNHosts,\n setActiveChannel,\n });\n\n useSyncDatabase({\n client,\n enableOfflineSupport,\n initialisedDatabase,\n });\n\n if (userID && enableOfflineSupport && !initialisedDatabase) {\n // if user id has been set and offline support is enabled, we need to wait for database to be initialised\n return null;\n }\n\n return (\n <ChatProvider<StreamChatGenerics> value={chatContext}>\n <TranslationProvider\n value={{ ...translators, userLanguage: client.user?.language || DEFAULT_USER_LANGUAGE }}\n >\n <ThemeProvider style={style}>\n <ChannelsStateProvider<StreamChatGenerics>>{children}</ChannelsStateProvider>\n </ThemeProvider>\n </TranslationProvider>\n </ChatProvider>\n );\n};\n\n/**\n * Chat - Wrapper component for Chat. The needs to be placed around any other chat components.\n * This Chat component provides the ChatContext to all other components.\n *\n * The ChatContext provides the following props:\n *\n * - channel - currently active channel\n * - client - client connection\n * - connectionRecovering - whether or not websocket is reconnecting\n * - isOnline - whether or not set user is active\n * - setActiveChannel - function to set the currently active channel\n *\n * The Chat Component takes the following generics in order:\n * - At (AttachmentType) - custom Attachment object extension\n * - Ct (ChannelType) - custom Channel object extension\n * - Co (CommandType) - custom Command string union extension\n * - Ev (EventType) - custom Event object extension\n * - Me (MessageType) - custom Message object extension\n * - Re (ReactionType) - custom Reaction object extension\n * - Us (UserType) - custom User object extension\n */\nexport const Chat = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChatProps<StreamChatGenerics>>,\n) => {\n const { style } = useOverlayContext();\n\n return <ChatWithContext {...{ style }} {...props} />;\n};\n"],"mappings":"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"}
@@ -33,8 +33,14 @@ var useAppSettings = function useAppSettings(client, isOnline, enableOfflineSupp
33
33
  }
34
34
  return _context.abrupt("return");
35
35
  case 2:
36
- if (!(!isOnline && enableOfflineSupport && initialisedDatabase)) {
37
- _context.next = 6;
36
+ if (!(enableOfflineSupport && !initialisedDatabase)) {
37
+ _context.next = 4;
38
+ break;
39
+ }
40
+ return _context.abrupt("return");
41
+ case 4:
42
+ if (!(!isOnline && enableOfflineSupport)) {
43
+ _context.next = 8;
38
44
  break;
39
45
  }
40
46
  _appSettings = dbApi.getAppSettings({
@@ -42,11 +48,11 @@ var useAppSettings = function useAppSettings(client, isOnline, enableOfflineSupp
42
48
  });
43
49
  setAppSettings(_appSettings);
44
50
  return _context.abrupt("return");
45
- case 6:
46
- _context.prev = 6;
47
- _context.next = 9;
51
+ case 8:
52
+ _context.prev = 8;
53
+ _context.next = 11;
48
54
  return client.getAppSettings();
49
- case 9:
55
+ case 11:
50
56
  _appSettings2 = _context.sent;
51
57
  if (isMounted.current) {
52
58
  setAppSettings(_appSettings2);
@@ -55,19 +61,19 @@ var useAppSettings = function useAppSettings(client, isOnline, enableOfflineSupp
55
61
  currentUserId: client.userID
56
62
  });
57
63
  }
58
- _context.next = 16;
64
+ _context.next = 18;
59
65
  break;
60
- case 13:
61
- _context.prev = 13;
62
- _context.t0 = _context["catch"](6);
66
+ case 15:
67
+ _context.prev = 15;
68
+ _context.t0 = _context["catch"](8);
63
69
  if (_context.t0 instanceof Error) {
64
70
  console.error("An error occurred while getting app settings: " + _context.t0);
65
71
  }
66
- case 16:
72
+ case 18:
67
73
  case "end":
68
74
  return _context.stop();
69
75
  }
70
- }, _callee, null, [[6, 13]]);
76
+ }, _callee, null, [[8, 15]]);
71
77
  }));
72
78
  return _enforeAppSettings.apply(this, arguments);
73
79
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","dbApi","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useAppSettings","client","isOnline","enableOfflineSupport","initialisedDatabase","_useState","useState","_useState2","_slicedToArray2","appSettings","setAppSettings","isMounted","useRef","useEffect","enforeAppSettings","_enforeAppSettings","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","_appSettings","_appSettings2","wrap","_callee$","_context","prev","next","userID","abrupt","getAppSettings","currentUserId","sent","current","upsertAppSettings","t0","Error","console","error","stop","exports"],"sources":["useAppSettings.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { AppSettingsAPIResponse, StreamChat } from 'stream-chat';\n\nimport * as dbApi from '../../../store/apis';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nexport const useAppSettings = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n client: StreamChat<StreamChatGenerics>,\n isOnline: boolean | null,\n enableOfflineSupport: boolean,\n initialisedDatabase: boolean,\n): AppSettingsAPIResponse | null => {\n const [appSettings, setAppSettings] = useState<AppSettingsAPIResponse | null>(null);\n const isMounted = useRef(true);\n\n useEffect(() => {\n async function enforeAppSettings() {\n if (!client.userID) return;\n\n if (!isOnline && enableOfflineSupport && initialisedDatabase) {\n const appSettings = dbApi.getAppSettings({ currentUserId: client.userID });\n setAppSettings(appSettings);\n return;\n }\n\n try {\n const appSettings = await client.getAppSettings();\n if (isMounted.current) {\n setAppSettings(appSettings);\n enableOfflineSupport &&\n dbApi.upsertAppSettings({\n appSettings,\n currentUserId: client.userID as string,\n });\n }\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error(`An error occurred while getting app settings: ${error}`);\n }\n }\n }\n\n enforeAppSettings();\n\n return () => {\n isMounted.current = false;\n };\n }, [client, isOnline, initialisedDatabase]);\n\n return appSettings;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","dbApi","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useAppSettings","client","isOnline","enableOfflineSupport","initialisedDatabase","_useState","useState","_useState2","_slicedToArray2","appSettings","setAppSettings","isMounted","useRef","useEffect","enforeAppSettings","_enforeAppSettings","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","_appSettings","_appSettings2","wrap","_callee$","_context","prev","next","userID","abrupt","getAppSettings","currentUserId","sent","current","upsertAppSettings","t0","Error","console","error","stop","exports"],"sources":["useAppSettings.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { AppSettingsAPIResponse, StreamChat } from 'stream-chat';\n\nimport * as dbApi from '../../../store/apis';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nexport const useAppSettings = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n client: StreamChat<StreamChatGenerics>,\n isOnline: boolean | null,\n enableOfflineSupport: boolean,\n initialisedDatabase: boolean,\n): AppSettingsAPIResponse | null => {\n const [appSettings, setAppSettings] = useState<AppSettingsAPIResponse | null>(null);\n const isMounted = useRef(true);\n\n useEffect(() => {\n async function enforeAppSettings() {\n if (!client.userID) return;\n\n if (enableOfflineSupport && !initialisedDatabase) return;\n\n if (!isOnline && enableOfflineSupport) {\n const appSettings = dbApi.getAppSettings({ currentUserId: client.userID });\n setAppSettings(appSettings);\n return;\n }\n\n try {\n const appSettings = await client.getAppSettings();\n if (isMounted.current) {\n setAppSettings(appSettings);\n enableOfflineSupport &&\n dbApi.upsertAppSettings({\n appSettings,\n currentUserId: client.userID as string,\n });\n }\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error(`An error occurred while getting app settings: ${error}`);\n }\n }\n }\n\n enforeAppSettings();\n\n return () => {\n isMounted.current = false;\n };\n }, [client, isOnline, initialisedDatabase]);\n\n return appSettings;\n};\n"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  {
2
- "1 Reply": "1 respuesta",
2
+ "1 Reply": "",
3
3
  "1 Thread Reply": "",
4
4
  "Allow access to your Gallery": "",
5
5
  "Allow camera access in device settings": "",
6
6
  "Also send to channel": "",
7
7
  "Are you sure you want to permanently delete this message?": "",
8
- "Are you sure?": "",
8
+ "Are you sure?": "¿Estás seguro?",
9
9
  "Block User": "",
10
10
  "Cancel": "",
11
11
  "Cannot Flag Message": "",
12
- "Consider how your comment might make others feel and be sure to follow our Community Guidelines": "",
12
+ "Consider how your comment might make others feel and be sure to follow our Community Guidelines": "Considera cómo tu comentario podría hacer sentir a los demás y asegúrate de seguir nuestras Normas de la Comunidad",
13
13
  "Copy Message": "",
14
14
  "Delete": "",
15
15
  "Delete Message": "",
@@ -18,48 +18,48 @@
18
18
  "Edit Message": "",
19
19
  "Editing Message": "",
20
20
  "Emoji matching": "",
21
- "Empty message...": "Mensaje vacío...",
22
- "Error loading": "Error al cargar",
23
- "Error loading channel list...": "Error al cargar la lista de canales...",
24
- "Error loading messages for this channel...": "Error al cargar los mensajes de este canal...",
25
- "Error while loading, please reload/refresh": "Error al cargar, por favor recarga/actualiza",
21
+ "Empty message...": "",
22
+ "Error loading": "",
23
+ "Error loading channel list...": "",
24
+ "Error loading messages for this channel...": "",
25
+ "Error while loading, please reload/refresh": "",
26
26
  "File type not supported": "Tipo de archivo no admitido",
27
27
  "Flag": "",
28
28
  "Flag Message": "",
29
29
  "Flag action failed either due to a network issue or the message is already flagged": "",
30
- "How about sending your first message to a friend?": "¿Qué tal enviar tu primer mensaje a un amigo?",
30
+ "How about sending your first message to a friend?": "",
31
31
  "Instant Commands": "",
32
- "Let's start chatting!": "¡Empecemos a charlar!",
33
- "Links are disabled": "",
32
+ "Let's start chatting!": "",
33
+ "Links are disabled": "Los enlaces están desactivados",
34
34
  "Loading channels...": "Cargando canales...",
35
35
  "Loading messages...": "Cargando mensajes...",
36
36
  "Loading...": "Cargando...",
37
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
38
- "Message Reactions": "Reacciones al mensaje",
37
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "El archivo supera el tamaño máximo permitido. Por favor, selecciona un archivo menor a {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.",
38
+ "Message Reactions": "",
39
39
  "Message deleted": "Mensaje eliminado",
40
40
  "Message flagged": "",
41
41
  "Mute User": "",
42
- "Not supported": "",
43
- "Nothing yet...": "Aún no hay nada...",
42
+ "Not supported": "No admitido",
43
+ "Nothing yet...": "",
44
44
  "Ok": "",
45
45
  "Only visible to you": "Solo visible para ti",
46
46
  "Open Settings": "",
47
47
  "Photo": "Foto",
48
48
  "Photos and Videos": "",
49
49
  "Pin to Conversation": "",
50
- "Pinned by": "Fijado por",
50
+ "Pinned by": "",
51
51
  "Please enable access to your photos and videos so you can share them.": "",
52
- "Please select a channel first": "",
53
- "Reconnecting...": "Reconectando...",
52
+ "Please select a channel first": "Por favor, selecciona primero un canal",
53
+ "Reconnecting...": "",
54
54
  "Reply": "",
55
- "Reply to Message": "Responder al mensaje",
55
+ "Reply to Message": "",
56
56
  "Resend": "",
57
- "Search GIFs": "Buscar GIFs",
57
+ "Search GIFs": "",
58
58
  "Select More Photos": "",
59
- "Send Anyway": "",
60
- "Send a message": "Enviar un mensaje",
61
- "Sending links is not allowed in this conversation": "",
62
- "Slow mode ON": "Modo lento ACTIVADO",
59
+ "Send Anyway": "Enviar de todos modos",
60
+ "Send a message": "",
61
+ "Sending links is not allowed in this conversation": "No está permitido enviar enlaces en esta conversación",
62
+ "Slow mode ON": "",
63
63
  "The message has been reported to a moderator.": "",
64
64
  "Thread Reply": "",
65
65
  "Unblock User": "",
@@ -69,11 +69,11 @@
69
69
  "Unread Messages": "",
70
70
  "Video": "Video",
71
71
  "You": "Tú",
72
- "You can't send messages in this channel": "No puedes enviar mensajes en este canal",
73
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} y {{ nonSelfUserLength }} más están escribiendo",
72
+ "You can't send messages in this channel": "",
73
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
74
74
  "{{ index }} of {{ photoLength }}": "",
75
- "{{ replyCount }} Replies": "{{ replyCount }} Respuestas",
75
+ "{{ replyCount }} Replies": "",
76
76
  "{{ replyCount }} Thread Replies": "",
77
- "{{ user }} is typing": "{{ user }} está escribiendo",
78
- "🏙 Attachment...": "🏙 Adjunto..."
77
+ "{{ user }} is typing": "",
78
+ "🏙 Attachment...": ""
79
79
  }
@@ -1,15 +1,15 @@
1
1
  {
2
- "1 Reply": "1 Réponse",
2
+ "1 Reply": "",
3
3
  "1 Thread Reply": "",
4
4
  "Allow access to your Gallery": "",
5
5
  "Allow camera access in device settings": "",
6
6
  "Also send to channel": "",
7
7
  "Are you sure you want to permanently delete this message?": "",
8
- "Are you sure?": "",
8
+ "Are you sure?": "Es-tu sûr ?",
9
9
  "Block User": "",
10
10
  "Cancel": "",
11
11
  "Cannot Flag Message": "",
12
- "Consider how your comment might make others feel and be sure to follow our Community Guidelines": "",
12
+ "Consider how your comment might make others feel and be sure to follow our Community Guidelines": "Considérez comment votre commentaire pourrait faire sentir les autres et assurez-vous de suivre nos directives communautaires",
13
13
  "Copy Message": "",
14
14
  "Delete": "",
15
15
  "Delete Message": "",
@@ -18,48 +18,48 @@
18
18
  "Edit Message": "",
19
19
  "Editing Message": "",
20
20
  "Emoji matching": "",
21
- "Empty message...": "Message vide...",
22
- "Error loading": "Erreur lors du chargement",
23
- "Error loading channel list...": "Erreur lors du chargement de la liste de canaux...",
24
- "Error loading messages for this channel...": "Erreur lors du chargement des messages de ce canal...",
25
- "Error while loading, please reload/refresh": "Erreur lors du chargement, veuillez recharger/rafraîchir",
21
+ "Empty message...": "",
22
+ "Error loading": "",
23
+ "Error loading channel list...": "",
24
+ "Error loading messages for this channel...": "",
25
+ "Error while loading, please reload/refresh": "",
26
26
  "File type not supported": "Le type de fichier n'est pas pris en charge",
27
27
  "Flag": "",
28
28
  "Flag Message": "",
29
29
  "Flag action failed either due to a network issue or the message is already flagged": "",
30
- "How about sending your first message to a friend?": "Et si vous envoyiez votre premier message à un ami ?",
30
+ "How about sending your first message to a friend?": "",
31
31
  "Instant Commands": "",
32
- "Let's start chatting!": "Commençons à discuter !",
33
- "Links are disabled": "",
32
+ "Let's start chatting!": "",
33
+ "Links are disabled": "Links are disabled",
34
34
  "Loading channels...": "Chargement des canaux...",
35
35
  "Loading messages...": "Chargement des messages...",
36
36
  "Loading...": "Chargement...",
37
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
38
- "Message Reactions": "Réactions aux messages",
37
+ "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.",
38
+ "Message Reactions": "",
39
39
  "Message deleted": "Message supprimé",
40
40
  "Message flagged": "",
41
41
  "Mute User": "",
42
- "Not supported": "",
43
- "Nothing yet...": "Aucun message...",
42
+ "Not supported": "Non pris en charge",
43
+ "Nothing yet...": "",
44
44
  "Ok": "",
45
45
  "Only visible to you": "Seulement visible par vous",
46
46
  "Open Settings": "",
47
47
  "Photo": "Photo",
48
48
  "Photos and Videos": "",
49
49
  "Pin to Conversation": "",
50
- "Pinned by": "Épinglé par",
50
+ "Pinned by": "",
51
51
  "Please enable access to your photos and videos so you can share them.": "",
52
- "Please select a channel first": "",
53
- "Reconnecting...": "Se Reconnecter...",
52
+ "Please select a channel first": "Veuillez d'abord selectionnez un canal",
53
+ "Reconnecting...": "",
54
54
  "Reply": "",
55
- "Reply to Message": "Répondre au message",
55
+ "Reply to Message": "",
56
56
  "Resend": "",
57
- "Search GIFs": "Rechercher des GIF",
57
+ "Search GIFs": "",
58
58
  "Select More Photos": "",
59
- "Send Anyway": "",
60
- "Send a message": "Envoyer un message",
61
- "Sending links is not allowed in this conversation": "",
62
- "Slow mode ON": "Mode lent activé",
59
+ "Send Anyway": "Envoyer quand même",
60
+ "Send a message": "",
61
+ "Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
62
+ "Slow mode ON": "",
63
63
  "The message has been reported to a moderator.": "",
64
64
  "Thread Reply": "",
65
65
  "Unblock User": "",
@@ -69,11 +69,11 @@
69
69
  "Unread Messages": "",
70
70
  "Video": "Vidéo",
71
71
  "You": "Toi",
72
- "You can't send messages in this channel": "You can't send messages in this channel",
73
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} et {{ nonSelfUserLength }} autres sont en train d'écrire",
72
+ "You can't send messages in this channel": "",
73
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
74
74
  "{{ index }} of {{ photoLength }}": "",
75
- "{{ replyCount }} Replies": "{{ replyCount }} Réponses",
75
+ "{{ replyCount }} Replies": "",
76
76
  "{{ replyCount }} Thread Replies": "",
77
- "{{ user }} is typing": "{{ user }} est en train d'écrire",
78
- "🏙 Attachment...": "🏙 Pièce jointe..."
77
+ "{{ user }} is typing": "",
78
+ "🏙 Attachment...": ""
79
79
  }
@@ -1,15 +1,15 @@
1
1
  {
2
- "1 Reply": "תגובה אחת",
2
+ "1 Reply": "",
3
3
  "1 Thread Reply": "",
4
4
  "Allow access to your Gallery": "",
5
5
  "Allow camera access in device settings": "",
6
6
  "Also send to channel": "",
7
7
  "Are you sure you want to permanently delete this message?": "",
8
- "Are you sure?": "",
8
+ "Are you sure?": "האם אתה בטוח?",
9
9
  "Block User": "",
10
10
  "Cancel": "",
11
11
  "Cannot Flag Message": "",
12
- "Consider how your comment might make others feel and be sure to follow our Community Guidelines": "",
12
+ "Consider how your comment might make others feel and be sure to follow our Community Guidelines": "שקול איך התגובה שלך עשויה להשפיע על אחרים ווודא שאתה עוקב אחר ההנחיות של הקהילה שלנו",
13
13
  "Copy Message": "",
14
14
  "Delete": "",
15
15
  "Delete Message": "",
@@ -18,48 +18,48 @@
18
18
  "Edit Message": "",
19
19
  "Editing Message": "",
20
20
  "Emoji matching": "",
21
- "Empty message...": "הודעה ריקה...",
22
- "Error loading": "שגיאה ארעה בעת הטעינה",
23
- "Error loading channel list...": "שגיאה ארעה בטעינת השיחות...",
24
- "Error loading messages for this channel...": "שגיאה ארעה בטעינת הודעות עבור שיחה זאת...",
25
- "Error while loading, please reload/refresh": "שגיאה ארעה בזמן הטעינה, אנא טען מחדש/רענן",
21
+ "Empty message...": "",
22
+ "Error loading": "",
23
+ "Error loading channel list...": "",
24
+ "Error loading messages for this channel...": "",
25
+ "Error while loading, please reload/refresh": "",
26
26
  "File type not supported": "סוג הקובץ אינו נתמך",
27
27
  "Flag": "",
28
28
  "Flag Message": "",
29
29
  "Flag action failed either due to a network issue or the message is already flagged": "",
30
- "How about sending your first message to a friend?": "מה דעתך לשלוח את ההודעה הראשונה שלך לחבר?",
30
+ "How about sending your first message to a friend?": "",
31
31
  "Instant Commands": "",
32
- "Let's start chatting!": "בואו נתחיל לשוחח!",
33
- "Links are disabled": "",
32
+ "Let's start chatting!": "",
33
+ "Links are disabled": "הקישורים מבוטלים",
34
34
  "Loading channels...": "השיחות בטעינה...",
35
35
  "Loading messages...": "ההודעות בטעינה..",
36
36
  "Loading...": "טוען...",
37
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
38
- "Message Reactions": "תגובות להודעה",
37
+ "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",
38
+ "Message Reactions": "",
39
39
  "Message deleted": "ההודעה נמחקה",
40
40
  "Message flagged": "",
41
41
  "Mute User": "",
42
- "Not supported": "",
43
- "Nothing yet...": "אינפורמציה תתקבל בהמשך...",
42
+ "Not supported": "לא נתמך",
43
+ "Nothing yet...": "",
44
44
  "Ok": "",
45
45
  "Only visible to you": "גלוי רק לך",
46
46
  "Open Settings": "",
47
47
  "Photo": "תמונה",
48
48
  "Photos and Videos": "",
49
49
  "Pin to Conversation": "",
50
- "Pinned by": " - הוצמד לשיחה",
50
+ "Pinned by": "",
51
51
  "Please enable access to your photos and videos so you can share them.": "",
52
- "Please select a channel first": "",
53
- "Reconnecting...": "מתחבר מחדש...",
52
+ "Please select a channel first": "אנא בחר/י שיחה תחילה",
53
+ "Reconnecting...": "",
54
54
  "Reply": "",
55
- "Reply to Message": "השב/י להודעה",
55
+ "Reply to Message": "",
56
56
  "Resend": "",
57
- "Search GIFs": "חפש/י GIFs",
57
+ "Search GIFs": "",
58
58
  "Select More Photos": "",
59
- "Send Anyway": "",
60
- "Send a message": "שלח/י הודעה",
61
- "Sending links is not allowed in this conversation": "",
62
- "Slow mode ON": "מצב איטי מופעל",
59
+ "Send Anyway": "שלח בכל זאת",
60
+ "Send a message": "",
61
+ "Sending links is not allowed in this conversation": "שליחת קישורים אינה מותרת בשיחה זו",
62
+ "Slow mode ON": "",
63
63
  "The message has been reported to a moderator.": "",
64
64
  "Thread Reply": "",
65
65
  "Unblock User": "",
@@ -69,11 +69,11 @@
69
69
  "Unread Messages": "",
70
70
  "Video": "וִידֵאוֹ",
71
71
  "You": "את/ה",
72
- "You can't send messages in this channel": "את/ב לא יכול/ה לשלוח הודעות בשיחה זו",
73
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} ו-{{ nonSelfUserLength }} משתמש/ים אחר/ים מקלידים",
72
+ "You can't send messages in this channel": "",
73
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
74
74
  "{{ index }} of {{ photoLength }}": "",
75
- "{{ replyCount }} Replies": "{{ replyCount }} תגובות",
75
+ "{{ replyCount }} Replies": "",
76
76
  "{{ replyCount }} Thread Replies": "",
77
- "{{ user }} is typing": "{{ user }} מקליד/ה",
78
- "🏙 Attachment...": "🏙 קובץ מצורף..."
77
+ "{{ user }} is typing": "",
78
+ "🏙 Attachment...": ""
79
79
  }