stream-chat-react-native-core 5.27.0-beta.2 → 5.27.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Chat/Chat.js +25 -16
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js +18 -12
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/commonjs/i18n/es.json +16 -16
- package/lib/commonjs/i18n/fr.json +16 -16
- package/lib/commonjs/i18n/he.json +16 -16
- package/lib/commonjs/i18n/hi.json +16 -16
- package/lib/commonjs/i18n/it.json +16 -16
- package/lib/commonjs/i18n/ja.json +16 -16
- package/lib/commonjs/i18n/ko.json +16 -16
- package/lib/commonjs/i18n/nl.json +16 -16
- package/lib/commonjs/i18n/pt-BR.json +16 -16
- package/lib/commonjs/i18n/ru.json +16 -16
- package/lib/commonjs/i18n/tr.json +16 -16
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Chat/Chat.js +25 -16
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useAppSettings.js +18 -12
- package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/module/i18n/es.json +16 -16
- package/lib/module/i18n/fr.json +16 -16
- package/lib/module/i18n/he.json +16 -16
- package/lib/module/i18n/hi.json +16 -16
- package/lib/module/i18n/it.json +16 -16
- package/lib/module/i18n/ja.json +16 -16
- package/lib/module/i18n/ko.json +16 -16
- package/lib/module/i18n/nl.json +16 -16
- package/lib/module/i18n/pt-BR.json +16 -16
- package/lib/module/i18n/ru.json +16 -16
- package/lib/module/i18n/tr.json +16 -16
- package/lib/module/version.json +1 -1
- package/lib/typescript/i18n/es.json +16 -16
- package/lib/typescript/i18n/fr.json +16 -16
- package/lib/typescript/i18n/he.json +16 -16
- package/lib/typescript/i18n/hi.json +16 -16
- package/lib/typescript/i18n/it.json +16 -16
- package/lib/typescript/i18n/ja.json +16 -16
- package/lib/typescript/i18n/ko.json +16 -16
- package/lib/typescript/i18n/nl.json +16 -16
- package/lib/typescript/i18n/pt-BR.json +16 -16
- package/lib/typescript/i18n/ru.json +16 -16
- package/lib/typescript/i18n/tr.json +16 -16
- package/package.json +1 -1
- package/src/components/Chat/Chat.tsx +17 -6
- package/src/components/Chat/hooks/useAppSettings.ts +3 -1
- package/src/i18n/es.json +16 -16
- package/src/i18n/fr.json +16 -16
- package/src/i18n/he.json +16 -16
- package/src/i18n/hi.json +16 -16
- package/src/i18n/it.json +16 -16
- package/src/i18n/ja.json +16 -16
- package/src/i18n/ko.json +16 -16
- package/src/i18n/nl.json +16 -16
- package/src/i18n/pt-BR.json +16 -16
- package/src/i18n/ru.json +16 -16
- package/src/i18n/tr.json +16 -16
- 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$
|
|
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)(
|
|
56
|
+
var _useState3 = (0, _react.useState)({
|
|
57
|
+
initialised: false
|
|
58
|
+
}),
|
|
57
59
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
|
|
94
|
+
setInitialisedDatabaseConfig({
|
|
95
|
+
initialised: true,
|
|
96
|
+
userID: userID
|
|
97
|
+
});
|
|
90
98
|
}
|
|
91
|
-
}, [
|
|
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:
|
|
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$
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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 (!(
|
|
37
|
-
_context.next =
|
|
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
|
|
46
|
-
_context.prev =
|
|
47
|
-
_context.next =
|
|
51
|
+
case 8:
|
|
52
|
+
_context.prev = 8;
|
|
53
|
+
_context.next = 11;
|
|
48
54
|
return client.getAppSettings();
|
|
49
|
-
case
|
|
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 =
|
|
64
|
+
_context.next = 18;
|
|
59
65
|
break;
|
|
60
|
-
case
|
|
61
|
-
_context.prev =
|
|
62
|
-
_context.t0 = _context["catch"](
|
|
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
|
|
72
|
+
case 18:
|
|
67
73
|
case "end":
|
|
68
74
|
return _context.stop();
|
|
69
75
|
}
|
|
70
|
-
}, _callee, null, [[
|
|
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
|
|
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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"}
|
|
@@ -5,25 +5,25 @@
|
|
|
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?": "¿Estás seguro de que deseas eliminar permanentemente este mensaje?",
|
|
8
|
-
"Are you sure?": "
|
|
8
|
+
"Are you sure?": "",
|
|
9
9
|
"Block User": "Bloquear usuario",
|
|
10
10
|
"Cancel": "Cancelar",
|
|
11
11
|
"Cannot Flag Message": "No se puede reportar el mensaje",
|
|
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": "Copiar mensaje",
|
|
14
14
|
"Delete": "Eliminar",
|
|
15
15
|
"Delete Message": "Eliminar mensaje",
|
|
16
16
|
"Device camera is used to take photos or videos.": "",
|
|
17
17
|
"Do you want to send a copy of this message to a moderator for further investigation?": "¿Deseas enviar una copia de este mensaje a un moderador para una investigación adicional?",
|
|
18
18
|
"Edit Message": "Editar mensaje",
|
|
19
|
-
"Editing Message": "
|
|
19
|
+
"Editing Message": "",
|
|
20
20
|
"Emoji matching": "Coincidencia de emoji",
|
|
21
21
|
"Empty message...": "",
|
|
22
|
-
"Error loading": "",
|
|
22
|
+
"Error loading": "Error al cargar",
|
|
23
23
|
"Error loading channel list...": "",
|
|
24
24
|
"Error loading messages for this channel...": "Error al cargar los mensajes de este canal...",
|
|
25
25
|
"Error while loading, please reload/refresh": "",
|
|
26
|
-
"File type not supported": "",
|
|
26
|
+
"File type not supported": "Tipo de archivo no admitido",
|
|
27
27
|
"Flag": "Reportar",
|
|
28
28
|
"Flag Message": "Reportar mensaje",
|
|
29
29
|
"Flag action failed either due to a network issue or the message is already flagged": "El reporte falló debido a un problema de red o el mensaje ya fue reportado.",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"Instant Commands": "Comandos instantáneos",
|
|
32
32
|
"Let's start chatting!": "",
|
|
33
33
|
"Links are disabled": "Los enlaces están desactivados",
|
|
34
|
-
"Loading channels...": "",
|
|
35
|
-
"Loading messages...": "",
|
|
36
|
-
"Loading...": "",
|
|
34
|
+
"Loading channels...": "Cargando canales...",
|
|
35
|
+
"Loading messages...": "Cargando mensajes...",
|
|
36
|
+
"Loading...": "Cargando...",
|
|
37
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
38
|
"Message Reactions": "",
|
|
39
39
|
"Message deleted": "Mensaje eliminado",
|
|
@@ -44,19 +44,19 @@
|
|
|
44
44
|
"Ok": "Aceptar",
|
|
45
45
|
"Only visible to you": "",
|
|
46
46
|
"Open Settings": "",
|
|
47
|
-
"Photo": "
|
|
47
|
+
"Photo": "",
|
|
48
48
|
"Photos and Videos": "",
|
|
49
49
|
"Pin to Conversation": "Fijar a la conversación",
|
|
50
|
-
"Pinned by": "",
|
|
50
|
+
"Pinned by": "Fijado por",
|
|
51
51
|
"Please enable access to your photos and videos so you can share them.": "",
|
|
52
|
-
"Please select a channel first": "
|
|
52
|
+
"Please select a channel first": "",
|
|
53
53
|
"Reconnecting...": "Reconectando...",
|
|
54
54
|
"Reply": "Responder",
|
|
55
55
|
"Reply to Message": "",
|
|
56
56
|
"Resend": "Reenviar",
|
|
57
57
|
"Search GIFs": "",
|
|
58
58
|
"Select More Photos": "",
|
|
59
|
-
"Send Anyway": "
|
|
59
|
+
"Send Anyway": "",
|
|
60
60
|
"Send a message": "",
|
|
61
61
|
"Sending links is not allowed in this conversation": "No está permitido enviar enlaces en esta conversación",
|
|
62
62
|
"Slow mode ON": "",
|
|
@@ -67,13 +67,13 @@
|
|
|
67
67
|
"Unmute User": "Activar sonido del usuario",
|
|
68
68
|
"Unpin from Conversation": "Desmarcar de la conversación",
|
|
69
69
|
"Unread Messages": "",
|
|
70
|
-
"Video": "
|
|
70
|
+
"Video": "",
|
|
71
71
|
"You": "Tú",
|
|
72
|
-
"You can't send messages in this channel": "",
|
|
73
|
-
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "
|
|
72
|
+
"You can't send messages in this channel": "No puedes enviar mensajes en este canal",
|
|
73
|
+
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
74
74
|
"{{ index }} of {{ photoLength }}": "",
|
|
75
75
|
"{{ replyCount }} Replies": "",
|
|
76
76
|
"{{ replyCount }} Thread Replies": "",
|
|
77
|
-
"{{ user }} is typing": "
|
|
77
|
+
"{{ user }} is typing": "",
|
|
78
78
|
"🏙 Attachment...": ""
|
|
79
79
|
}
|
|
@@ -5,25 +5,25 @@
|
|
|
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?": "Êtes-vous sûr de vouloir supprimer définitivement ce message?",
|
|
8
|
-
"Are you sure?": "
|
|
8
|
+
"Are you sure?": "",
|
|
9
9
|
"Block User": "Bloquer un utilisateur",
|
|
10
10
|
"Cancel": "Annuler",
|
|
11
11
|
"Cannot Flag Message": "Impossible de signaler le 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": "Copier le message",
|
|
14
14
|
"Delete": "Supprimer",
|
|
15
15
|
"Delete Message": "Supprimer un message",
|
|
16
16
|
"Device camera is used to take photos or videos.": "",
|
|
17
17
|
"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?",
|
|
18
18
|
"Edit Message": "Éditer un message",
|
|
19
|
-
"Editing Message": "
|
|
19
|
+
"Editing Message": "",
|
|
20
20
|
"Emoji matching": "Correspondance Emoji",
|
|
21
21
|
"Empty message...": "",
|
|
22
|
-
"Error loading": "",
|
|
22
|
+
"Error loading": "Erreur lors du chargement",
|
|
23
23
|
"Error loading channel list...": "",
|
|
24
24
|
"Error loading messages for this channel...": "Erreur lors du chargement des messages de ce canal...",
|
|
25
25
|
"Error while loading, please reload/refresh": "",
|
|
26
|
-
"File type not supported": "",
|
|
26
|
+
"File type not supported": "Le type de fichier n'est pas pris en charge",
|
|
27
27
|
"Flag": "Signaler",
|
|
28
28
|
"Flag Message": "Signaler le message",
|
|
29
29
|
"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é.",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"Instant Commands": "Commandes Instantanées",
|
|
32
32
|
"Let's start chatting!": "",
|
|
33
33
|
"Links are disabled": "Links are disabled",
|
|
34
|
-
"Loading channels...": "",
|
|
35
|
-
"Loading messages...": "",
|
|
36
|
-
"Loading...": "",
|
|
34
|
+
"Loading channels...": "Chargement des canaux...",
|
|
35
|
+
"Loading messages...": "Chargement des messages...",
|
|
36
|
+
"Loading...": "Chargement...",
|
|
37
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
38
|
"Message Reactions": "",
|
|
39
39
|
"Message deleted": "Message supprimé",
|
|
@@ -44,19 +44,19 @@
|
|
|
44
44
|
"Ok": "Ok",
|
|
45
45
|
"Only visible to you": "",
|
|
46
46
|
"Open Settings": "",
|
|
47
|
-
"Photo": "
|
|
47
|
+
"Photo": "",
|
|
48
48
|
"Photos and Videos": "",
|
|
49
49
|
"Pin to Conversation": "Épingler à la conversation",
|
|
50
|
-
"Pinned by": "",
|
|
50
|
+
"Pinned by": "Épinglé par",
|
|
51
51
|
"Please enable access to your photos and videos so you can share them.": "",
|
|
52
|
-
"Please select a channel first": "
|
|
52
|
+
"Please select a channel first": "",
|
|
53
53
|
"Reconnecting...": "Se Reconnecter...",
|
|
54
54
|
"Reply": "Répondre",
|
|
55
55
|
"Reply to Message": "",
|
|
56
56
|
"Resend": "Renvoyer",
|
|
57
57
|
"Search GIFs": "",
|
|
58
58
|
"Select More Photos": "",
|
|
59
|
-
"Send Anyway": "
|
|
59
|
+
"Send Anyway": "",
|
|
60
60
|
"Send a message": "",
|
|
61
61
|
"Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
|
|
62
62
|
"Slow mode ON": "",
|
|
@@ -67,13 +67,13 @@
|
|
|
67
67
|
"Unmute User": "Activer le son de Utilisateur",
|
|
68
68
|
"Unpin from Conversation": "Décrocher de la conversation",
|
|
69
69
|
"Unread Messages": "",
|
|
70
|
-
"Video": "
|
|
70
|
+
"Video": "",
|
|
71
71
|
"You": "Toi",
|
|
72
|
-
"You can't send messages in this channel": "",
|
|
73
|
-
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "
|
|
72
|
+
"You can't send messages in this channel": "You can't send messages in this channel",
|
|
73
|
+
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
74
74
|
"{{ index }} of {{ photoLength }}": "",
|
|
75
75
|
"{{ replyCount }} Replies": "",
|
|
76
76
|
"{{ replyCount }} Thread Replies": "",
|
|
77
|
-
"{{ user }} is typing": "
|
|
77
|
+
"{{ user }} is typing": "",
|
|
78
78
|
"🏙 Attachment...": ""
|
|
79
79
|
}
|
|
@@ -5,25 +5,25 @@
|
|
|
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": "מחק/י הודעה",
|
|
16
16
|
"Device camera is used to take photos or videos.": "",
|
|
17
17
|
"Do you want to send a copy of this message to a moderator for further investigation?": "האם את/ה רוצה לשלוח עותק של הודעה זו למנחה להמשך חקירה?",
|
|
18
18
|
"Edit Message": "ערוך הודעה",
|
|
19
|
-
"Editing Message": "
|
|
19
|
+
"Editing Message": "",
|
|
20
20
|
"Emoji matching": "התאמת אמוג'י",
|
|
21
21
|
"Empty message...": "",
|
|
22
|
-
"Error loading": "",
|
|
22
|
+
"Error loading": "שגיאה ארעה בעת הטעינה",
|
|
23
23
|
"Error loading channel list...": "",
|
|
24
24
|
"Error loading messages for this channel...": "שגיאה ארעה בטעינת הודעות עבור שיחה זאת...",
|
|
25
25
|
"Error while loading, please reload/refresh": "",
|
|
26
|
-
"File type not supported": "",
|
|
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": "פעולת הסימון נכשלה בגלל בעיית רשת או שההודעה כבר סומנה.",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"Instant Commands": "פעולות מיידיות",
|
|
32
32
|
"Let's start chatting!": "",
|
|
33
33
|
"Links are disabled": "הקישורים מבוטלים",
|
|
34
|
-
"Loading channels...": "",
|
|
35
|
-
"Loading messages...": "",
|
|
36
|
-
"Loading...": "",
|
|
34
|
+
"Loading channels...": "השיחות בטעינה...",
|
|
35
|
+
"Loading messages...": "ההודעות בטעינה..",
|
|
36
|
+
"Loading...": "טוען...",
|
|
37
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
38
|
"Message Reactions": "",
|
|
39
39
|
"Message deleted": "ההודעה נמחקה",
|
|
@@ -44,19 +44,19 @@
|
|
|
44
44
|
"Ok": "אוקיי",
|
|
45
45
|
"Only visible to you": "",
|
|
46
46
|
"Open Settings": "",
|
|
47
|
-
"Photo": "
|
|
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": "
|
|
52
|
+
"Please select a channel first": "",
|
|
53
53
|
"Reconnecting...": "מתחבר מחדש...",
|
|
54
54
|
"Reply": "השב/י",
|
|
55
55
|
"Reply to Message": "",
|
|
56
56
|
"Resend": "שלח/י שוב",
|
|
57
57
|
"Search GIFs": "",
|
|
58
58
|
"Select More Photos": "",
|
|
59
|
-
"Send Anyway": "
|
|
59
|
+
"Send Anyway": "",
|
|
60
60
|
"Send a message": "",
|
|
61
61
|
"Sending links is not allowed in this conversation": "שליחת קישורים אינה מותרת בשיחה זו",
|
|
62
62
|
"Slow mode ON": "",
|
|
@@ -67,13 +67,13 @@
|
|
|
67
67
|
"Unmute User": "בטל/י השתקת משתמש",
|
|
68
68
|
"Unpin from Conversation": "בטל/י הצמדה לשיחה",
|
|
69
69
|
"Unread Messages": "",
|
|
70
|
-
"Video": "
|
|
70
|
+
"Video": "",
|
|
71
71
|
"You": "את/ה",
|
|
72
|
-
"You can't send messages in this channel": "",
|
|
73
|
-
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "
|
|
72
|
+
"You can't send messages in this channel": "את/ב לא יכול/ה לשלוח הודעות בשיחה זו",
|
|
73
|
+
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
74
74
|
"{{ index }} of {{ photoLength }}": "",
|
|
75
75
|
"{{ replyCount }} Replies": "",
|
|
76
76
|
"{{ replyCount }} Thread Replies": "",
|
|
77
|
-
"{{ user }} is typing": "
|
|
77
|
+
"{{ user }} is typing": "",
|
|
78
78
|
"🏙 Attachment...": ""
|
|
79
79
|
}
|