stream-chat-react-native-core 5.38.1 → 5.39.0-beta.2

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 (242) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +58 -25
  2. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  3. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js +33 -21
  4. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  5. package/lib/commonjs/components/Chat/Chat.js +7 -0
  6. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  7. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +14 -0
  8. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
  9. package/lib/commonjs/components/Indicators/LoadingIndicator.js +4 -0
  10. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  11. package/lib/commonjs/components/Message/hooks/useProcessReactions.js +13 -7
  12. package/lib/commonjs/components/Message/hooks/useProcessReactions.js.map +1 -1
  13. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentThreadIndicator.js +52 -0
  14. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentThreadIndicator.js.map +1 -0
  15. package/lib/commonjs/components/MessageList/MessageList.js +14 -6
  16. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  17. package/lib/commonjs/components/Thread/Thread.js +12 -5
  18. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  19. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +41 -18
  20. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  21. package/lib/commonjs/components/ThreadList/ThreadList.js +132 -0
  22. package/lib/commonjs/components/ThreadList/ThreadList.js.map +1 -0
  23. package/lib/commonjs/components/ThreadList/ThreadListItem.js +246 -0
  24. package/lib/commonjs/components/ThreadList/ThreadListItem.js.map +1 -0
  25. package/lib/commonjs/components/ThreadList/ThreadListUnreadBanner.js +66 -0
  26. package/lib/commonjs/components/ThreadList/ThreadListUnreadBanner.js.map +1 -0
  27. package/lib/commonjs/components/index.js +11 -11
  28. package/lib/commonjs/components/index.js.map +1 -1
  29. package/lib/commonjs/contexts/index.js +22 -0
  30. package/lib/commonjs/contexts/index.js.map +1 -1
  31. package/lib/commonjs/contexts/themeContext/utils/theme.js +19 -0
  32. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  33. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  34. package/lib/commonjs/contexts/threadsContext/ThreadListItemContext.js +28 -0
  35. package/lib/commonjs/contexts/threadsContext/ThreadListItemContext.js.map +1 -0
  36. package/lib/commonjs/contexts/threadsContext/ThreadsContext.js +33 -0
  37. package/lib/commonjs/contexts/threadsContext/ThreadsContext.js.map +1 -0
  38. package/lib/commonjs/hooks/index.js +11 -0
  39. package/lib/commonjs/hooks/index.js.map +1 -1
  40. package/lib/commonjs/hooks/useStateStore.js +23 -0
  41. package/lib/commonjs/hooks/useStateStore.js.map +1 -0
  42. package/lib/commonjs/i18n/en.json +7 -0
  43. package/lib/commonjs/i18n/es.json +7 -0
  44. package/lib/commonjs/i18n/fr.json +7 -0
  45. package/lib/commonjs/i18n/he.json +7 -0
  46. package/lib/commonjs/i18n/hi.json +7 -0
  47. package/lib/commonjs/i18n/it.json +7 -0
  48. package/lib/commonjs/i18n/ja.json +7 -0
  49. package/lib/commonjs/i18n/ko.json +7 -0
  50. package/lib/commonjs/i18n/nl.json +7 -0
  51. package/lib/commonjs/i18n/pt-br.json +7 -0
  52. package/lib/commonjs/i18n/ru.json +7 -0
  53. package/lib/commonjs/i18n/tr.json +7 -0
  54. package/lib/commonjs/icons/MessageBubble.js +19 -0
  55. package/lib/commonjs/icons/MessageBubble.js.map +1 -0
  56. package/lib/commonjs/icons/MessageBubbleEmpty.js +19 -0
  57. package/lib/commonjs/icons/MessageBubbleEmpty.js.map +1 -0
  58. package/lib/commonjs/icons/Reload.js +19 -0
  59. package/lib/commonjs/icons/Reload.js.map +1 -0
  60. package/lib/commonjs/icons/index.js +33 -0
  61. package/lib/commonjs/icons/index.js.map +1 -1
  62. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -1
  63. package/lib/commonjs/version.json +1 -1
  64. package/lib/module/components/Channel/Channel.js +58 -25
  65. package/lib/module/components/Channel/Channel.js.map +1 -1
  66. package/lib/module/components/Channel/hooks/useCreateThreadContext.js +33 -21
  67. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  68. package/lib/module/components/Chat/Chat.js +7 -0
  69. package/lib/module/components/Chat/Chat.js.map +1 -1
  70. package/lib/module/components/Indicators/EmptyStateIndicator.js +14 -0
  71. package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
  72. package/lib/module/components/Indicators/LoadingIndicator.js +4 -0
  73. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  74. package/lib/module/components/Message/hooks/useProcessReactions.js +13 -7
  75. package/lib/module/components/Message/hooks/useProcessReactions.js.map +1 -1
  76. package/lib/module/components/MessageList/InlineLoadingMoreRecentThreadIndicator.js +52 -0
  77. package/lib/module/components/MessageList/InlineLoadingMoreRecentThreadIndicator.js.map +1 -0
  78. package/lib/module/components/MessageList/MessageList.js +14 -6
  79. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  80. package/lib/module/components/Thread/Thread.js +12 -5
  81. package/lib/module/components/Thread/Thread.js.map +1 -1
  82. package/lib/module/components/Thread/components/ThreadFooterComponent.js +41 -18
  83. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  84. package/lib/module/components/ThreadList/ThreadList.js +132 -0
  85. package/lib/module/components/ThreadList/ThreadList.js.map +1 -0
  86. package/lib/module/components/ThreadList/ThreadListItem.js +246 -0
  87. package/lib/module/components/ThreadList/ThreadListItem.js.map +1 -0
  88. package/lib/module/components/ThreadList/ThreadListUnreadBanner.js +66 -0
  89. package/lib/module/components/ThreadList/ThreadListUnreadBanner.js.map +1 -0
  90. package/lib/module/components/index.js +11 -11
  91. package/lib/module/components/index.js.map +1 -1
  92. package/lib/module/contexts/index.js +22 -0
  93. package/lib/module/contexts/index.js.map +1 -1
  94. package/lib/module/contexts/themeContext/utils/theme.js +19 -0
  95. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  96. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  97. package/lib/module/contexts/threadsContext/ThreadListItemContext.js +28 -0
  98. package/lib/module/contexts/threadsContext/ThreadListItemContext.js.map +1 -0
  99. package/lib/module/contexts/threadsContext/ThreadsContext.js +33 -0
  100. package/lib/module/contexts/threadsContext/ThreadsContext.js.map +1 -0
  101. package/lib/module/hooks/index.js +11 -0
  102. package/lib/module/hooks/index.js.map +1 -1
  103. package/lib/module/hooks/useStateStore.js +23 -0
  104. package/lib/module/hooks/useStateStore.js.map +1 -0
  105. package/lib/module/i18n/en.json +7 -0
  106. package/lib/module/i18n/es.json +7 -0
  107. package/lib/module/i18n/fr.json +7 -0
  108. package/lib/module/i18n/he.json +7 -0
  109. package/lib/module/i18n/hi.json +7 -0
  110. package/lib/module/i18n/it.json +7 -0
  111. package/lib/module/i18n/ja.json +7 -0
  112. package/lib/module/i18n/ko.json +7 -0
  113. package/lib/module/i18n/nl.json +7 -0
  114. package/lib/module/i18n/pt-br.json +7 -0
  115. package/lib/module/i18n/ru.json +7 -0
  116. package/lib/module/i18n/tr.json +7 -0
  117. package/lib/module/icons/MessageBubble.js +19 -0
  118. package/lib/module/icons/MessageBubble.js.map +1 -0
  119. package/lib/module/icons/MessageBubbleEmpty.js +19 -0
  120. package/lib/module/icons/MessageBubbleEmpty.js.map +1 -0
  121. package/lib/module/icons/Reload.js +19 -0
  122. package/lib/module/icons/Reload.js.map +1 -0
  123. package/lib/module/icons/index.js +33 -0
  124. package/lib/module/icons/index.js.map +1 -1
  125. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -1
  126. package/lib/module/version.json +1 -1
  127. package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts +1 -1
  128. package/lib/typescript/components/Channel/Channel.d.ts +3 -2
  129. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  130. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +34 -1
  131. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts.map +1 -1
  132. package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
  133. package/lib/typescript/components/Indicators/EmptyStateIndicator.d.ts +1 -1
  134. package/lib/typescript/components/Indicators/EmptyStateIndicator.d.ts.map +1 -1
  135. package/lib/typescript/components/Indicators/LoadingIndicator.d.ts +1 -1
  136. package/lib/typescript/components/Indicators/LoadingIndicator.d.ts.map +1 -1
  137. package/lib/typescript/components/Message/hooks/useProcessReactions.d.ts.map +1 -1
  138. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentThreadIndicator.d.ts +8 -0
  139. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentThreadIndicator.d.ts.map +1 -0
  140. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  141. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  142. package/lib/typescript/components/Thread/Thread.d.ts +1 -1
  143. package/lib/typescript/components/Thread/Thread.d.ts.map +1 -1
  144. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +1 -0
  145. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts.map +1 -1
  146. package/lib/typescript/components/ThreadList/ThreadList.d.ts +11 -0
  147. package/lib/typescript/components/ThreadList/ThreadList.d.ts.map +1 -0
  148. package/lib/typescript/components/ThreadList/ThreadListItem.d.ts +16 -0
  149. package/lib/typescript/components/ThreadList/ThreadListItem.d.ts.map +1 -0
  150. package/lib/typescript/components/ThreadList/ThreadListUnreadBanner.d.ts +3 -0
  151. package/lib/typescript/components/ThreadList/ThreadListUnreadBanner.d.ts.map +1 -0
  152. package/lib/typescript/components/index.d.ts +1 -1
  153. package/lib/typescript/components/index.d.ts.map +1 -1
  154. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +1 -1
  155. package/lib/typescript/contexts/index.d.ts +2 -0
  156. package/lib/typescript/contexts/index.d.ts.map +1 -1
  157. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
  158. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -1
  159. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +19 -0
  160. package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
  161. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +11 -2
  162. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts.map +1 -1
  163. package/lib/typescript/contexts/threadsContext/ThreadListItemContext.d.ts +19 -0
  164. package/lib/typescript/contexts/threadsContext/ThreadListItemContext.d.ts.map +1 -0
  165. package/lib/typescript/contexts/threadsContext/ThreadsContext.d.ts +25 -0
  166. package/lib/typescript/contexts/threadsContext/ThreadsContext.d.ts.map +1 -0
  167. package/lib/typescript/hooks/index.d.ts +1 -0
  168. package/lib/typescript/hooks/index.d.ts.map +1 -1
  169. package/lib/typescript/hooks/useStateStore.d.ts +4 -0
  170. package/lib/typescript/hooks/useStateStore.d.ts.map +1 -0
  171. package/lib/typescript/i18n/en.json +7 -0
  172. package/lib/typescript/i18n/es.json +7 -0
  173. package/lib/typescript/i18n/fr.json +7 -0
  174. package/lib/typescript/i18n/he.json +7 -0
  175. package/lib/typescript/i18n/hi.json +7 -0
  176. package/lib/typescript/i18n/it.json +7 -0
  177. package/lib/typescript/i18n/ja.json +7 -0
  178. package/lib/typescript/i18n/ko.json +7 -0
  179. package/lib/typescript/i18n/nl.json +7 -0
  180. package/lib/typescript/i18n/pt-br.json +7 -0
  181. package/lib/typescript/i18n/ru.json +7 -0
  182. package/lib/typescript/i18n/tr.json +7 -0
  183. package/lib/typescript/icons/MessageBubble.d.ts +4 -0
  184. package/lib/typescript/icons/MessageBubble.d.ts.map +1 -0
  185. package/lib/typescript/icons/MessageBubbleEmpty.d.ts +4 -0
  186. package/lib/typescript/icons/MessageBubbleEmpty.d.ts.map +1 -0
  187. package/lib/typescript/icons/Reload.d.ts +4 -0
  188. package/lib/typescript/icons/Reload.d.ts.map +1 -0
  189. package/lib/typescript/icons/index.d.ts +3 -0
  190. package/lib/typescript/icons/index.d.ts.map +1 -1
  191. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +1 -1
  192. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts.map +1 -1
  193. package/lib/typescript/utils/i18n/Streami18n.d.ts +7 -0
  194. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  195. package/package.json +2 -2
  196. package/src/components/Channel/Channel.tsx +54 -20
  197. package/src/components/Channel/hooks/useCreateThreadContext.ts +36 -31
  198. package/src/components/Chat/Chat.tsx +10 -0
  199. package/src/components/Indicators/EmptyStateIndicator.tsx +9 -2
  200. package/src/components/Indicators/LoadingIndicator.tsx +3 -1
  201. package/src/components/Message/hooks/useProcessReactions.ts +25 -4
  202. package/src/components/MessageList/InlineLoadingMoreRecentThreadIndicator.tsx +64 -0
  203. package/src/components/MessageList/MessageList.tsx +23 -9
  204. package/src/components/Thread/Thread.tsx +18 -9
  205. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +6 -0
  206. package/src/components/Thread/components/ThreadFooterComponent.tsx +28 -2
  207. package/src/components/ThreadList/ThreadList.tsx +119 -0
  208. package/src/components/ThreadList/ThreadListItem.tsx +268 -0
  209. package/src/components/ThreadList/ThreadListUnreadBanner.tsx +52 -0
  210. package/src/components/index.ts +1 -1
  211. package/src/contexts/index.ts +2 -0
  212. package/src/contexts/themeContext/utils/theme.ts +36 -0
  213. package/src/contexts/threadContext/ThreadContext.tsx +9 -2
  214. package/src/contexts/threadsContext/ThreadListItemContext.tsx +41 -0
  215. package/src/contexts/threadsContext/ThreadsContext.tsx +62 -0
  216. package/src/hooks/index.ts +1 -0
  217. package/src/hooks/useStateStore.ts +31 -0
  218. package/src/i18n/en.json +7 -0
  219. package/src/i18n/es.json +7 -0
  220. package/src/i18n/fr.json +7 -0
  221. package/src/i18n/he.json +7 -0
  222. package/src/i18n/hi.json +7 -0
  223. package/src/i18n/it.json +7 -0
  224. package/src/i18n/ja.json +7 -0
  225. package/src/i18n/ko.json +7 -0
  226. package/src/i18n/nl.json +7 -0
  227. package/src/i18n/pt-br.json +7 -0
  228. package/src/i18n/ru.json +7 -0
  229. package/src/i18n/tr.json +7 -0
  230. package/src/icons/MessageBubble.tsx +12 -0
  231. package/src/icons/MessageBubbleEmpty.tsx +12 -0
  232. package/src/icons/Reload.tsx +12 -0
  233. package/src/icons/index.ts +3 -0
  234. package/src/store/mappers/mapDateTimeToStorable.ts +1 -1
  235. package/src/version.json +1 -1
  236. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +0 -52
  237. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +0 -1
  238. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +0 -52
  239. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +0 -1
  240. package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts +0 -8
  241. package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts.map +0 -1
  242. package/src/components/MessageList/InlineLoadingMoreThreadIndicator.tsx +0 -64
@@ -0,0 +1,41 @@
1
+ import React, { PropsWithChildren, useContext } from 'react';
2
+
3
+ import { Channel, Thread } from 'stream-chat';
4
+
5
+ import { MessageType } from '../../components';
6
+ import type { DefaultStreamChatGenerics } from '../../types/types';
7
+ import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
8
+
9
+ export type ThreadListItemContextValue<
10
+ StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
11
+ > = {
12
+ channel: Channel<StreamChatGenerics>;
13
+ dateString: string | number | undefined;
14
+ deletedAtDateString: string | number | undefined;
15
+ lastReply: MessageType<StreamChatGenerics> | undefined;
16
+ ownUnreadMessageCount: number;
17
+ parentMessage: MessageType<StreamChatGenerics> | undefined;
18
+ thread: Thread<StreamChatGenerics>;
19
+ };
20
+
21
+ export const ThreadListItemContext = React.createContext(
22
+ DEFAULT_BASE_CONTEXT_VALUE as ThreadListItemContextValue,
23
+ );
24
+
25
+ export const ThreadListItemProvider = <
26
+ StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
27
+ >({
28
+ children,
29
+ value,
30
+ }: PropsWithChildren<{
31
+ value: ThreadListItemContextValue<StreamChatGenerics>;
32
+ }>) => (
33
+ <ThreadListItemContext.Provider value={value as unknown as ThreadListItemContextValue}>
34
+ {children}
35
+ </ThreadListItemContext.Provider>
36
+ );
37
+
38
+ export const useThreadListItemContext = <
39
+ StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
40
+ >() =>
41
+ useContext(ThreadListItemContext) as unknown as ThreadListItemContextValue<StreamChatGenerics>;
@@ -0,0 +1,62 @@
1
+ import React, { PropsWithChildren, useContext } from 'react';
2
+
3
+ import { FlatListProps } from 'react-native';
4
+
5
+ import { Channel, Thread } from 'stream-chat';
6
+
7
+ import type { DefaultStreamChatGenerics } from '../../types/types';
8
+ import { ThreadType } from '../threadContext/ThreadContext';
9
+ import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
10
+
11
+ import { isTestEnvironment } from '../utils/isTestEnvironment';
12
+
13
+ export type ThreadsContextValue<
14
+ StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
15
+ > = {
16
+ isFocused: boolean;
17
+ isLoading: boolean;
18
+ isLoadingNext: boolean;
19
+ threads: Thread<StreamChatGenerics>[];
20
+ additionalFlatListProps?: Partial<FlatListProps<Thread>>;
21
+ loadMore?: () => Promise<void>;
22
+ onThreadSelect?: (thread: ThreadType, channel: Channel) => void;
23
+ ThreadListEmptyPlaceholder?: React.ComponentType;
24
+ ThreadListItem?: React.ComponentType;
25
+ ThreadListLoadingIndicator?: React.ComponentType;
26
+ ThreadListLoadingMoreIndicator?: React.ComponentType;
27
+ ThreadListUnreadBanner?: React.ComponentType;
28
+ };
29
+
30
+ export const ThreadsContext = React.createContext(
31
+ DEFAULT_BASE_CONTEXT_VALUE as ThreadsContextValue,
32
+ );
33
+
34
+ export const ThreadsProvider = <
35
+ StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
36
+ >({
37
+ children,
38
+ value,
39
+ }: PropsWithChildren<{
40
+ value: ThreadsContextValue<StreamChatGenerics>;
41
+ }>) => (
42
+ <ThreadsContext.Provider value={value as unknown as ThreadsContextValue}>
43
+ {children}
44
+ </ThreadsContext.Provider>
45
+ );
46
+
47
+ export const useThreadsContext = <
48
+ StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
49
+ >() => {
50
+ const contextValue = useContext(
51
+ ThreadsContext,
52
+ ) as unknown as ThreadsContextValue<StreamChatGenerics>;
53
+
54
+ if (contextValue === DEFAULT_BASE_CONTEXT_VALUE && !isTestEnvironment()) {
55
+ throw new Error(
56
+ // TODO: Set correct link to docs page, should be the new ThreadList instead of Channel
57
+ `The useThreadsContext hook was called outside of the ThreadsContext provider. Make sure you have configured the ThreadList component correctly - https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#channel`,
58
+ );
59
+ }
60
+
61
+ return contextValue;
62
+ };
@@ -2,3 +2,4 @@ export * from './useAppStateListener';
2
2
  export * from './useStreami18n';
3
3
  export * from './useViewport';
4
4
  export * from './useScreenDimensions';
5
+ export * from './useStateStore';
@@ -0,0 +1,31 @@
1
+ import { useEffect, useState } from 'react';
2
+
3
+ import type { StateStore } from 'stream-chat';
4
+
5
+ export function useStateStore<T extends Record<string, unknown>, O extends readonly unknown[]>(
6
+ store: StateStore<T>,
7
+ selector: (v: T) => O,
8
+ ): O;
9
+ export function useStateStore<T extends Record<string, unknown>, O extends readonly unknown[]>(
10
+ store: StateStore<T> | undefined,
11
+ selector: (v: T) => O,
12
+ ): O | undefined;
13
+ export function useStateStore<T extends Record<string, unknown>, O extends readonly unknown[]>(
14
+ store: StateStore<T> | undefined,
15
+ selector: (v: T) => O,
16
+ ) {
17
+ const [state, setState] = useState<O | undefined>(() => {
18
+ if (!store) return undefined;
19
+ return selector(store.getLatestValue());
20
+ });
21
+
22
+ useEffect(() => {
23
+ if (!store) return;
24
+
25
+ const unsubscribe = store.subscribeWithSelector(selector, setState);
26
+
27
+ return unsubscribe;
28
+ }, [store, selector]);
29
+
30
+ return state;
31
+ }
package/src/i18n/en.json CHANGED
@@ -38,12 +38,14 @@
38
38
  "Links are disabled": "Links are disabled",
39
39
  "Loading channels...": "Loading channels...",
40
40
  "Loading messages...": "Loading messages...",
41
+ "Loading threads...": "Loading threads...",
41
42
  "Loading...": "Loading...",
42
43
  "Message Reactions": "Message Reactions",
43
44
  "Message deleted": "Message deleted",
44
45
  "Message flagged": "Message flagged",
45
46
  "Mute User": "Mute User",
46
47
  "No chats here yet…": "No chats here yet…",
48
+ "No threads here yet": "No threads here yet",
47
49
  "Not supported": "Not supported",
48
50
  "Nothing yet...": "Nothing yet...",
49
51
  "Ok": "Ok",
@@ -67,6 +69,8 @@
67
69
  "Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
68
70
  "Slow mode ON": "Slow mode ON",
69
71
  "The message has been reported to a moderator.": "The message has been reported to a moderator.",
72
+ "The source message was deleted": "The source message was deleted",
73
+ "This reply was deleted": "This reply was deleted",
70
74
  "Thread Reply": "Thread Reply",
71
75
  "Unban User": "Unban User",
72
76
  "Unblock User": "Unblock User",
@@ -75,8 +79,10 @@
75
79
  "Unpin from Conversation": "Unpin from Conversation",
76
80
  "Unread Messages": "Unread Messages",
77
81
  "Video": "Video",
82
+ "Voice message": "Voice message",
78
83
  "You": "You",
79
84
  "You can't send messages in this channel": "You can't send messages in this channel",
85
+ "replied to": "replied to",
80
86
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Yesterday]\", \"lastWeek\":\"dddd\", \"nextDay\":\"[Tomorrow]\", \"nextWeek\":\"dddd [at] LT\", \"sameDay\":\"LT\", \"sameElse\":\"L\"}) }}",
81
87
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
82
88
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -84,6 +90,7 @@
84
90
  "timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
85
91
  "timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
86
92
  "timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
93
+ "timestamp/ThreadListItem": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Yesterday]\", \"lastWeek\":\"dddd\", \"nextDay\":\"[Tomorrow]\", \"nextWeek\":\"dddd [at] LT\", \"sameDay\":\"LT\", \"sameElse\":\"L\"}) }}",
87
94
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} and {{ nonSelfUserLength }} more are typing",
88
95
  "{{ index }} of {{ photoLength }}": "{{ index }} of {{ photoLength }}",
89
96
  "{{ replyCount }} Replies": "{{ replyCount }} Replies",
package/src/i18n/es.json CHANGED
@@ -38,12 +38,14 @@
38
38
  "Links are disabled": "Los enlaces están desactivados",
39
39
  "Loading channels...": "Cargando canales...",
40
40
  "Loading messages...": "Cargando mensajes...",
41
+ "Loading threads...": "Cargando hilos...",
41
42
  "Loading...": "Cargando...",
42
43
  "Message Reactions": "Reacciones al mensaje",
43
44
  "Message deleted": "Mensaje eliminado",
44
45
  "Message flagged": "Mensaje reportado",
45
46
  "Mute User": "Silenciar usuario",
46
47
  "No chats here yet…": "No hay chats aquí todavía...",
48
+ "No threads here yet": "Aún no hay hilos aquí",
47
49
  "Not supported": "No admitido",
48
50
  "Nothing yet...": "Aún no hay nada...",
49
51
  "Ok": "Aceptar",
@@ -67,6 +69,8 @@
67
69
  "Sending links is not allowed in this conversation": "No está permitido enviar enlaces en esta conversación",
68
70
  "Slow mode ON": "Modo lento ACTIVADO",
69
71
  "The message has been reported to a moderator.": "El mensaje ha sido reportado a un moderador.",
72
+ "The source message was deleted": "El mensaje original fue eliminado",
73
+ "This reply was deleted": "Esta respuesta fue eliminada",
70
74
  "Thread Reply": "Respuesta de hilo",
71
75
  "Unban User": "Desbloquear usuario",
72
76
  "Unblock User": "Usuario desconocido",
@@ -75,8 +79,10 @@
75
79
  "Unpin from Conversation": "Desmarcar de la conversación",
76
80
  "Unread Messages": "Mensajes no leídos",
77
81
  "Video": "Video",
82
+ "Voice message": "Mensaje de voz",
78
83
  "You": "Tú",
79
84
  "You can't send messages in this channel": "No puedes enviar mensajes en este canal",
85
+ "replied to": "respondió a",
80
86
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Ayer]\", \"lastWeek\":\"dddd\", \"nextDay\":\"[Mañana]\", \"nextWeek\":\"dddd [a las] LT\", \"sameDay\":\"LT\", \"sameElse\":\"L\"}) }}",
81
87
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
82
88
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -84,6 +90,7 @@
84
90
  "timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
85
91
  "timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
86
92
  "timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
93
+ "timestamp/ThreadListItem": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Ayer]\", \"lastWeek\":\"dddd\", \"nextDay\":\"[Mañana]\", \"nextWeek\":\"dddd [a las] LT\", \"sameDay\":\"LT\", \"sameElse\":\"L\"}) }}",
87
94
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} y {{ nonSelfUserLength }} más están escribiendo",
88
95
  "{{ index }} of {{ photoLength }}": "{{ index }} de {{ photoLength }}",
89
96
  "{{ replyCount }} Replies": "{{ replyCount }} Respuestas",
package/src/i18n/fr.json CHANGED
@@ -38,12 +38,14 @@
38
38
  "Links are disabled": "Links are disabled",
39
39
  "Loading channels...": "Chargement des canaux...",
40
40
  "Loading messages...": "Chargement des messages...",
41
+ "Loading threads...": "Chargement des fils...",
41
42
  "Loading...": "Chargement...",
42
43
  "Message Reactions": "Réactions aux messages",
43
44
  "Message deleted": "Message supprimé",
44
45
  "Message flagged": "Message signalé",
45
46
  "Mute User": "Utilisateur muet",
46
47
  "No chats here yet…": "Pas de discussions ici pour le moment…",
48
+ "No threads here yet": "Aucun fil ici pour le moment",
47
49
  "Not supported": "Non pris en charge",
48
50
  "Nothing yet...": "Aucun message...",
49
51
  "Ok": "Ok",
@@ -67,6 +69,8 @@
67
69
  "Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
68
70
  "Slow mode ON": "Mode lent activé",
69
71
  "The message has been reported to a moderator.": "Le message a été signalé à un modérateur.",
72
+ "The source message was deleted": "Le message source a été supprimé",
73
+ "This reply was deleted": "Cette réponse a été supprimée",
70
74
  "Thread Reply": "Réponse à la discussion",
71
75
  "Unban User": "Débannir Utilisateur",
72
76
  "Unblock User": "Débloquer Utilisateur",
@@ -75,8 +79,10 @@
75
79
  "Unpin from Conversation": "Décrocher de la conversation",
76
80
  "Unread Messages": "Messages non lus",
77
81
  "Video": "Vidéo",
82
+ "Voice message": "Message vocal",
78
83
  "You": "Toi",
79
84
  "You can't send messages in this channel": "You can't send messages in this channel",
85
+ "replied to": "a répondu à",
80
86
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Hier]\", \"lastWeek\":\"dddd\", \"nextDay\":\"[Demain]\", \"nextWeek\":\"dddd [à] LT\", \"sameDay\":\"LT\", \"sameElse\":\"L\"}) }}",
81
87
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
82
88
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -84,6 +90,7 @@
84
90
  "timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
85
91
  "timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
86
92
  "timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
93
+ "timestamp/ThreadListItem": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Hier]\", \"lastWeek\":\"dddd\", \"nextDay\":\"[Demain]\", \"nextWeek\":\"dddd [à] LT\", \"sameDay\":\"LT\", \"sameElse\":\"L\"}) }}",
87
94
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} et {{ nonSelfUserLength }} autres sont en train d'écrire",
88
95
  "{{ index }} of {{ photoLength }}": "{{ index }} sur {{ photoLength }}",
89
96
  "{{ replyCount }} Replies": "{{ replyCount }} Réponses",
package/src/i18n/he.json CHANGED
@@ -38,12 +38,14 @@
38
38
  "Links are disabled": "הקישורים מבוטלים",
39
39
  "Loading channels...": "השיחות בטעינה...",
40
40
  "Loading messages...": "ההודעות בטעינה..",
41
+ "Loading threads...": "טוען שרשורים...",
41
42
  "Loading...": "טוען...",
42
43
  "Message Reactions": "תגובות להודעה",
43
44
  "Message deleted": "ההודעה נמחקה",
44
45
  "Message flagged": "ההודעה סומנה",
45
46
  "Mute User": "השתק/י משתמש",
46
47
  "No chats here yet…": "אין צ'אטים כאן עדיין...",
48
+ "No threads here yet": "אין שרשורים כאן עדיין",
47
49
  "Not supported": "לא נתמך",
48
50
  "Nothing yet...": "אינפורמציה תתקבל בהמשך...",
49
51
  "Ok": "אוקיי",
@@ -67,6 +69,8 @@
67
69
  "Sending links is not allowed in this conversation": "שליחת קישורים אינה מותרת בשיחה זו",
68
70
  "Slow mode ON": "מצב איטי מופעל",
69
71
  "The message has been reported to a moderator.": "ההודעה דווחה למנהל",
72
+ "The source message was deleted": "ההודעה המקורית נמחקה",
73
+ "This reply was deleted": "התגובה הזו נמחקה",
70
74
  "Thread Reply": "הגב/י בשרשור",
71
75
  "Unban User": "לבטל חסימת משתמש",
72
76
  "Unblock User": "בטל/י חסימת משתמש",
@@ -75,8 +79,10 @@
75
79
  "Unpin from Conversation": "בטל/י הצמדה לשיחה",
76
80
  "Unread Messages": "הודעות שטרם נקרו",
77
81
  "Video": "וִידֵאוֹ",
82
+ "Voice message": "הודעת קול",
78
83
  "You": "את/ה",
79
84
  "You can't send messages in this channel": "את/ב לא יכול/ה לשלוח הודעות בשיחה זו",
85
+ "replied to": "הגיב ל",
80
86
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[אתמול]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[מחר]\",\"nextWeek\":\"dddd [בשעה] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
81
87
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
82
88
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -84,6 +90,7 @@
84
90
  "timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
85
91
  "timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
86
92
  "timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
93
+ "timestamp/ThreadListItem": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[אתמול]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[מחר]\",\"nextWeek\":\"dddd [בשעה] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
87
94
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} ו-{{ nonSelfUserLength }} משתמש/ים אחר/ים מקלידים",
88
95
  "{{ index }} of {{ photoLength }}": "{{ index }} מתוך {{ photoLength }}",
89
96
  "{{ replyCount }} Replies": "{{ replyCount }} תגובות",
package/src/i18n/hi.json CHANGED
@@ -38,12 +38,14 @@
38
38
  "Links are disabled": "लिंक अक्षम हैं",
39
39
  "Loading channels...": "चैनल लोड हो रहे हैं...",
40
40
  "Loading messages...": "मेसेजस लोड हो रहे हैं...",
41
+ "Loading threads...": "थ्रेड्स लोड हो रहे हैं...",
41
42
  "Loading...": "लोड हो रहा है...",
42
43
  "Message Reactions": "संदेश प्रतिक्रियाएँ",
43
44
  "Message deleted": "मैसेज हटा दिया गया",
44
45
  "Message flagged": "संदेश को ध्वजांकित किया गया",
45
46
  "Mute User": "उपयोगकर्ता को म्यूट करें",
46
47
  "No chats here yet…": "अभी तक यहाँ कोई चैट नहीं है...",
48
+ "No threads here yet": "यहाँ अभी तक कोई थ्रेड्स नहीं हैं",
47
49
  "Not supported": "समर्थित नहीं",
48
50
  "Nothing yet...": "कोई मैसेज नहीं है...",
49
51
  "Ok": "ठीक",
@@ -67,6 +69,8 @@
67
69
  "Sending links is not allowed in this conversation": "इस बातचीत में लिंक भेजने की अनुमति नहीं है",
68
70
  "Slow mode ON": "स्लो मोड चालू",
69
71
  "The message has been reported to a moderator.": "संदेश एक मॉडरेटर को सूचित किया गया है।",
72
+ "The source message was deleted": "स्रोत संदेश हटा दिया गया है",
73
+ "This reply was deleted": "यह उत्तर हटा दिया गया है",
70
74
  "Thread Reply": "धागा जवाब",
71
75
  "Unban User": "उपयोगकर्ता को अनब्लॉक करें",
72
76
  "Unblock User": "उपयोगकर्ता को अनब्लॉक करें",
@@ -75,8 +79,10 @@
75
79
  "Unpin from Conversation": "बातचीत से अनपिन करें",
76
80
  "Unread Messages": "अपठित संदेश",
77
81
  "Video": "वीडियो",
82
+ "Voice message": "वॉइस संदेश",
78
83
  "You": "आप",
79
84
  "You can't send messages in this channel": "आप इस चैनल में संदेश नहीं भेज सकते",
85
+ "replied to": "को उत्तर दिया",
80
86
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[कल]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[कल]\",\"nextWeek\":\"dddd [को] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
81
87
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
82
88
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -84,6 +90,7 @@
84
90
  "timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
85
91
  "timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
86
92
  "timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
93
+ "timestamp/ThreadListItem": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[कल]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[कल]\",\"nextWeek\":\"dddd [को] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
87
94
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} और {{ nonSelfUserLength }} अधिक टाइप कर रहे हैं",
88
95
  "{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
89
96
  "{{ replyCount }} Replies": "{{ replyCount }} रिप्लाई",
package/src/i18n/it.json CHANGED
@@ -38,12 +38,14 @@
38
38
  "Links are disabled": "I link sono disabilitati",
39
39
  "Loading channels...": "Caricamento canali in corso...",
40
40
  "Loading messages...": "Caricamento messaggi...",
41
+ "Loading threads...": "Caricamento dei thread...",
41
42
  "Loading...": "Caricamento...",
42
43
  "Message Reactions": "Reazioni ai Messaggi",
43
44
  "Message deleted": "Messaggio cancellato",
44
45
  "Message flagged": "Messaggio contrassegnato",
45
46
  "Mute User": "Utente Muto",
46
47
  "No chats here yet…": "Non ci sono ancora chat qui...",
48
+ "No threads here yet": "Nessun thread qui ancora",
47
49
  "Not supported": "non supportato",
48
50
  "Nothing yet...": "Ancora niente...",
49
51
  "Ok": "Ok",
@@ -67,6 +69,8 @@
67
69
  "Sending links is not allowed in this conversation": "L'invio di link non è consentito in questa conversazione",
68
70
  "Slow mode ON": "Slowmode attiva",
69
71
  "The message has been reported to a moderator.": "Il messaggio è stato segnalato a un moderatore.",
72
+ "The source message was deleted": "Il messaggio originale è stato eliminato",
73
+ "This reply was deleted": "Questa risposta è stata eliminata",
70
74
  "Thread Reply": "Rispondi alla Discussione",
71
75
  "Unban User": "Sblocca Utente",
72
76
  "Unblock User": "Sblocca utente",
@@ -75,8 +79,10 @@
75
79
  "Unpin from Conversation": "Rimuovi dagli elementi in evidenza",
76
80
  "Unread Messages": "Messaggi non letti",
77
81
  "Video": "Video",
82
+ "Voice message": "Messaggio vocale",
78
83
  "You": "Tu",
79
84
  "You can't send messages in this channel": "Non puoi inviare messaggi in questo canale",
85
+ "replied to": "ha risposto a",
80
86
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Ieri]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[Domani]\",\"nextWeek\":\"dddd [alle] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
81
87
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
82
88
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -84,6 +90,7 @@
84
90
  "timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
85
91
  "timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
86
92
  "timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
93
+ "timestamp/ThreadListItem": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Ieri]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[Domani]\",\"nextWeek\":\"dddd [alle] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
87
94
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} e altri {{ nonSelfUserLength }} stanno scrivendo",
88
95
  "{{ index }} of {{ photoLength }}": "{{ index }} di {{ photoLength }}",
89
96
  "{{ replyCount }} Replies": "{{ replyCount }} Risposte",
package/src/i18n/ja.json CHANGED
@@ -38,12 +38,14 @@
38
38
  "Links are disabled": "リンク機能が無効になっています",
39
39
  "Loading channels...": "チャネルを読み込み中。。。",
40
40
  "Loading messages...": "メッセージを読み込み中。。。",
41
+ "Loading threads...": "スレッドを読み込み中...",
41
42
  "Loading...": "読み込み中。。。",
42
43
  "Message Reactions": "メッセージのリアクション",
43
44
  "Message deleted": "メッセージが削除されました",
44
45
  "Message flagged": "メッセージにフラグが付けられました",
45
46
  "Mute User": "ユーザーをミュートする",
46
47
  "No chats here yet…": "まだチャットはありません…",
48
+ "No threads here yet": "まだスレッドがありません",
47
49
  "Not supported": "サポートしていません",
48
50
  "Nothing yet...": "まだ何もありません...",
49
51
  "Ok": "確認",
@@ -67,6 +69,8 @@
67
69
  "Sending links is not allowed in this conversation": "この会話ではリンク機能を使用できません。",
68
70
  "Slow mode ON": "スローモードオン",
69
71
  "The message has been reported to a moderator.": "メッセージはモデレーターに報告されました。",
72
+ "The source message was deleted": "元のメッセージが削除されました",
73
+ "This reply was deleted": "この返信は削除されました",
70
74
  "Thread Reply": "スレッドの返信",
71
75
  "Unban User": "ユーザーの禁止を解除する",
72
76
  "Unblock User": "ユーザーのブロックを解除する",
@@ -75,8 +79,10 @@
75
79
  "Unpin from Conversation": "会話のピンを外す",
76
80
  "Unread Messages": "未読メッセージ",
77
81
  "Video": "ビデオ",
82
+ "Voice message": "ボイスメッセージ",
78
83
  "You": "あなた",
79
84
  "You can't send messages in this channel": "このチャンネルではメッセージを送信できません",
85
+ "replied to": "に返信しました",
80
86
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[昨日]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[明日]\",\"nextWeek\":\"dddd [の] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
81
87
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
82
88
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -84,6 +90,7 @@
84
90
  "timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
85
91
  "timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
86
92
  "timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
93
+ "timestamp/ThreadListItem": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[昨日]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[明日]\",\"nextWeek\":\"dddd [の] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
87
94
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }}と{{ nonSelfUserLength }}人がタイピングしています",
88
95
  "{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
89
96
  "{{ replyCount }} Replies": "{{ replyCount }}件の返信",
package/src/i18n/ko.json CHANGED
@@ -38,12 +38,14 @@
38
38
  "Links are disabled": "링크 기능이 비활성화되었습니다",
39
39
  "Loading channels...": "채널을 로딩 중...",
40
40
  "Loading messages...": "메시지를 로딩 중...",
41
+ "Loading threads...": "스레드 로딩 중...",
41
42
  "Loading...": "로딩 중...",
42
43
  "Message Reactions": "메시지의 리액션",
43
44
  "Message deleted": "메시지가 삭제되었습니다.",
44
45
  "Message flagged": "메시지에 플래그가 지정되었습니다",
45
46
  "Mute User": "사용자를 음소거",
46
47
  "No chats here yet…": "아직 여기에 채팅이 없어요…",
48
+ "No threads here yet": "아직 스레드가 없습니다",
47
49
  "Not supported": "지원하지 않습니다",
48
50
  "Nothing yet...": "아직 아무것도...",
49
51
  "Ok": "확인",
@@ -67,6 +69,8 @@
67
69
  "Sending links is not allowed in this conversation": "이 대화에서는 링크 기능을 사용할 수 없습니다",
68
70
  "Slow mode ON": "슬로모드 켜짐",
69
71
  "The message has been reported to a moderator.": "메시지는 운영자에보고되었습니다.",
72
+ "The source message was deleted": "원본 메시지가 삭제되었습니다",
73
+ "This reply was deleted": "이 답글은 삭제되었습니다",
70
74
  "Thread Reply": "스레드\u3000답장",
71
75
  "Unban User": "사용자 차단 해제",
72
76
  "Unblock User": "사용자 차단 해제",
@@ -75,8 +79,10 @@
75
79
  "Unpin from Conversation": "대화의 핀을 분리합니다",
76
80
  "Unread Messages": "읽지 않은 메시지",
77
81
  "Video": "동영상",
82
+ "Voice message": "음성 메시지",
78
83
  "You": "당신",
79
84
  "You can't send messages in this channel": "이 채널에서는 메세지를 전송할 수 없습니다",
85
+ "replied to": "에 답장했습니다",
80
86
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[어제]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[내일]\",\"nextWeek\":\"dddd [LT에]\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
81
87
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
82
88
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -84,6 +90,7 @@
84
90
  "timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
85
91
  "timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
86
92
  "timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
93
+ "timestamp/ThreadListItem": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[어제]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[내일]\",\"nextWeek\":\"dddd [LT에]\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
87
94
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} 외 {{ nonSelfUserLength }}명이 입력 중입니다",
88
95
  "{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
89
96
  "{{ replyCount }} Replies": "{{ replyCount }} 답글",
package/src/i18n/nl.json CHANGED
@@ -38,12 +38,14 @@
38
38
  "Links are disabled": "Het versturen van links staat uit",
39
39
  "Loading channels...": "Kanalen aan het laden...",
40
40
  "Loading messages...": "Berichten aan het laden...",
41
+ "Loading threads...": "Threads laden...",
41
42
  "Loading...": "Aan het laden...",
42
43
  "Message Reactions": "Bericht Reacties",
43
44
  "Message deleted": "Bericht verwijderd",
44
45
  "Message flagged": "Bericht gemarkeerd",
45
46
  "Mute User": "Gebruiker dempen",
46
47
  "No chats here yet…": "Nog geen chats hier…",
48
+ "No threads here yet": "Hier zijn nog geen threads",
47
49
  "Not supported": "niet ondersteund",
48
50
  "Nothing yet...": "Nog niets...",
49
51
  "Ok": "Oké",
@@ -67,6 +69,8 @@
67
69
  "Sending links is not allowed in this conversation": "In dit gesprek is het niet toegestaan links te versturen",
68
70
  "Slow mode ON": "Langzame modus aan",
69
71
  "The message has been reported to a moderator.": "Het bericht is gerapporteerd aan een moderator.",
72
+ "The source message was deleted": "Het oorspronkelijke bericht is verwijderd",
73
+ "This reply was deleted": "Deze reactie is verwijderd",
70
74
  "Thread Reply": "Discussie beantwoorden",
71
75
  "Unban User": "Gebruiker Deblokeren",
72
76
  "Unblock User": "Deblokkeer gebruiker",
@@ -75,8 +79,10 @@
75
79
  "Unpin from Conversation": "Losmaken van gesprek",
76
80
  "Unread Messages": "Ongelezen Berichten",
77
81
  "Video": "Video",
82
+ "Voice message": "Spraakbericht",
78
83
  "You": "U",
79
84
  "You can't send messages in this channel": "Je kan geen berichten sturen in dit kanaal",
85
+ "replied to": "reageerde op",
80
86
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Gisteren]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[Morgen]\",\"nextWeek\":\"dddd [om] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
81
87
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
82
88
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -84,6 +90,7 @@
84
90
  "timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
85
91
  "timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
86
92
  "timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
93
+ "timestamp/ThreadListItem": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Gisteren]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[Morgen]\",\"nextWeek\":\"dddd [om] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
87
94
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} en {{ nonSelfUserLength }} anderen zijn aan het typen",
88
95
  "{{ index }} of {{ photoLength }}": "{{ index }} van {{ photoLength }}",
89
96
  "{{ replyCount }} Replies": "{{ replyCount }} Antwoorden",
@@ -38,12 +38,14 @@
38
38
  "Links are disabled": "Links estão desabilitados",
39
39
  "Loading channels...": "Carregando canais...",
40
40
  "Loading messages...": "Carregando mensagens...",
41
+ "Loading threads...": "Carregando tópicos...",
41
42
  "Loading...": "Carregando...",
42
43
  "Message Reactions": "Reações à Mensagem",
43
44
  "Message deleted": "Mensagem excluída",
44
45
  "Message flagged": "Mensagem sinalizada",
45
46
  "Mute User": "Silenciar Usuário",
46
47
  "No chats here yet…": "Ainda não há chats aqui...",
48
+ "No threads here yet": "Ainda não há tópicos aqui",
47
49
  "Not supported": "Não suportado",
48
50
  "Nothing yet...": "Nada ainda...",
49
51
  "Ok": "Ok",
@@ -67,6 +69,8 @@
67
69
  "Sending links is not allowed in this conversation": "Não é permitido enviar links nesta conversa",
68
70
  "Slow mode ON": "Modo Lento ATIVADO",
69
71
  "The message has been reported to a moderator.": "A mensagem foi relatada a um moderador.",
72
+ "The source message was deleted": "A mensagem original foi excluída",
73
+ "This reply was deleted": "Esta resposta foi excluída",
70
74
  "Thread Reply": "Respostas de Tópico",
71
75
  "Unban User": "Desbanir Usuário",
72
76
  "Unblock User": "Desbloquear Usuário",
@@ -75,8 +79,10 @@
75
79
  "Unpin from Conversation": "Desmarcar como fixado na conversa",
76
80
  "Unread Messages": "Mensagens não lidas",
77
81
  "Video": "Vídeo",
82
+ "Voice message": "Mensagem de voz",
78
83
  "You": "Você",
79
84
  "You can't send messages in this channel": "Você não pode enviar mensagens neste canal",
85
+ "replied to": "respondeu a",
80
86
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Ontem]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[Amanhã]\",\"nextWeek\":\"dddd [às] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
81
87
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
82
88
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -84,6 +90,7 @@
84
90
  "timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
85
91
  "timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
86
92
  "timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
93
+ "timestamp/ThreadListItem": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Ontem]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[Amanhã]\",\"nextWeek\":\"dddd [às] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
87
94
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} e mais {{ nonSelfUserLength }} pessoa(s) estão digitando",
88
95
  "{{ index }} of {{ photoLength }}": "{{ index }} de {{ photoLength }}",
89
96
  "{{ replyCount }} Replies": "{{ replyCount }} Respostas",
package/src/i18n/ru.json CHANGED
@@ -38,12 +38,14 @@
38
38
  "Links are disabled": "Ссылки отключены",
39
39
  "Loading channels...": "Загружаю каналы...",
40
40
  "Loading messages...": "Загружаю сообщения...",
41
+ "Loading threads...": "Загрузка потоков...",
41
42
  "Loading...": "Загружаю...",
42
43
  "Message Reactions": "Сообщения Реакции",
43
44
  "Message deleted": "Сообщение удалено",
44
45
  "Message flagged": "Сообщение отмечено",
45
46
  "Mute User": "Отключить пользователя",
46
47
  "No chats here yet…": "Здесь пока нет чатов…",
48
+ "No threads here yet": "Здесь пока нет потоков",
47
49
  "Not supported": "не поддерживается",
48
50
  "Nothing yet...": "Пока ничего нет...",
49
51
  "Ok": "Oк",
@@ -67,6 +69,8 @@
67
69
  "Sending links is not allowed in this conversation": "Отправка ссылок недоступна в этом чате",
68
70
  "Slow mode ON": "Медленный режим включен",
69
71
  "The message has been reported to a moderator.": "Сообщение отправлено модератору.",
72
+ "The source message was deleted": "Исходное сообщение было удалено",
73
+ "This reply was deleted": "Этот ответ был удалён",
70
74
  "Thread Reply": "Тема Ответить",
71
75
  "Unban User": "Разблокировать Пользователя",
72
76
  "Unblock User": "Разблокировать пользователя",
@@ -75,8 +79,10 @@
75
79
  "Unpin from Conversation": "Открепить от беседы",
76
80
  "Unread Messages": "Непрочитанные Сообщения",
77
81
  "Video": "видео",
82
+ "Voice message": "Голосовое сообщение",
78
83
  "You": "Вы",
79
84
  "You can't send messages in this channel": "Вы не можете отправлять сообщения в этот канал",
85
+ "replied to": "ответил на",
80
86
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Вчера]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[Завтра]\",\"nextWeek\":\"dddd [в] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
81
87
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
82
88
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -84,6 +90,7 @@
84
90
  "timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
85
91
  "timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
86
92
  "timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
93
+ "timestamp/ThreadListItem": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Вчера]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[Завтра]\",\"nextWeek\":\"dddd [в] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
87
94
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} и еще {{ nonSelfUserLength }} пишут",
88
95
  "{{ index }} of {{ photoLength }}": "{{ index }} из {{ photoLength }}",
89
96
  "{{ replyCount }} Replies": "{{ replyCount }} Ответов",