stream-chat-react-native-core 5.23.2-beta.1 → 5.23.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.
- package/lib/commonjs/components/Channel/Channel.js +33 -32
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +28 -26
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +41 -43
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js +1 -2
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/i18n/en.json +1 -1
- package/lib/commonjs/i18n/fr.json +63 -63
- package/lib/commonjs/i18n/hi.json +63 -63
- package/lib/commonjs/i18n/it.json +63 -63
- package/lib/commonjs/i18n/nl.json +63 -63
- package/lib/commonjs/i18n/ru.json +63 -63
- package/lib/commonjs/i18n/tr.json +63 -63
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +33 -32
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +28 -26
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +41 -43
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js +1 -2
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/i18n/en.json +1 -1
- package/lib/module/i18n/fr.json +63 -63
- package/lib/module/i18n/hi.json +63 -63
- package/lib/module/i18n/it.json +63 -63
- package/lib/module/i18n/nl.json +63 -63
- package/lib/module/i18n/ru.json +63 -63
- package/lib/module/i18n/tr.json +63 -63
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -3
- package/lib/typescript/components/MessageList/MessageList.d.ts +1 -5
- package/lib/typescript/i18n/en.json +1 -1
- package/lib/typescript/i18n/fr.json +63 -63
- package/lib/typescript/i18n/hi.json +63 -63
- package/lib/typescript/i18n/it.json +63 -63
- package/lib/typescript/i18n/nl.json +63 -63
- package/lib/typescript/i18n/ru.json +63 -63
- package/lib/typescript/i18n/tr.json +63 -63
- package/package.json +1 -1
- package/src/components/Channel/Channel.tsx +22 -17
- package/src/components/MessageInput/MessageInput.tsx +12 -5
- package/src/components/MessageList/MessageList.tsx +12 -15
- package/src/components/MessageList/hooks/useMessageList.ts +2 -2
- package/src/i18n/en.json +1 -1
- package/src/i18n/fr.json +63 -63
- package/src/i18n/hi.json +63 -63
- package/src/i18n/it.json +63 -63
- package/src/i18n/nl.json +63 -63
- package/src/i18n/ru.json +63 -63
- package/src/i18n/tr.json +63 -63
- package/src/version.json +1 -1
|
@@ -1,76 +1,76 @@
|
|
|
1
1
|
{
|
|
2
|
-
"1 Reply": "",
|
|
2
|
+
"1 Reply": "1 Cevap",
|
|
3
3
|
"1 Thread Reply": "1 Konu Yanıtı",
|
|
4
|
-
"Allow access to your Gallery": "",
|
|
5
|
-
"Allow camera access in device settings": "",
|
|
6
|
-
"Also send to channel": "",
|
|
7
|
-
"Are you sure you want to permanently delete this message?": "",
|
|
8
|
-
"Block User": "",
|
|
9
|
-
"Cancel": "",
|
|
10
|
-
"Cannot Flag Message": "",
|
|
11
|
-
"Copy Message": "",
|
|
12
|
-
"Delete": "",
|
|
13
|
-
"Delete Message": "",
|
|
14
|
-
"Device camera is used to take photos or videos.": "",
|
|
15
|
-
"Do you want to send a copy of this message to a moderator for further investigation?": "",
|
|
16
|
-
"Edit Message": "",
|
|
17
|
-
"Editing Message": "",
|
|
4
|
+
"Allow access to your Gallery": "Galerinize erişime izin verin",
|
|
5
|
+
"Allow camera access in device settings": "Cihaz ayarlarında kamera erişimine izin ver",
|
|
6
|
+
"Also send to channel": "Kanala da gönder",
|
|
7
|
+
"Are you sure you want to permanently delete this message?": "Bu mesajı kalıcı olarak silmek istediğinizden emin misiniz?",
|
|
8
|
+
"Block User": "Kullanıcıyı engelle",
|
|
9
|
+
"Cancel": "İptal",
|
|
10
|
+
"Cannot Flag Message": "Raporlama Başarısız",
|
|
11
|
+
"Copy Message": "Mesajı Kopyala",
|
|
12
|
+
"Delete": "Sil",
|
|
13
|
+
"Delete Message": "Mesajı Sil",
|
|
14
|
+
"Device camera is used to take photos or videos.": "Cihaz kamerası fotoğraf veya video çekmek için kullanılır.",
|
|
15
|
+
"Do you want to send a copy of this message to a moderator for further investigation?": "Detaylı inceleme için bu mesajın kopyasını moderatöre göndermek istiyor musunuz?",
|
|
16
|
+
"Edit Message": "Mesajı Düzenle",
|
|
17
|
+
"Editing Message": "Mesaj Düzenleniyor",
|
|
18
18
|
"Emoji matching": "Emoji eşleştirme",
|
|
19
|
-
"Empty message...": "",
|
|
20
|
-
"Error loading": "",
|
|
21
|
-
"Error loading channel list...": "",
|
|
22
|
-
"Error loading messages for this channel...": "",
|
|
23
|
-
"Error while loading, please reload/refresh": "",
|
|
19
|
+
"Empty message...": "Boş mesaj...",
|
|
20
|
+
"Error loading": "Yükleme hatası",
|
|
21
|
+
"Error loading channel list...": "Kanal listesi yüklenirken hata oluştu...",
|
|
22
|
+
"Error loading messages for this channel...": "Bu kanal için mesajlar yüklenirken hata oluştu...",
|
|
23
|
+
"Error while loading, please reload/refresh": "Yüklenirken hata oluştu, lütfen tekrar deneyiniz",
|
|
24
24
|
"File type not supported": "Dosya türü desteklenmiyor",
|
|
25
|
-
"Flag": "",
|
|
26
|
-
"Flag Message": "",
|
|
27
|
-
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
28
|
-
"How about sending your first message to a friend?": "",
|
|
25
|
+
"Flag": "Raporla",
|
|
26
|
+
"Flag Message": "Mesajı Raporla",
|
|
27
|
+
"Flag action failed either due to a network issue or the message is already flagged": "Mesajın daha önce raporlanmış olması veya bir ağ bağlantısı sorunu nedeniyle raporlama işlemi başarısız oldu.",
|
|
28
|
+
"How about sending your first message to a friend?": "İlk mesajınızı bir arkadaşınıza göndermeye ne dersiniz?",
|
|
29
29
|
"Instant Commands": "Anlık Komutlar",
|
|
30
|
-
"Let's start chatting!": "",
|
|
30
|
+
"Let's start chatting!": "Haydi sohbete başlayalım!",
|
|
31
31
|
"Links are disabled": "Bağlantılar devre dışı",
|
|
32
|
-
"Loading channels...": "",
|
|
33
|
-
"Loading messages...": "",
|
|
34
|
-
"Loading...": "",
|
|
32
|
+
"Loading channels...": "Kanallar yükleniyor...",
|
|
33
|
+
"Loading messages...": "Mesajlar yükleniyor...",
|
|
34
|
+
"Loading...": "Yükleniyor...",
|
|
35
35
|
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Maksimum dosya boyutu yükleme sınırına ulaşıldı. Lütfen {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB'ın altında bir dosya yükleyin.",
|
|
36
|
-
"Message Reactions": "",
|
|
37
|
-
"Message deleted": "",
|
|
38
|
-
"Message flagged": "",
|
|
39
|
-
"Mute User": "",
|
|
40
|
-
"Not supported": "",
|
|
41
|
-
"Nothing yet...": "",
|
|
42
|
-
"Ok": "",
|
|
43
|
-
"Only visible to you": "",
|
|
44
|
-
"Open Settings": "",
|
|
45
|
-
"Photo": "",
|
|
46
|
-
"Photos and Videos": "",
|
|
47
|
-
"Pin to Conversation": "",
|
|
36
|
+
"Message Reactions": "Mesaj Tepkileri",
|
|
37
|
+
"Message deleted": "Mesaj silindi",
|
|
38
|
+
"Message flagged": "Mesaj işaretlendi",
|
|
39
|
+
"Mute User": "Kullanıcıyı sessize al",
|
|
40
|
+
"Not supported": "Desteklenmiyor",
|
|
41
|
+
"Nothing yet...": "Henüz değil...",
|
|
42
|
+
"Ok": "Tamam",
|
|
43
|
+
"Only visible to you": "Sadece siz görebilirsiniz",
|
|
44
|
+
"Open Settings": "Ayarları aç",
|
|
45
|
+
"Photo": "Fotoğraf",
|
|
46
|
+
"Photos and Videos": "Fotoğraflar ve Videolar",
|
|
47
|
+
"Pin to Conversation": "Konuşmaya sabitle",
|
|
48
48
|
"Pinned by": "Tarafından sabitlendi",
|
|
49
|
-
"Please enable access to your photos and videos so you can share them.": "",
|
|
49
|
+
"Please enable access to your photos and videos so you can share them.": "Paylaşım yapabilmek için lutfen fotoğraflarınıza ve videolarınıza erişimi etkinleştirin.",
|
|
50
50
|
"Please select a channel first": "Lütfen önce bir kanal seçiniz",
|
|
51
|
-
"Reconnecting...": "",
|
|
52
|
-
"Reply": "",
|
|
53
|
-
"Reply to Message": "",
|
|
54
|
-
"Resend": "",
|
|
55
|
-
"Search GIFs": "",
|
|
56
|
-
"Select More Photos": "",
|
|
57
|
-
"Send a message": "",
|
|
51
|
+
"Reconnecting...": "Yeniden Bağlanılıyor...",
|
|
52
|
+
"Reply": "Yanıtla",
|
|
53
|
+
"Reply to Message": "Mesajı Yanıtla",
|
|
54
|
+
"Resend": "Yeniden gönder",
|
|
55
|
+
"Search GIFs": "GIF Ara",
|
|
56
|
+
"Select More Photos": "Daha Fazla Fotoğraf Seçin",
|
|
57
|
+
"Send a message": "Mesaj gönder",
|
|
58
58
|
"Sending links is not allowed in this conversation": "Bu konuşmada bağlantı göndermek desteklenmiyor",
|
|
59
|
-
"Slow mode ON": "",
|
|
60
|
-
"The message has been reported to a moderator.": "",
|
|
61
|
-
"Thread Reply": "",
|
|
62
|
-
"Unblock User": "",
|
|
63
|
-
"Unknown User": "",
|
|
64
|
-
"Unmute User": "",
|
|
65
|
-
"Unpin from Conversation": "",
|
|
66
|
-
"Unread Messages": "",
|
|
67
|
-
"Video": "",
|
|
68
|
-
"You": "",
|
|
59
|
+
"Slow mode ON": "Yavaş Mod Açık",
|
|
60
|
+
"The message has been reported to a moderator.": "Mesaj moderatöre bildirildi.",
|
|
61
|
+
"Thread Reply": "Konu Yanıtı",
|
|
62
|
+
"Unblock User": "Kullanıcının engelini kaldır",
|
|
63
|
+
"Unknown User": "Bilinmeyen kullanıcı",
|
|
64
|
+
"Unmute User": "Kullanıcının sesini aç",
|
|
65
|
+
"Unpin from Conversation": "Sabitlemeyi kaldır",
|
|
66
|
+
"Unread Messages": "Okunmamış Mesajlar",
|
|
67
|
+
"Video": "Video",
|
|
68
|
+
"You": "Sen",
|
|
69
69
|
"You can't send messages in this channel": "Bu konuşmaya mesaj gönderemezsiniz",
|
|
70
|
-
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
71
|
-
"{{ index }} of {{ photoLength }}": "",
|
|
72
|
-
"{{ replyCount }} Replies": "",
|
|
70
|
+
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} ve {{ nonSelfUserLength }} kişi daha yazıyor",
|
|
71
|
+
"{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
|
|
72
|
+
"{{ replyCount }} Replies": "{{ replyCount }} Cevap",
|
|
73
73
|
"{{ replyCount }} Thread Replies": "{{responseCount}} Konu Cevapı",
|
|
74
|
-
"{{ user }} is typing": "",
|
|
75
|
-
"🏙 Attachment...": ""
|
|
74
|
+
"{{ user }} is typing": "{{ user }} yazıyor",
|
|
75
|
+
"🏙 Attachment...": "🏙 Ek..."
|
|
76
76
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react-native-core",
|
|
3
3
|
"description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
|
|
4
|
-
"version": "5.23.2
|
|
4
|
+
"version": "5.23.2",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -777,15 +777,18 @@ const ChannelWithContext = <
|
|
|
777
777
|
useEffect(() => {
|
|
778
778
|
const handleEvent: EventHandler<StreamChatGenerics> = (event) => {
|
|
779
779
|
if (shouldSyncChannel) {
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
780
|
+
const isTypingEvent = event.type === 'typing.start' || event.type === 'typing.stop';
|
|
781
|
+
if (!isTypingEvent) {
|
|
782
|
+
if (thread?.id) {
|
|
783
|
+
const updatedThreadMessages =
|
|
784
|
+
(thread.id && channel && channel.state.threads[thread.id]) || threadMessages;
|
|
785
|
+
setThreadMessages(updatedThreadMessages);
|
|
786
|
+
}
|
|
785
787
|
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
788
|
+
if (channel && thread?.id && event.message?.id === thread.id) {
|
|
789
|
+
const updatedThread = channel.state.formatMessage(event.message);
|
|
790
|
+
setThread(updatedThread);
|
|
791
|
+
}
|
|
789
792
|
}
|
|
790
793
|
|
|
791
794
|
// only update channel state if the events are not the previously subscribed useEffect's subscription events
|
|
@@ -1097,11 +1100,11 @@ const ChannelWithContext = <
|
|
|
1097
1100
|
channelQueryCallRef.current(async () => {
|
|
1098
1101
|
if (!channel?.initialized || !channel.state.isUpToDate) {
|
|
1099
1102
|
await channel?.watch();
|
|
1103
|
+
channel?.state.setIsUpToDate(true);
|
|
1104
|
+
setHasNoMoreRecentMessagesToLoad(true);
|
|
1100
1105
|
} else {
|
|
1101
|
-
await
|
|
1106
|
+
await channel.state.loadMessageIntoState('latest');
|
|
1102
1107
|
}
|
|
1103
|
-
channel?.state.setIsUpToDate(true);
|
|
1104
|
-
setHasNoMoreRecentMessagesToLoad(true);
|
|
1105
1108
|
});
|
|
1106
1109
|
|
|
1107
1110
|
const reloadThread = async () => {
|
|
@@ -1999,11 +2002,14 @@ const ChannelWithContext = <
|
|
|
1999
2002
|
/**
|
|
2000
2003
|
* THREAD METHODS
|
|
2001
2004
|
*/
|
|
2002
|
-
const openThread: ThreadContextValue<StreamChatGenerics>['openThread'] = (
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2005
|
+
const openThread: ThreadContextValue<StreamChatGenerics>['openThread'] = useCallback(
|
|
2006
|
+
(message) => {
|
|
2007
|
+
const newThreadMessages = message?.id ? channel?.state?.threads[message.id] || [] : [];
|
|
2008
|
+
setThread(message);
|
|
2009
|
+
setThreadMessages(newThreadMessages);
|
|
2010
|
+
},
|
|
2011
|
+
[setThread, setThreadMessages],
|
|
2012
|
+
);
|
|
2007
2013
|
|
|
2008
2014
|
const closeThread: ThreadContextValue<StreamChatGenerics>['closeThread'] = useCallback(() => {
|
|
2009
2015
|
setThread(null);
|
|
@@ -2365,7 +2371,6 @@ export const Channel = <
|
|
|
2365
2371
|
|
|
2366
2372
|
return (
|
|
2367
2373
|
<ChannelWithContext<StreamChatGenerics>
|
|
2368
|
-
key={props.channel?.cid}
|
|
2369
2374
|
{...{
|
|
2370
2375
|
client,
|
|
2371
2376
|
enableOfflineSupport,
|
|
@@ -81,7 +81,10 @@ const styles = StyleSheet.create({
|
|
|
81
81
|
type MessageInputPropsWithContext<
|
|
82
82
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
83
83
|
> = Pick<ChatContextValue<StreamChatGenerics>, 'isOnline'> &
|
|
84
|
-
Pick<
|
|
84
|
+
Pick<
|
|
85
|
+
ChannelContextValue<StreamChatGenerics>,
|
|
86
|
+
'disabled' | 'members' | 'threadList' | 'watchers'
|
|
87
|
+
> &
|
|
85
88
|
Pick<
|
|
86
89
|
MessageInputContextValue<StreamChatGenerics>,
|
|
87
90
|
| 'additionalTextInputProps'
|
|
@@ -132,9 +135,7 @@ type MessageInputPropsWithContext<
|
|
|
132
135
|
| 'triggerType'
|
|
133
136
|
> &
|
|
134
137
|
Pick<ThreadContextValue<StreamChatGenerics>, 'thread'> &
|
|
135
|
-
Pick<TranslationContextValue, 't'
|
|
136
|
-
threadList?: boolean;
|
|
137
|
-
};
|
|
138
|
+
Pick<TranslationContextValue, 't'>;
|
|
138
139
|
|
|
139
140
|
const MessageInputWithContext = <
|
|
140
141
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
@@ -791,7 +792,12 @@ export const MessageInput = <
|
|
|
791
792
|
const { isOnline } = useChatContext();
|
|
792
793
|
const ownCapabilities = useOwnCapabilitiesContext();
|
|
793
794
|
|
|
794
|
-
const {
|
|
795
|
+
const {
|
|
796
|
+
disabled = false,
|
|
797
|
+
members,
|
|
798
|
+
threadList,
|
|
799
|
+
watchers,
|
|
800
|
+
} = useChannelContext<StreamChatGenerics>();
|
|
795
801
|
|
|
796
802
|
const {
|
|
797
803
|
additionalTextInputProps,
|
|
@@ -900,6 +906,7 @@ export const MessageInput = <
|
|
|
900
906
|
suggestions,
|
|
901
907
|
t,
|
|
902
908
|
thread,
|
|
909
|
+
threadList,
|
|
903
910
|
triggerType,
|
|
904
911
|
uploadNewFile,
|
|
905
912
|
uploadNewImage,
|
|
@@ -132,6 +132,7 @@ type MessageListPropsWithContext<
|
|
|
132
132
|
| 'setTargetedMessage'
|
|
133
133
|
| 'StickyHeader'
|
|
134
134
|
| 'targetedMessage'
|
|
135
|
+
| 'threadList'
|
|
135
136
|
> &
|
|
136
137
|
Pick<ChatContextValue<StreamChatGenerics>, 'client'> &
|
|
137
138
|
Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setMessages'> &
|
|
@@ -215,10 +216,6 @@ type MessageListPropsWithContext<
|
|
|
215
216
|
* ```
|
|
216
217
|
*/
|
|
217
218
|
setFlatListRef?: (ref: FlatListType<MessageType<StreamChatGenerics>> | null) => void;
|
|
218
|
-
/**
|
|
219
|
-
* Boolean whether or not the Messages in the MessageList are part of a Thread
|
|
220
|
-
**/
|
|
221
|
-
threadList?: boolean;
|
|
222
219
|
};
|
|
223
220
|
|
|
224
221
|
/**
|
|
@@ -545,7 +542,11 @@ const MessageListWithContext = <
|
|
|
545
542
|
|
|
546
543
|
useEffect(() => {
|
|
547
544
|
if (!rawMessageList.length) return;
|
|
548
|
-
|
|
545
|
+
if (threadList) {
|
|
546
|
+
setAutoscrollToRecent(true);
|
|
547
|
+
return;
|
|
548
|
+
}
|
|
549
|
+
const notLatestSet = channel.state.messages !== channel.state.latestMessages;
|
|
549
550
|
if (notLatestSet) {
|
|
550
551
|
latestNonCurrentMessageBeforeUpdateRef.current =
|
|
551
552
|
channel.state.latestMessages[channel.state.latestMessages.length - 1];
|
|
@@ -729,10 +730,8 @@ const MessageListWithContext = <
|
|
|
729
730
|
// If onEndReached is in progress, better to wait for it to finish for smooth UX
|
|
730
731
|
if (onEndReachedInPromise.current) {
|
|
731
732
|
await onEndReachedInPromise.current;
|
|
732
|
-
onStartReachedInPromise.current = loadMoreRecent(limit).then(callback).catch(onError);
|
|
733
|
-
} else {
|
|
734
|
-
onStartReachedInPromise.current = loadMoreRecent(limit).then(callback).catch(onError);
|
|
735
733
|
}
|
|
734
|
+
onStartReachedInPromise.current = loadMoreRecent(limit).then(callback).catch(onError);
|
|
736
735
|
};
|
|
737
736
|
|
|
738
737
|
/**
|
|
@@ -765,14 +764,10 @@ const MessageListWithContext = <
|
|
|
765
764
|
// If onStartReached is in progress, better to wait for it to finish for smooth UX
|
|
766
765
|
if (onStartReachedInPromise.current) {
|
|
767
766
|
await onStartReachedInPromise.current;
|
|
768
|
-
onEndReachedInPromise.current = (threadList ? loadMoreThread() : loadMore())
|
|
769
|
-
.then(callback)
|
|
770
|
-
.catch(onError);
|
|
771
|
-
} else {
|
|
772
|
-
onEndReachedInPromise.current = (threadList ? loadMoreThread() : loadMore())
|
|
773
|
-
.then(callback)
|
|
774
|
-
.catch(onError);
|
|
775
767
|
}
|
|
768
|
+
onEndReachedInPromise.current = (threadList ? loadMoreThread() : loadMore())
|
|
769
|
+
.then(callback)
|
|
770
|
+
.catch(onError);
|
|
776
771
|
};
|
|
777
772
|
|
|
778
773
|
const onUserScrollEvent: NonNullable<ScrollViewProps['onScroll']> = (event) => {
|
|
@@ -1226,6 +1221,7 @@ export const MessageList = <
|
|
|
1226
1221
|
setTargetedMessage,
|
|
1227
1222
|
StickyHeader,
|
|
1228
1223
|
targetedMessage,
|
|
1224
|
+
threadList,
|
|
1229
1225
|
} = useChannelContext<StreamChatGenerics>();
|
|
1230
1226
|
const { client } = useChatContext<StreamChatGenerics>();
|
|
1231
1227
|
const { setMessages } = useImageGalleryContext<StreamChatGenerics>();
|
|
@@ -1294,6 +1290,7 @@ export const MessageList = <
|
|
|
1294
1290
|
targetedMessage,
|
|
1295
1291
|
tDateTimeParser,
|
|
1296
1292
|
thread,
|
|
1293
|
+
threadList,
|
|
1297
1294
|
TypingIndicator,
|
|
1298
1295
|
TypingIndicatorContainer,
|
|
1299
1296
|
}}
|
|
@@ -106,11 +106,11 @@ export const useMessageList = <
|
|
|
106
106
|
const processedMessageList = [
|
|
107
107
|
...messagesWithStylesReadByAndDateSeparator,
|
|
108
108
|
].reverse() as MessageType<StreamChatGenerics>[];
|
|
109
|
-
|
|
109
|
+
|
|
110
110
|
return {
|
|
111
111
|
/** Messages enriched with dates/readby/groups and also reversed in order */
|
|
112
112
|
processedMessageList,
|
|
113
113
|
/** Raw messages from the channel state */
|
|
114
|
-
rawMessageList,
|
|
114
|
+
rawMessageList: messageList,
|
|
115
115
|
};
|
|
116
116
|
};
|
package/src/i18n/en.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"File type not supported": "File type not supported",
|
|
25
25
|
"Flag": "Flag",
|
|
26
26
|
"Flag Message": "Flag Message",
|
|
27
|
-
"Flag action failed either due to a network issue or the message is already flagged": "Flag action failed either due to a network issue or the message is already flagged",
|
|
27
|
+
"Flag action failed either due to a network issue or the message is already flagged": "Flag action failed either due to a network issue or the message is already flagged.",
|
|
28
28
|
"How about sending your first message to a friend?": "How about sending your first message to a friend?",
|
|
29
29
|
"Instant Commands": "Instant Commands",
|
|
30
30
|
"Let's start chatting!": "Let's start chatting!",
|
package/src/i18n/fr.json
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
1
1
|
{
|
|
2
|
-
"1 Reply": "",
|
|
2
|
+
"1 Reply": "1 Réponse",
|
|
3
3
|
"1 Thread Reply": "Réponse à 1 fil",
|
|
4
|
-
"Allow access to your Gallery": "",
|
|
5
|
-
"Allow camera access in device settings": "",
|
|
6
|
-
"Also send to channel": "",
|
|
7
|
-
"Are you sure you want to permanently delete this message?": "",
|
|
8
|
-
"Block User": "",
|
|
9
|
-
"Cancel": "",
|
|
10
|
-
"Cannot Flag Message": "",
|
|
11
|
-
"Copy Message": "",
|
|
12
|
-
"Delete": "",
|
|
13
|
-
"Delete Message": "",
|
|
14
|
-
"Device camera is used to take photos or videos.": "",
|
|
15
|
-
"Do you want to send a copy of this message to a moderator for further investigation?": "",
|
|
16
|
-
"Edit Message": "",
|
|
17
|
-
"Editing Message": "",
|
|
4
|
+
"Allow access to your Gallery": "Autoriser l'accès à votre galerie",
|
|
5
|
+
"Allow camera access in device settings": "Autoriser l'accès à la caméra dans les paramètres de l'appareil",
|
|
6
|
+
"Also send to channel": "Envoyer également à la chaîne",
|
|
7
|
+
"Are you sure you want to permanently delete this message?": "Êtes-vous sûr de vouloir supprimer définitivement ce message?",
|
|
8
|
+
"Block User": "Bloquer un utilisateur",
|
|
9
|
+
"Cancel": "Annuler",
|
|
10
|
+
"Cannot Flag Message": "Impossible de signaler le message",
|
|
11
|
+
"Copy Message": "Copier le message",
|
|
12
|
+
"Delete": "Supprimer",
|
|
13
|
+
"Delete Message": "Supprimer un message",
|
|
14
|
+
"Device camera is used to take photos or videos.": "L'appareil photo de l'appareil est utilisé pour prendre des photos ou des vidéos.",
|
|
15
|
+
"Do you want to send a copy of this message to a moderator for further investigation?": "Voulez-vous envoyer une copie de ce message à un modérateur pour une enquête plus approfondie?",
|
|
16
|
+
"Edit Message": "Éditer un message",
|
|
17
|
+
"Editing Message": "Édite un message",
|
|
18
18
|
"Emoji matching": "Correspondance Emoji",
|
|
19
|
-
"Empty message...": "",
|
|
20
|
-
"Error loading": "",
|
|
21
|
-
"Error loading channel list...": "",
|
|
22
|
-
"Error loading messages for this channel...": "",
|
|
23
|
-
"Error while loading, please reload/refresh": "",
|
|
19
|
+
"Empty message...": "Message vide...",
|
|
20
|
+
"Error loading": "Erreur lors du chargement",
|
|
21
|
+
"Error loading channel list...": "Erreur lors du chargement de la liste de canaux...",
|
|
22
|
+
"Error loading messages for this channel...": "Erreur lors du chargement des messages de ce canal...",
|
|
23
|
+
"Error while loading, please reload/refresh": "Erreur lors du chargement, veuillez recharger/rafraîchir",
|
|
24
24
|
"File type not supported": "Le type de fichier n'est pas pris en charge",
|
|
25
|
-
"Flag": "",
|
|
26
|
-
"Flag Message": "",
|
|
27
|
-
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
28
|
-
"How about sending your first message to a friend?": "",
|
|
25
|
+
"Flag": "Signaler",
|
|
26
|
+
"Flag Message": "Signaler le message",
|
|
27
|
+
"Flag action failed either due to a network issue or the message is already flagged": "L'action de signalisation a échoué en raison d'un problème de réseau ou le message est déjà signalé.",
|
|
28
|
+
"How about sending your first message to a friend?": "Et si vous envoyiez votre premier message à un ami ?",
|
|
29
29
|
"Instant Commands": "Commandes Instantanées",
|
|
30
|
-
"Let's start chatting!": "",
|
|
30
|
+
"Let's start chatting!": "Commençons à discuter !",
|
|
31
31
|
"Links are disabled": "Links are disabled",
|
|
32
|
-
"Loading channels...": "",
|
|
33
|
-
"Loading messages...": "",
|
|
34
|
-
"Loading...": "",
|
|
32
|
+
"Loading channels...": "Chargement des canaux...",
|
|
33
|
+
"Loading messages...": "Chargement des messages...",
|
|
34
|
+
"Loading...": "Chargement...",
|
|
35
35
|
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Taille maximale de téléchargement de fichier atteinte. Veuillez télécharger un fichier inférieur à {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} Mo.",
|
|
36
|
-
"Message Reactions": "",
|
|
37
|
-
"Message deleted": "",
|
|
38
|
-
"Message flagged": "",
|
|
39
|
-
"Mute User": "",
|
|
40
|
-
"Not supported": "",
|
|
41
|
-
"Nothing yet...": "",
|
|
42
|
-
"Ok": "",
|
|
43
|
-
"Only visible to you": "",
|
|
44
|
-
"Open Settings": "",
|
|
45
|
-
"Photo": "",
|
|
46
|
-
"Photos and Videos": "",
|
|
47
|
-
"Pin to Conversation": "",
|
|
36
|
+
"Message Reactions": "Réactions aux messages",
|
|
37
|
+
"Message deleted": "Message supprimé",
|
|
38
|
+
"Message flagged": "Message signalé",
|
|
39
|
+
"Mute User": "Utilisateur muet",
|
|
40
|
+
"Not supported": "Non pris en charge",
|
|
41
|
+
"Nothing yet...": "Aucun message...",
|
|
42
|
+
"Ok": "Ok",
|
|
43
|
+
"Only visible to you": "Seulement visible par vous",
|
|
44
|
+
"Open Settings": "Ouvrir les paramètres",
|
|
45
|
+
"Photo": "Photo",
|
|
46
|
+
"Photos and Videos": "Photos et vidéos",
|
|
47
|
+
"Pin to Conversation": "Épingler à la conversation",
|
|
48
48
|
"Pinned by": "Épinglé par",
|
|
49
|
-
"Please enable access to your photos and videos so you can share them.": "",
|
|
49
|
+
"Please enable access to your photos and videos so you can share them.": "Veuillez autoriser l'accès à vos photos et vidéos afin de pouvoir les partager.",
|
|
50
50
|
"Please select a channel first": "Veuillez d'abord selectionnez un canal",
|
|
51
|
-
"Reconnecting...": "",
|
|
52
|
-
"Reply": "",
|
|
53
|
-
"Reply to Message": "",
|
|
54
|
-
"Resend": "",
|
|
55
|
-
"Search GIFs": "",
|
|
56
|
-
"Select More Photos": "",
|
|
57
|
-
"Send a message": "",
|
|
51
|
+
"Reconnecting...": "Se Reconnecter...",
|
|
52
|
+
"Reply": "Répondre",
|
|
53
|
+
"Reply to Message": "Répondre au message",
|
|
54
|
+
"Resend": "Renvoyer",
|
|
55
|
+
"Search GIFs": "Rechercher des GIF",
|
|
56
|
+
"Select More Photos": "Sélectionner plus de photos",
|
|
57
|
+
"Send a message": "Envoyer un message",
|
|
58
58
|
"Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
|
|
59
|
-
"Slow mode ON": "",
|
|
60
|
-
"The message has been reported to a moderator.": "",
|
|
61
|
-
"Thread Reply": "",
|
|
62
|
-
"Unblock User": "",
|
|
63
|
-
"Unknown User": "",
|
|
64
|
-
"Unmute User": "",
|
|
65
|
-
"Unpin from Conversation": "",
|
|
66
|
-
"Unread Messages": "",
|
|
67
|
-
"Video": "",
|
|
68
|
-
"You": "",
|
|
59
|
+
"Slow mode ON": "Mode lent activé",
|
|
60
|
+
"The message has been reported to a moderator.": "Le message a été signalé à un modérateur.",
|
|
61
|
+
"Thread Reply": "Réponse à la discussion",
|
|
62
|
+
"Unblock User": "Débloquer Utilisateur",
|
|
63
|
+
"Unknown User": "Utilisateur inconnu",
|
|
64
|
+
"Unmute User": "Activer le son de Utilisateur",
|
|
65
|
+
"Unpin from Conversation": "Décrocher de la conversation",
|
|
66
|
+
"Unread Messages": "Messages non lus",
|
|
67
|
+
"Video": "Vidéo",
|
|
68
|
+
"You": "Toi",
|
|
69
69
|
"You can't send messages in this channel": "You can't send messages in this channel",
|
|
70
|
-
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
71
|
-
"{{ index }} of {{ photoLength }}": "",
|
|
72
|
-
"{{ replyCount }} Replies": "",
|
|
70
|
+
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} et {{ nonSelfUserLength }} autres sont en train d'écrire",
|
|
71
|
+
"{{ index }} of {{ photoLength }}": "{{ index }} sur {{ photoLength }}",
|
|
72
|
+
"{{ replyCount }} Replies": "{{ replyCount }} Réponses",
|
|
73
73
|
"{{ replyCount }} Thread Replies": "{{replyCount}} Réponses à la discussion",
|
|
74
|
-
"{{ user }} is typing": "",
|
|
75
|
-
"🏙 Attachment...": ""
|
|
74
|
+
"{{ user }} is typing": "{{ user }} est en train d'écrire",
|
|
75
|
+
"🏙 Attachment...": "🏙 Pièce jointe..."
|
|
76
76
|
}
|