stream-chat-react-native-core 5.24.0-beta.4 → 5.24.0-beta.6
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/Attachment/Attachment.js +22 -14
- package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/Card.js +11 -4
- package/lib/commonjs/components/Attachment/Card.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +24 -16
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +14 -7
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +22 -16
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +14 -8
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +10 -4
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +6 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/MessageInput/SendButton.js +2 -2
- package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +9 -3
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/i18n/en.json +1 -1
- package/lib/commonjs/i18n/fr.json +36 -36
- package/lib/commonjs/i18n/hi.json +36 -36
- package/lib/commonjs/i18n/it.json +36 -36
- package/lib/commonjs/i18n/nl.json +36 -36
- package/lib/commonjs/i18n/ru.json +36 -36
- package/lib/commonjs/i18n/tr.json +36 -36
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +22 -14
- package/lib/module/components/Attachment/Attachment.js.map +1 -1
- package/lib/module/components/Attachment/Card.js +11 -4
- package/lib/module/components/Attachment/Card.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +24 -16
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Message/Message.js +14 -7
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +22 -16
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +14 -8
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +10 -4
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +6 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/MessageInput/SendButton.js +2 -2
- package/lib/module/components/MessageInput/SendButton.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +9 -3
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js +2 -2
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/i18n/en.json +1 -1
- package/lib/module/i18n/fr.json +36 -36
- package/lib/module/i18n/hi.json +36 -36
- package/lib/module/i18n/it.json +36 -36
- package/lib/module/i18n/nl.json +36 -36
- package/lib/module/i18n/ru.json +36 -36
- package/lib/module/i18n/tr.json +36 -36
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Attachment.d.ts +2 -2
- package/lib/typescript/components/Attachment/Card.d.ts +2 -2
- package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +8 -2
- package/lib/typescript/i18n/en.json +1 -1
- package/lib/typescript/i18n/fr.json +36 -36
- package/lib/typescript/i18n/hi.json +36 -36
- package/lib/typescript/i18n/it.json +36 -36
- package/lib/typescript/i18n/nl.json +36 -36
- package/lib/typescript/i18n/ru.json +36 -36
- package/lib/typescript/i18n/tr.json +36 -36
- package/package.json +1 -1
- package/src/components/Attachment/Attachment.tsx +16 -2
- package/src/components/Attachment/Card.tsx +22 -4
- package/src/components/Attachment/Gallery.tsx +11 -0
- package/src/components/Message/Message.tsx +9 -0
- package/src/components/Message/MessageSimple/MessageContent.tsx +9 -0
- package/src/components/Message/MessageSimple/MessageSimple.tsx +9 -0
- package/src/components/Message/MessageSimple/MessageTextContainer.tsx +12 -2
- package/src/components/Message/hooks/useCreateMessageContext.ts +4 -0
- package/src/components/MessageInput/SendButton.tsx +2 -2
- package/src/components/MessageOverlay/MessageOverlay.tsx +8 -0
- package/src/contexts/messageContext/MessageContext.tsx +7 -1
- package/src/i18n/en.json +1 -1
- package/src/i18n/fr.json +36 -36
- package/src/i18n/hi.json +36 -36
- package/src/i18n/it.json +36 -36
- package/src/i18n/nl.json +36 -36
- package/src/i18n/ru.json +36 -36
- package/src/i18n/tr.json +36 -36
- package/src/version.json +1 -1
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
"Allow access to your Gallery": "",
|
|
5
5
|
"Allow camera access in device settings": "",
|
|
6
6
|
"Also send to channel": "Также отправить на канал",
|
|
7
|
-
"Are you sure you want to permanently delete this message?": "
|
|
8
|
-
"Are you sure?": "
|
|
9
|
-
"Block User": "
|
|
10
|
-
"Cancel": "
|
|
11
|
-
"Cannot Flag Message": "
|
|
12
|
-
"Consider how your comment might make others feel and be sure to follow our Community Guidelines": "
|
|
13
|
-
"Copy Message": "
|
|
14
|
-
"Delete": "
|
|
15
|
-
"Delete Message": "
|
|
7
|
+
"Are you sure you want to permanently delete this message?": "",
|
|
8
|
+
"Are you sure?": "",
|
|
9
|
+
"Block User": "",
|
|
10
|
+
"Cancel": "",
|
|
11
|
+
"Cannot Flag Message": "",
|
|
12
|
+
"Consider how your comment might make others feel and be sure to follow our Community Guidelines": "",
|
|
13
|
+
"Copy Message": "",
|
|
14
|
+
"Delete": "",
|
|
15
|
+
"Delete Message": "",
|
|
16
16
|
"Device camera is used to take photos or videos.": "",
|
|
17
|
-
"Do you want to send a copy of this message to a moderator for further investigation?": "
|
|
18
|
-
"Edit Message": "
|
|
19
|
-
"Editing Message": "",
|
|
17
|
+
"Do you want to send a copy of this message to a moderator for further investigation?": "",
|
|
18
|
+
"Edit Message": "",
|
|
19
|
+
"Editing Message": "Редактирование сообщения",
|
|
20
20
|
"Emoji matching": "",
|
|
21
21
|
"Empty message...": "",
|
|
22
22
|
"Error loading": "",
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"Error loading messages for this channel...": "",
|
|
25
25
|
"Error while loading, please reload/refresh": "",
|
|
26
26
|
"File type not supported": "",
|
|
27
|
-
"Flag": "
|
|
28
|
-
"Flag Message": "
|
|
29
|
-
"Flag action failed either due to a network issue or the message is already flagged": "
|
|
27
|
+
"Flag": "",
|
|
28
|
+
"Flag Message": "",
|
|
29
|
+
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
30
30
|
"How about sending your first message to a friend?": "",
|
|
31
31
|
"Instant Commands": "",
|
|
32
32
|
"Let's start chatting!": "",
|
|
@@ -35,41 +35,41 @@
|
|
|
35
35
|
"Loading messages...": "",
|
|
36
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}} МБ.",
|
|
38
|
-
"Message Reactions": "",
|
|
38
|
+
"Message Reactions": "Сообщения Реакции",
|
|
39
39
|
"Message deleted": "",
|
|
40
|
-
"Message flagged": "
|
|
41
|
-
"Mute User": "
|
|
42
|
-
"Not supported": "",
|
|
40
|
+
"Message flagged": "",
|
|
41
|
+
"Mute User": "",
|
|
42
|
+
"Not supported": "не поддерживается",
|
|
43
43
|
"Nothing yet...": "",
|
|
44
|
-
"Ok": "
|
|
44
|
+
"Ok": "",
|
|
45
45
|
"Only visible to you": "",
|
|
46
46
|
"Open Settings": "",
|
|
47
|
-
"Photo": "",
|
|
47
|
+
"Photo": "Фото",
|
|
48
48
|
"Photos and Videos": "",
|
|
49
|
-
"Pin to Conversation": "
|
|
49
|
+
"Pin to Conversation": "",
|
|
50
50
|
"Pinned by": "",
|
|
51
51
|
"Please enable access to your photos and videos so you can share them.": "",
|
|
52
52
|
"Please select a channel first": "Пожалуйста, сначала выберите канал",
|
|
53
53
|
"Reconnecting...": "",
|
|
54
|
-
"Reply": "
|
|
54
|
+
"Reply": "",
|
|
55
55
|
"Reply to Message": "",
|
|
56
|
-
"Resend": "
|
|
57
|
-
"Search GIFs": "",
|
|
56
|
+
"Resend": "",
|
|
57
|
+
"Search GIFs": "Поиск GIF",
|
|
58
58
|
"Select More Photos": "",
|
|
59
|
-
"Send Anyway": "
|
|
60
|
-
"Send a message": "",
|
|
59
|
+
"Send Anyway": "",
|
|
60
|
+
"Send a message": "Отправить сообщение",
|
|
61
61
|
"Sending links is not allowed in this conversation": "Отправка ссылок недоступна в этом чате",
|
|
62
|
-
"Slow mode ON": "",
|
|
63
|
-
"The message has been reported to a moderator.": "
|
|
64
|
-
"Thread Reply": "
|
|
65
|
-
"Unblock User": "
|
|
62
|
+
"Slow mode ON": "Медленный режим включен",
|
|
63
|
+
"The message has been reported to a moderator.": "",
|
|
64
|
+
"Thread Reply": "",
|
|
65
|
+
"Unblock User": "",
|
|
66
66
|
"Unknown User": "",
|
|
67
|
-
"Unmute User": "
|
|
68
|
-
"Unpin from Conversation": "
|
|
69
|
-
"Unread Messages": "
|
|
70
|
-
"Video": "",
|
|
67
|
+
"Unmute User": "",
|
|
68
|
+
"Unpin from Conversation": "",
|
|
69
|
+
"Unread Messages": "",
|
|
70
|
+
"Video": "видео",
|
|
71
71
|
"You": "",
|
|
72
|
-
"You can't send messages in this channel": "
|
|
72
|
+
"You can't send messages in this channel": "",
|
|
73
73
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
74
74
|
"{{ index }} of {{ photoLength }}": "",
|
|
75
75
|
"{{ replyCount }} Replies": "",
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
"Allow access to your Gallery": "",
|
|
5
5
|
"Allow camera access in device settings": "",
|
|
6
6
|
"Also send to channel": "Kanala da gönder",
|
|
7
|
-
"Are you sure you want to permanently delete this message?": "
|
|
8
|
-
"Are you sure?": "
|
|
9
|
-
"Block User": "
|
|
10
|
-
"Cancel": "
|
|
11
|
-
"Cannot Flag Message": "
|
|
12
|
-
"Consider how your comment might make others feel and be sure to follow our Community Guidelines": "
|
|
13
|
-
"Copy Message": "
|
|
14
|
-
"Delete": "
|
|
15
|
-
"Delete Message": "
|
|
7
|
+
"Are you sure you want to permanently delete this message?": "",
|
|
8
|
+
"Are you sure?": "",
|
|
9
|
+
"Block User": "",
|
|
10
|
+
"Cancel": "",
|
|
11
|
+
"Cannot Flag Message": "",
|
|
12
|
+
"Consider how your comment might make others feel and be sure to follow our Community Guidelines": "",
|
|
13
|
+
"Copy Message": "",
|
|
14
|
+
"Delete": "",
|
|
15
|
+
"Delete Message": "",
|
|
16
16
|
"Device camera is used to take photos or videos.": "",
|
|
17
|
-
"Do you want to send a copy of this message to a moderator for further investigation?": "
|
|
18
|
-
"Edit Message": "
|
|
19
|
-
"Editing Message": "",
|
|
17
|
+
"Do you want to send a copy of this message to a moderator for further investigation?": "",
|
|
18
|
+
"Edit Message": "",
|
|
19
|
+
"Editing Message": "Mesaj Düzenleniyor",
|
|
20
20
|
"Emoji matching": "",
|
|
21
21
|
"Empty message...": "",
|
|
22
22
|
"Error loading": "",
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"Error loading messages for this channel...": "",
|
|
25
25
|
"Error while loading, please reload/refresh": "",
|
|
26
26
|
"File type not supported": "",
|
|
27
|
-
"Flag": "
|
|
28
|
-
"Flag Message": "
|
|
29
|
-
"Flag action failed either due to a network issue or the message is already flagged": "
|
|
27
|
+
"Flag": "",
|
|
28
|
+
"Flag Message": "",
|
|
29
|
+
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
30
30
|
"How about sending your first message to a friend?": "",
|
|
31
31
|
"Instant Commands": "",
|
|
32
32
|
"Let's start chatting!": "",
|
|
@@ -35,41 +35,41 @@
|
|
|
35
35
|
"Loading messages...": "",
|
|
36
36
|
"Loading...": "",
|
|
37
37
|
"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.",
|
|
38
|
-
"Message Reactions": "",
|
|
38
|
+
"Message Reactions": "Mesaj Tepkileri",
|
|
39
39
|
"Message deleted": "",
|
|
40
|
-
"Message flagged": "
|
|
41
|
-
"Mute User": "
|
|
42
|
-
"Not supported": "",
|
|
40
|
+
"Message flagged": "",
|
|
41
|
+
"Mute User": "",
|
|
42
|
+
"Not supported": "Desteklenmiyor",
|
|
43
43
|
"Nothing yet...": "",
|
|
44
|
-
"Ok": "
|
|
44
|
+
"Ok": "",
|
|
45
45
|
"Only visible to you": "",
|
|
46
46
|
"Open Settings": "",
|
|
47
|
-
"Photo": "",
|
|
47
|
+
"Photo": "Fotoğraf",
|
|
48
48
|
"Photos and Videos": "",
|
|
49
|
-
"Pin to Conversation": "
|
|
49
|
+
"Pin to Conversation": "",
|
|
50
50
|
"Pinned by": "",
|
|
51
51
|
"Please enable access to your photos and videos so you can share them.": "",
|
|
52
52
|
"Please select a channel first": "Lütfen önce bir kanal seçiniz",
|
|
53
53
|
"Reconnecting...": "",
|
|
54
|
-
"Reply": "
|
|
54
|
+
"Reply": "",
|
|
55
55
|
"Reply to Message": "",
|
|
56
|
-
"Resend": "
|
|
57
|
-
"Search GIFs": "",
|
|
56
|
+
"Resend": "",
|
|
57
|
+
"Search GIFs": "GIF Ara",
|
|
58
58
|
"Select More Photos": "",
|
|
59
|
-
"Send Anyway": "
|
|
60
|
-
"Send a message": "",
|
|
59
|
+
"Send Anyway": "",
|
|
60
|
+
"Send a message": "Mesaj gönder",
|
|
61
61
|
"Sending links is not allowed in this conversation": "Bu konuşmada bağlantı göndermek desteklenmiyor",
|
|
62
|
-
"Slow mode ON": "",
|
|
63
|
-
"The message has been reported to a moderator.": "
|
|
64
|
-
"Thread Reply": "
|
|
65
|
-
"Unblock User": "
|
|
62
|
+
"Slow mode ON": "Yavaş Mod Açık",
|
|
63
|
+
"The message has been reported to a moderator.": "",
|
|
64
|
+
"Thread Reply": "",
|
|
65
|
+
"Unblock User": "",
|
|
66
66
|
"Unknown User": "",
|
|
67
|
-
"Unmute User": "
|
|
68
|
-
"Unpin from Conversation": "
|
|
69
|
-
"Unread Messages": "
|
|
70
|
-
"Video": "",
|
|
67
|
+
"Unmute User": "",
|
|
68
|
+
"Unpin from Conversation": "",
|
|
69
|
+
"Unread Messages": "",
|
|
70
|
+
"Video": "Video",
|
|
71
71
|
"You": "",
|
|
72
|
-
"You can't send messages in this channel": "
|
|
72
|
+
"You can't send messages in this channel": "",
|
|
73
73
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
74
74
|
"{{ index }} of {{ photoLength }}": "",
|
|
75
75
|
"{{ replyCount }} Replies": "",
|
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.24.0-beta.
|
|
4
|
+
"version": "5.24.0-beta.6",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -29,6 +29,7 @@ export type AttachmentPropsWithContext<
|
|
|
29
29
|
| 'Giphy'
|
|
30
30
|
| 'isAttachmentEqual'
|
|
31
31
|
| 'UrlPreview'
|
|
32
|
+
| 'myMessageTheme'
|
|
32
33
|
> & {
|
|
33
34
|
/**
|
|
34
35
|
* The attachment to render
|
|
@@ -106,8 +107,12 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
106
107
|
prevProps: AttachmentPropsWithContext<StreamChatGenerics>,
|
|
107
108
|
nextProps: AttachmentPropsWithContext<StreamChatGenerics>,
|
|
108
109
|
) => {
|
|
109
|
-
const {
|
|
110
|
-
|
|
110
|
+
const {
|
|
111
|
+
attachment: prevAttachment,
|
|
112
|
+
isAttachmentEqual,
|
|
113
|
+
myMessageTheme: prevMyMessageTheme,
|
|
114
|
+
} = prevProps;
|
|
115
|
+
const { attachment: nextAttachment, myMessageTheme: nextMyMessageTheme } = nextProps;
|
|
111
116
|
|
|
112
117
|
const attachmentEqual =
|
|
113
118
|
prevAttachment.actions?.length === nextAttachment.actions?.length &&
|
|
@@ -119,6 +124,10 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
119
124
|
return isAttachmentEqual(prevAttachment, nextAttachment);
|
|
120
125
|
}
|
|
121
126
|
|
|
127
|
+
const messageThemeEqual =
|
|
128
|
+
JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);
|
|
129
|
+
if (!messageThemeEqual) return false;
|
|
130
|
+
|
|
122
131
|
return true;
|
|
123
132
|
};
|
|
124
133
|
|
|
@@ -138,6 +147,7 @@ export type AttachmentProps<
|
|
|
138
147
|
| 'Gallery'
|
|
139
148
|
| 'Giphy'
|
|
140
149
|
| 'giphyVersion'
|
|
150
|
+
| 'myMessageTheme'
|
|
141
151
|
| 'UrlPreview'
|
|
142
152
|
| 'isAttachmentEqual'
|
|
143
153
|
>
|
|
@@ -160,6 +170,7 @@ export const Attachment = <
|
|
|
160
170
|
Gallery: PropGallery,
|
|
161
171
|
Giphy: PropGiphy,
|
|
162
172
|
giphyVersion: PropGiphyVersion,
|
|
173
|
+
myMessageTheme: PropMyMessageTheme,
|
|
163
174
|
UrlPreview: PropUrlPreview,
|
|
164
175
|
} = props;
|
|
165
176
|
|
|
@@ -171,6 +182,7 @@ export const Attachment = <
|
|
|
171
182
|
Giphy: ContextGiphy,
|
|
172
183
|
giphyVersion: ContextGiphyVersion,
|
|
173
184
|
isAttachmentEqual,
|
|
185
|
+
myMessageTheme: ContextMyMessageTheme,
|
|
174
186
|
UrlPreview: ContextUrlPreview,
|
|
175
187
|
} = useMessagesContext<StreamChatGenerics>();
|
|
176
188
|
|
|
@@ -186,6 +198,7 @@ export const Attachment = <
|
|
|
186
198
|
const Giphy = PropGiphy || ContextGiphy || GiphyDefault;
|
|
187
199
|
const UrlPreview = PropUrlPreview || ContextUrlPreview || CardDefault;
|
|
188
200
|
const giphyVersion = PropGiphyVersion || ContextGiphyVersion;
|
|
201
|
+
const myMessageTheme = PropMyMessageTheme || ContextMyMessageTheme;
|
|
189
202
|
|
|
190
203
|
return (
|
|
191
204
|
<MemoizedAttachment
|
|
@@ -198,6 +211,7 @@ export const Attachment = <
|
|
|
198
211
|
Giphy,
|
|
199
212
|
giphyVersion,
|
|
200
213
|
isAttachmentEqual,
|
|
214
|
+
myMessageTheme,
|
|
201
215
|
UrlPreview,
|
|
202
216
|
}}
|
|
203
217
|
/>
|
|
@@ -92,7 +92,7 @@ export type CardPropsWithContext<
|
|
|
92
92
|
> &
|
|
93
93
|
Pick<
|
|
94
94
|
MessagesContextValue<StreamChatGenerics>,
|
|
95
|
-
'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'
|
|
95
|
+
'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader' | 'myMessageTheme'
|
|
96
96
|
> & {
|
|
97
97
|
channelId: string | undefined;
|
|
98
98
|
messageId: string | undefined;
|
|
@@ -287,14 +287,31 @@ const CardWithContext = <
|
|
|
287
287
|
);
|
|
288
288
|
};
|
|
289
289
|
|
|
290
|
-
const
|
|
290
|
+
const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(
|
|
291
|
+
prevProps: CardPropsWithContext<StreamChatGenerics>,
|
|
292
|
+
nextProps: CardPropsWithContext<StreamChatGenerics>,
|
|
293
|
+
) => {
|
|
294
|
+
const { myMessageTheme: prevMyMessageTheme } = prevProps;
|
|
295
|
+
const { myMessageTheme: nextMyMessageTheme } = nextProps;
|
|
296
|
+
|
|
297
|
+
const messageThemeEqual =
|
|
298
|
+
JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);
|
|
299
|
+
if (!messageThemeEqual) return false;
|
|
300
|
+
|
|
301
|
+
return true;
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
const MemoizedCard = React.memo(CardWithContext, areEqual) as typeof CardWithContext;
|
|
291
305
|
|
|
292
306
|
export type CardProps<
|
|
293
307
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
294
308
|
> = Attachment<StreamChatGenerics> &
|
|
295
309
|
Partial<
|
|
296
310
|
Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent'> &
|
|
297
|
-
Pick<
|
|
311
|
+
Pick<
|
|
312
|
+
MessageContextValue<StreamChatGenerics>,
|
|
313
|
+
'onLongPress' | 'onPress' | 'onPressIn' | 'myMessageTheme'
|
|
314
|
+
> &
|
|
298
315
|
Pick<
|
|
299
316
|
MessagesContextValue<StreamChatGenerics>,
|
|
300
317
|
'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'
|
|
@@ -312,7 +329,7 @@ export const Card = <
|
|
|
312
329
|
const { ImageComponent } = useChatContext<StreamChatGenerics>();
|
|
313
330
|
const { message, onLongPress, onPress, onPressIn, preventPress } =
|
|
314
331
|
useMessageContext<StreamChatGenerics>();
|
|
315
|
-
const { additionalTouchableProps, CardCover, CardFooter, CardHeader } =
|
|
332
|
+
const { additionalTouchableProps, CardCover, CardFooter, CardHeader, myMessageTheme } =
|
|
316
333
|
useMessagesContext<StreamChatGenerics>();
|
|
317
334
|
|
|
318
335
|
return (
|
|
@@ -326,6 +343,7 @@ export const Card = <
|
|
|
326
343
|
channelId: message.cid,
|
|
327
344
|
ImageComponent,
|
|
328
345
|
messageId: message.id,
|
|
346
|
+
myMessageTheme,
|
|
329
347
|
onLongPress,
|
|
330
348
|
onPress,
|
|
331
349
|
onPressIn,
|
|
@@ -57,6 +57,7 @@ export type GalleryPropsWithContext<
|
|
|
57
57
|
| 'VideoThumbnail'
|
|
58
58
|
| 'ImageLoadingIndicator'
|
|
59
59
|
| 'ImageLoadingFailedIndicator'
|
|
60
|
+
| 'myMessageTheme'
|
|
60
61
|
> &
|
|
61
62
|
Pick<OverlayContextValue, 'setOverlay'> & {
|
|
62
63
|
channelId: string | undefined;
|
|
@@ -486,6 +487,7 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
486
487
|
hasThreadReplies: prevHasThreadReplies,
|
|
487
488
|
images: prevImages,
|
|
488
489
|
message: prevMessage,
|
|
490
|
+
myMessageTheme: prevMyMessageTheme,
|
|
489
491
|
videos: prevVideos,
|
|
490
492
|
} = prevProps;
|
|
491
493
|
const {
|
|
@@ -493,6 +495,7 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
493
495
|
hasThreadReplies: nextHasThreadReplies,
|
|
494
496
|
images: nextImages,
|
|
495
497
|
message: nextMessage,
|
|
498
|
+
myMessageTheme: nextMyMessageTheme,
|
|
496
499
|
videos: nextVideos,
|
|
497
500
|
} = nextProps;
|
|
498
501
|
|
|
@@ -526,6 +529,10 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
526
529
|
);
|
|
527
530
|
if (!videosEqual) return false;
|
|
528
531
|
|
|
532
|
+
const messageThemeEqual =
|
|
533
|
+
JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);
|
|
534
|
+
if (!messageThemeEqual) return false;
|
|
535
|
+
|
|
529
536
|
return true;
|
|
530
537
|
};
|
|
531
538
|
|
|
@@ -552,6 +559,7 @@ export const Gallery = <
|
|
|
552
559
|
ImageLoadingIndicator: PropImageLoadingIndicator,
|
|
553
560
|
images: propImages,
|
|
554
561
|
message: propMessage,
|
|
562
|
+
myMessageTheme: propMyMessageTheme,
|
|
555
563
|
onLongPress: propOnLongPress,
|
|
556
564
|
onPress: propOnPress,
|
|
557
565
|
onPressIn: propOnPressIn,
|
|
@@ -582,6 +590,7 @@ export const Gallery = <
|
|
|
582
590
|
ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,
|
|
583
591
|
ImageLoadingIndicator: ContextImageLoadingIndicator,
|
|
584
592
|
legacyImageViewerSwipeBehaviour,
|
|
593
|
+
myMessageTheme: contextMyMessageTheme,
|
|
585
594
|
VideoThumbnail: ContextVideoThumnbnail,
|
|
586
595
|
} = useMessagesContext<StreamChatGenerics>();
|
|
587
596
|
const { setOverlay: contextSetOverlay } = useOverlayContext();
|
|
@@ -607,6 +616,7 @@ export const Gallery = <
|
|
|
607
616
|
const ImageLoadingFailedIndicator =
|
|
608
617
|
PropImageLoadingFailedIndicator || ContextImageLoadingFailedIndicator;
|
|
609
618
|
const ImageLoadingIndicator = PropImageLoadingIndicator || ContextImageLoadingIndicator;
|
|
619
|
+
const myMessageTheme = propMyMessageTheme || contextMyMessageTheme;
|
|
610
620
|
|
|
611
621
|
return (
|
|
612
622
|
<MemoizedGallery
|
|
@@ -621,6 +631,7 @@ export const Gallery = <
|
|
|
621
631
|
images,
|
|
622
632
|
legacyImageViewerSwipeBehaviour,
|
|
623
633
|
message,
|
|
634
|
+
myMessageTheme,
|
|
624
635
|
onLongPress,
|
|
625
636
|
onPress,
|
|
626
637
|
onPressIn,
|
|
@@ -674,6 +674,7 @@ const MessageWithContext = <
|
|
|
674
674
|
members,
|
|
675
675
|
message,
|
|
676
676
|
messageContentOrder,
|
|
677
|
+
myMessageTheme: messagesContext.myMessageTheme,
|
|
677
678
|
onLongPress: onLongPressMessage,
|
|
678
679
|
onlyEmojis,
|
|
679
680
|
onOpenThread,
|
|
@@ -774,6 +775,7 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
774
775
|
lastReceivedId: prevLastReceivedId,
|
|
775
776
|
members: prevMembers,
|
|
776
777
|
message: prevMessage,
|
|
778
|
+
messagesContext: prevMessagesContext,
|
|
777
779
|
showUnreadUnderlay: prevShowUnreadUnderlay,
|
|
778
780
|
t: prevT,
|
|
779
781
|
} = prevProps;
|
|
@@ -785,6 +787,7 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
785
787
|
lastReceivedId: nextLastReceivedId,
|
|
786
788
|
members: nextMembers,
|
|
787
789
|
message: nextMessage,
|
|
790
|
+
messagesContext: nextMessagesContext,
|
|
788
791
|
showUnreadUnderlay: nextShowUnreadUnderlay,
|
|
789
792
|
t: nextT,
|
|
790
793
|
} = nextProps;
|
|
@@ -887,6 +890,12 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
887
890
|
const targetedMessageEqual = prevIsTargetedMessage === nextIsTargetedMessage;
|
|
888
891
|
if (!targetedMessageEqual) return false;
|
|
889
892
|
|
|
893
|
+
const prevMyMessageTheme = JSON.stringify(prevMessagesContext?.myMessageTheme);
|
|
894
|
+
const nextMyMessageTheme = JSON.stringify(nextMessagesContext?.myMessageTheme);
|
|
895
|
+
|
|
896
|
+
const messageThemeEqual = prevMyMessageTheme === nextMyMessageTheme;
|
|
897
|
+
if (!messageThemeEqual) return false;
|
|
898
|
+
|
|
890
899
|
return true;
|
|
891
900
|
};
|
|
892
901
|
|
|
@@ -91,6 +91,7 @@ export type MessageContentPropsWithContext<
|
|
|
91
91
|
| 'MessageError'
|
|
92
92
|
| 'MessageReplies'
|
|
93
93
|
| 'MessageStatus'
|
|
94
|
+
| 'myMessageTheme'
|
|
94
95
|
| 'onPressInMessage'
|
|
95
96
|
| 'Reply'
|
|
96
97
|
> &
|
|
@@ -417,6 +418,7 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
417
418
|
members: prevMembers,
|
|
418
419
|
message: prevMessage,
|
|
419
420
|
messageContentOrder: prevMessageContentOrder,
|
|
421
|
+
myMessageTheme: prevMyMessageTheme,
|
|
420
422
|
onlyEmojis: prevOnlyEmojis,
|
|
421
423
|
otherAttachments: prevOtherAttachments,
|
|
422
424
|
t: prevT,
|
|
@@ -430,6 +432,7 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
430
432
|
members: nextMembers,
|
|
431
433
|
message: nextMessage,
|
|
432
434
|
messageContentOrder: nextMessageContentOrder,
|
|
435
|
+
myMessageTheme: nextMyMessageTheme,
|
|
433
436
|
onlyEmojis: nextOnlyEmojis,
|
|
434
437
|
otherAttachments: nextOtherAttachments,
|
|
435
438
|
t: nextT,
|
|
@@ -525,6 +528,10 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
525
528
|
const tDateTimeParserEqual = prevTDateTimeParser === nextTDateTimeParser;
|
|
526
529
|
if (!tDateTimeParserEqual) return false;
|
|
527
530
|
|
|
531
|
+
const messageThemeEqual =
|
|
532
|
+
JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);
|
|
533
|
+
if (!messageThemeEqual) return false;
|
|
534
|
+
|
|
528
535
|
return true;
|
|
529
536
|
};
|
|
530
537
|
|
|
@@ -580,6 +587,7 @@ export const MessageContent = <
|
|
|
580
587
|
MessageHeader,
|
|
581
588
|
MessageReplies,
|
|
582
589
|
MessageStatus,
|
|
590
|
+
myMessageTheme,
|
|
583
591
|
Reply,
|
|
584
592
|
} = useMessagesContext<StreamChatGenerics>();
|
|
585
593
|
const { t, tDateTimeParser } = useTranslationContext();
|
|
@@ -610,6 +618,7 @@ export const MessageContent = <
|
|
|
610
618
|
MessageHeader,
|
|
611
619
|
MessageReplies,
|
|
612
620
|
MessageStatus,
|
|
621
|
+
myMessageTheme,
|
|
613
622
|
onLongPress,
|
|
614
623
|
onlyEmojis,
|
|
615
624
|
onPress,
|
|
@@ -29,6 +29,7 @@ export type MessageSimplePropsWithContext<
|
|
|
29
29
|
Pick<
|
|
30
30
|
MessagesContextValue<StreamChatGenerics>,
|
|
31
31
|
| 'enableMessageGroupingByUser'
|
|
32
|
+
| 'myMessageTheme'
|
|
32
33
|
| 'MessageAvatar'
|
|
33
34
|
| 'MessageContent'
|
|
34
35
|
| 'MessagePinnedHeader'
|
|
@@ -104,12 +105,14 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
104
105
|
groupStyles: prevGroupStyles,
|
|
105
106
|
hasReactions: prevHasReactions,
|
|
106
107
|
message: prevMessage,
|
|
108
|
+
myMessageTheme: prevMyMessageTheme,
|
|
107
109
|
} = prevProps;
|
|
108
110
|
const {
|
|
109
111
|
channel: nextChannel,
|
|
110
112
|
groupStyles: nextGroupStyles,
|
|
111
113
|
hasReactions: nextHasReactions,
|
|
112
114
|
message: nextMessage,
|
|
115
|
+
myMessageTheme: nextMyMessageTheme,
|
|
113
116
|
} = nextProps;
|
|
114
117
|
|
|
115
118
|
const hasReactionsEqual = prevHasReactions === nextHasReactions;
|
|
@@ -169,6 +172,10 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
169
172
|
: prevMessage.latest_reactions === nextMessage.latest_reactions;
|
|
170
173
|
if (!latestReactionsEqual) return false;
|
|
171
174
|
|
|
175
|
+
const messageThemeEqual =
|
|
176
|
+
JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);
|
|
177
|
+
if (!messageThemeEqual) return false;
|
|
178
|
+
|
|
172
179
|
return true;
|
|
173
180
|
};
|
|
174
181
|
|
|
@@ -197,6 +204,7 @@ export const MessageSimple = <
|
|
|
197
204
|
MessageAvatar,
|
|
198
205
|
MessageContent,
|
|
199
206
|
MessagePinnedHeader,
|
|
207
|
+
myMessageTheme,
|
|
200
208
|
ReactionList,
|
|
201
209
|
} = useMessagesContext<StreamChatGenerics>();
|
|
202
210
|
|
|
@@ -212,6 +220,7 @@ export const MessageSimple = <
|
|
|
212
220
|
MessageAvatar,
|
|
213
221
|
MessageContent,
|
|
214
222
|
MessagePinnedHeader,
|
|
223
|
+
myMessageTheme,
|
|
215
224
|
ReactionList,
|
|
216
225
|
}}
|
|
217
226
|
{...props}
|
|
@@ -35,7 +35,10 @@ export type MessageTextContainerPropsWithContext<
|
|
|
35
35
|
MessageContextValue<StreamChatGenerics>,
|
|
36
36
|
'message' | 'onLongPress' | 'onlyEmojis' | 'onPress' | 'preventPress'
|
|
37
37
|
> &
|
|
38
|
-
Pick<
|
|
38
|
+
Pick<
|
|
39
|
+
MessagesContextValue<StreamChatGenerics>,
|
|
40
|
+
'markdownRules' | 'MessageText' | 'myMessageTheme'
|
|
41
|
+
> & {
|
|
39
42
|
markdownStyles?: MarkdownStyle;
|
|
40
43
|
messageOverlay?: boolean;
|
|
41
44
|
messageTextNumberOfLines?: number;
|
|
@@ -120,11 +123,13 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
120
123
|
const {
|
|
121
124
|
markdownStyles: prevMarkdownStyles,
|
|
122
125
|
message: prevMessage,
|
|
126
|
+
myMessageTheme: prevMyMessageTheme,
|
|
123
127
|
onlyEmojis: prevOnlyEmojis,
|
|
124
128
|
} = prevProps;
|
|
125
129
|
const {
|
|
126
130
|
markdownStyles: nextMarkdownStyles,
|
|
127
131
|
message: nextMessage,
|
|
132
|
+
myMessageTheme: nextMyMessageTheme,
|
|
128
133
|
onlyEmojis: nextOnlyEmojis,
|
|
129
134
|
} = nextProps;
|
|
130
135
|
|
|
@@ -154,6 +159,10 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
154
159
|
JSON.stringify(prevMarkdownStyles) === JSON.stringify(nextMarkdownStyles);
|
|
155
160
|
if (!markdownStylesEqual) return false;
|
|
156
161
|
|
|
162
|
+
const messageThemeEqual =
|
|
163
|
+
JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);
|
|
164
|
+
if (!messageThemeEqual) return false;
|
|
165
|
+
|
|
157
166
|
return true;
|
|
158
167
|
};
|
|
159
168
|
|
|
@@ -173,7 +182,7 @@ export const MessageTextContainer = <
|
|
|
173
182
|
) => {
|
|
174
183
|
const { message, onLongPress, onlyEmojis, onPress, preventPress } =
|
|
175
184
|
useMessageContext<StreamChatGenerics>();
|
|
176
|
-
const { markdownRules, MessageText } = useMessagesContext<StreamChatGenerics>();
|
|
185
|
+
const { markdownRules, MessageText, myMessageTheme } = useMessagesContext<StreamChatGenerics>();
|
|
177
186
|
const { messageTextNumberOfLines } = props;
|
|
178
187
|
|
|
179
188
|
return (
|
|
@@ -183,6 +192,7 @@ export const MessageTextContainer = <
|
|
|
183
192
|
message,
|
|
184
193
|
MessageText,
|
|
185
194
|
messageTextNumberOfLines,
|
|
195
|
+
myMessageTheme,
|
|
186
196
|
onLongPress,
|
|
187
197
|
onlyEmojis,
|
|
188
198
|
onPress,
|
|
@@ -30,6 +30,7 @@ export const useCreateMessageContext = <
|
|
|
30
30
|
members,
|
|
31
31
|
message,
|
|
32
32
|
messageContentOrder,
|
|
33
|
+
myMessageTheme,
|
|
33
34
|
onLongPress,
|
|
34
35
|
onlyEmojis,
|
|
35
36
|
onOpenThread,
|
|
@@ -54,6 +55,7 @@ export const useCreateMessageContext = <
|
|
|
54
55
|
message.text
|
|
55
56
|
}${message.reply_count}`;
|
|
56
57
|
const membersValue = JSON.stringify(members);
|
|
58
|
+
const myMessageThemeString = useMemo(() => JSON.stringify(myMessageTheme), [myMessageTheme]);
|
|
57
59
|
|
|
58
60
|
const quotedMessageDeletedValue = message.quoted_message?.deleted_at;
|
|
59
61
|
|
|
@@ -82,6 +84,7 @@ export const useCreateMessageContext = <
|
|
|
82
84
|
members,
|
|
83
85
|
message,
|
|
84
86
|
messageContentOrder,
|
|
87
|
+
myMessageTheme,
|
|
85
88
|
onLongPress,
|
|
86
89
|
onlyEmojis,
|
|
87
90
|
onOpenThread,
|
|
@@ -108,6 +111,7 @@ export const useCreateMessageContext = <
|
|
|
108
111
|
lastReceivedId,
|
|
109
112
|
membersValue,
|
|
110
113
|
messageValue,
|
|
114
|
+
myMessageThemeString,
|
|
111
115
|
reactionsValue,
|
|
112
116
|
showAvatar,
|
|
113
117
|
showMessageStatus,
|
|
@@ -40,8 +40,8 @@ const SendButtonWithContext = <
|
|
|
40
40
|
testID='send-button'
|
|
41
41
|
>
|
|
42
42
|
{giphyActive && <Search pathFill={disabled ? grey_gainsboro : accent_blue} {...searchIcon} />}
|
|
43
|
-
{!giphyActive && disabled && <SendRight pathFill={grey_gainsboro} {...
|
|
44
|
-
{!giphyActive && !disabled && <SendUp pathFill={accent_blue} {...
|
|
43
|
+
{!giphyActive && disabled && <SendRight pathFill={grey_gainsboro} {...sendRightIcon} />}
|
|
44
|
+
{!giphyActive && !disabled && <SendUp pathFill={accent_blue} {...sendUpIcon} />}
|
|
45
45
|
</Pressable>
|
|
46
46
|
);
|
|
47
47
|
};
|