stream-chat-react-native-core 5.22.2-beta.1 → 5.22.2-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js +2 -2
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +2 -2
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +9 -12
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
- package/lib/commonjs/i18n/en.json +1 -1
- package/lib/commonjs/i18n/fr.json +43 -43
- package/lib/commonjs/i18n/hi.json +43 -43
- package/lib/commonjs/i18n/it.json +43 -43
- package/lib/commonjs/i18n/nl.json +43 -43
- package/lib/commonjs/i18n/ru.json +43 -43
- package/lib/commonjs/i18n/tr.json +43 -43
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js +2 -2
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +2 -2
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +9 -12
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
- package/lib/module/i18n/en.json +1 -1
- package/lib/module/i18n/fr.json +43 -43
- package/lib/module/i18n/hi.json +43 -43
- package/lib/module/i18n/it.json +43 -43
- package/lib/module/i18n/nl.json +43 -43
- package/lib/module/i18n/ru.json +43 -43
- package/lib/module/i18n/tr.json +43 -43
- package/lib/module/native.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +1 -1
- package/lib/typescript/i18n/en.json +1 -1
- package/lib/typescript/i18n/fr.json +43 -43
- package/lib/typescript/i18n/hi.json +43 -43
- package/lib/typescript/i18n/it.json +43 -43
- package/lib/typescript/i18n/nl.json +43 -43
- package/lib/typescript/i18n/ru.json +43 -43
- package/lib/typescript/i18n/tr.json +43 -43
- package/lib/typescript/native.d.ts +1 -1
- package/package.json +1 -1
- package/src/components/Message/MessageSimple/utils/generateMarkdownText.ts +2 -2
- package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +6 -11
- package/src/components/Message/MessageSimple/utils/parseLinks.ts +2 -2
- package/src/i18n/en.json +1 -1
- package/src/i18n/fr.json +43 -43
- package/src/i18n/hi.json +43 -43
- package/src/i18n/it.json +43 -43
- package/src/i18n/nl.json +43 -43
- package/src/i18n/ru.json +43 -43
- package/src/i18n/tr.json +43 -43
- package/src/native.ts +1 -1
- package/src/version.json +1 -1
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
{
|
|
2
|
-
"1 Reply": "
|
|
2
|
+
"1 Reply": "",
|
|
3
3
|
"1 Thread Reply": "1 thread antwoord",
|
|
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": "",
|
|
5
|
+
"Allow camera access in device settings": "",
|
|
6
|
+
"Also send to channel": "",
|
|
7
|
+
"Are you sure you want to permanently delete this message?": "Weet u zeker dat u dit bericht definitief wilt verwijderen?",
|
|
8
|
+
"Block User": "Blokkeer Gebruiker",
|
|
9
|
+
"Cancel": "Annuleer",
|
|
10
|
+
"Cannot Flag Message": "Kan bericht niet rapporteren",
|
|
11
|
+
"Copy Message": "Bericht kopiëren",
|
|
12
|
+
"Delete": "Verwijderen",
|
|
13
|
+
"Delete Message": "Verwijder bericht",
|
|
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?": "Wil je een kopie van dit bericht naar een moderator sturen voor verder onderzoek?",
|
|
16
|
+
"Edit Message": "Pas bericht aan",
|
|
17
|
+
"Editing Message": "",
|
|
18
18
|
"Emoji matching": "",
|
|
19
19
|
"Empty message...": "",
|
|
20
20
|
"Error loading": "",
|
|
21
21
|
"Error loading channel list...": "",
|
|
22
22
|
"Error loading messages for this channel...": "",
|
|
23
23
|
"Error while loading, please reload/refresh": "",
|
|
24
|
-
"File type not supported": "",
|
|
25
|
-
"Flag": "",
|
|
26
|
-
"Flag Message": "",
|
|
27
|
-
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
24
|
+
"File type not supported": "Bestandstype niet ondersteund",
|
|
25
|
+
"Flag": "Markeer",
|
|
26
|
+
"Flag Message": "Markeer bericht",
|
|
27
|
+
"Flag action failed either due to a network issue or the message is already flagged": "Rapporteren mislukt door een netwerk fout of het berich is al gerapporteerd",
|
|
28
28
|
"How about sending your first message to a friend?": "",
|
|
29
29
|
"Instant Commands": "",
|
|
30
30
|
"Let's start chatting!": "",
|
|
@@ -33,43 +33,43 @@
|
|
|
33
33
|
"Loading messages...": "",
|
|
34
34
|
"Loading...": "",
|
|
35
35
|
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Maximale uploadlimiet voor bestandsgrootte bereikt. Upload een bestand van minder dan {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.",
|
|
36
|
-
"Message Reactions": "
|
|
36
|
+
"Message Reactions": "",
|
|
37
37
|
"Message deleted": "",
|
|
38
|
-
"Message flagged": "",
|
|
39
|
-
"Mute User": "",
|
|
38
|
+
"Message flagged": "Bericht gemarkeerd",
|
|
39
|
+
"Mute User": "Gebruiker dempen",
|
|
40
40
|
"Not supported": "",
|
|
41
41
|
"Nothing yet...": "",
|
|
42
|
-
"Ok": "",
|
|
42
|
+
"Ok": "Oké",
|
|
43
43
|
"Only visible to you": "Alleen zichtbaar voor jou",
|
|
44
|
-
"Open Settings": "
|
|
45
|
-
"Photo": "",
|
|
46
|
-
"Photos and Videos": "
|
|
47
|
-
"Pin to Conversation": "",
|
|
48
|
-
"Pinned by": "
|
|
49
|
-
"Please enable access to your photos and videos so you can share them.": "
|
|
44
|
+
"Open Settings": "",
|
|
45
|
+
"Photo": "Foto",
|
|
46
|
+
"Photos and Videos": "",
|
|
47
|
+
"Pin to Conversation": "Vastmaken aan gesprek",
|
|
48
|
+
"Pinned by": "",
|
|
49
|
+
"Please enable access to your photos and videos so you can share them.": "",
|
|
50
50
|
"Please select a channel first": "Selecteer eerst een kanaal",
|
|
51
51
|
"Reconnecting...": "",
|
|
52
|
-
"Reply": "",
|
|
52
|
+
"Reply": "Antwoord",
|
|
53
53
|
"Reply to Message": "",
|
|
54
|
-
"Resend": "",
|
|
54
|
+
"Resend": "Opnieuw versturen",
|
|
55
55
|
"Search GIFs": "",
|
|
56
|
-
"Select More Photos": "
|
|
56
|
+
"Select More Photos": "",
|
|
57
57
|
"Send a message": "",
|
|
58
58
|
"Sending links is not allowed in this conversation": "In dit gesprek is het niet toegestaan links te versturen",
|
|
59
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": "",
|
|
60
|
+
"The message has been reported to a moderator.": "Het bericht is gerapporteerd aan een moderator.",
|
|
61
|
+
"Thread Reply": "Discussie beantwoorden",
|
|
62
|
+
"Unblock User": "Deblokkeer gebruiker",
|
|
63
|
+
"Unknown User": "",
|
|
64
|
+
"Unmute User": "Dempen van gebruiker opheffen",
|
|
65
|
+
"Unpin from Conversation": "Losmaken van gesprek",
|
|
66
|
+
"Unread Messages": "",
|
|
67
|
+
"Video": "Video",
|
|
68
68
|
"You": "",
|
|
69
|
-
"You can't send messages in this channel": "
|
|
69
|
+
"You can't send messages in this channel": "",
|
|
70
70
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
71
|
-
"{{ index }} of {{ photoLength }}": "
|
|
72
|
-
"{{ replyCount }} Replies": "
|
|
71
|
+
"{{ index }} of {{ photoLength }}": "",
|
|
72
|
+
"{{ replyCount }} Replies": "",
|
|
73
73
|
"{{ replyCount }} Thread Replies": "{{replyCount}} Discussiereacties",
|
|
74
74
|
"{{ user }} is typing": "",
|
|
75
75
|
"🏙 Attachment...": ""
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
{
|
|
2
|
-
"1 Reply": "
|
|
2
|
+
"1 Reply": "",
|
|
3
3
|
"1 Thread Reply": "1 тема Ответить",
|
|
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": "",
|
|
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": "",
|
|
18
18
|
"Emoji matching": "",
|
|
19
19
|
"Empty message...": "",
|
|
20
20
|
"Error loading": "",
|
|
21
21
|
"Error loading channel list...": "",
|
|
22
22
|
"Error loading messages for this channel...": "",
|
|
23
23
|
"Error while loading, please reload/refresh": "",
|
|
24
|
-
"File type not supported": "",
|
|
25
|
-
"Flag": "",
|
|
26
|
-
"Flag Message": "",
|
|
27
|
-
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
24
|
+
"File type not supported": "Тип файла не поддерживается",
|
|
25
|
+
"Flag": "Пометить",
|
|
26
|
+
"Flag Message": "Пометить сообщение",
|
|
27
|
+
"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?": "",
|
|
29
29
|
"Instant Commands": "",
|
|
30
30
|
"Let's start chatting!": "",
|
|
@@ -33,43 +33,43 @@
|
|
|
33
33
|
"Loading messages...": "",
|
|
34
34
|
"Loading...": "",
|
|
35
35
|
"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}} МБ.",
|
|
36
|
-
"Message Reactions": "
|
|
36
|
+
"Message Reactions": "",
|
|
37
37
|
"Message deleted": "",
|
|
38
|
-
"Message flagged": "",
|
|
39
|
-
"Mute User": "",
|
|
38
|
+
"Message flagged": "Сообщение отмечено",
|
|
39
|
+
"Mute User": "Отключить пользователя",
|
|
40
40
|
"Not supported": "",
|
|
41
41
|
"Nothing yet...": "",
|
|
42
|
-
"Ok": "",
|
|
42
|
+
"Ok": "Oк",
|
|
43
43
|
"Only visible to you": "Видно только вам",
|
|
44
|
-
"Open Settings": "
|
|
45
|
-
"Photo": "",
|
|
46
|
-
"Photos and Videos": "
|
|
47
|
-
"Pin to Conversation": "",
|
|
48
|
-
"Pinned by": "
|
|
49
|
-
"Please enable access to your photos and videos so you can share them.": "
|
|
44
|
+
"Open Settings": "",
|
|
45
|
+
"Photo": "Фото",
|
|
46
|
+
"Photos and Videos": "",
|
|
47
|
+
"Pin to Conversation": "Закрепить к беседе",
|
|
48
|
+
"Pinned by": "",
|
|
49
|
+
"Please enable access to your photos and videos so you can share them.": "",
|
|
50
50
|
"Please select a channel first": "Пожалуйста, сначала выберите канал",
|
|
51
51
|
"Reconnecting...": "",
|
|
52
|
-
"Reply": "",
|
|
52
|
+
"Reply": "Ответить",
|
|
53
53
|
"Reply to Message": "",
|
|
54
|
-
"Resend": "",
|
|
54
|
+
"Resend": "Отправить",
|
|
55
55
|
"Search GIFs": "",
|
|
56
|
-
"Select More Photos": "
|
|
56
|
+
"Select More Photos": "",
|
|
57
57
|
"Send a message": "",
|
|
58
58
|
"Sending links is not allowed in this conversation": "Отправка ссылок недоступна в этом чате",
|
|
59
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": "",
|
|
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
68
|
"You": "",
|
|
69
|
-
"You can't send messages in this channel": "
|
|
69
|
+
"You can't send messages in this channel": "",
|
|
70
70
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
71
|
-
"{{ index }} of {{ photoLength }}": "
|
|
72
|
-
"{{ replyCount }} Replies": "
|
|
71
|
+
"{{ index }} of {{ photoLength }}": "",
|
|
72
|
+
"{{ replyCount }} Replies": "",
|
|
73
73
|
"{{ replyCount }} Thread Replies": "{{replyCount}} Ответы в темах",
|
|
74
74
|
"{{ user }} is typing": "",
|
|
75
75
|
"🏙 Attachment...": ""
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
{
|
|
2
|
-
"1 Reply": "
|
|
2
|
+
"1 Reply": "",
|
|
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": "",
|
|
5
|
+
"Allow camera access in device settings": "",
|
|
6
|
+
"Also send to channel": "",
|
|
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.": "",
|
|
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": "",
|
|
18
18
|
"Emoji matching": "",
|
|
19
19
|
"Empty message...": "",
|
|
20
20
|
"Error loading": "",
|
|
21
21
|
"Error loading channel list...": "",
|
|
22
22
|
"Error loading messages for this channel...": "",
|
|
23
23
|
"Error while loading, please reload/refresh": "",
|
|
24
|
-
"File type not supported": "",
|
|
25
|
-
"Flag": "",
|
|
26
|
-
"Flag Message": "",
|
|
27
|
-
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
24
|
+
"File type not supported": "Dosya türü desteklenmiyor",
|
|
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
28
|
"How about sending your first message to a friend?": "",
|
|
29
29
|
"Instant Commands": "",
|
|
30
30
|
"Let's start chatting!": "",
|
|
@@ -33,43 +33,43 @@
|
|
|
33
33
|
"Loading messages...": "",
|
|
34
34
|
"Loading...": "",
|
|
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": "
|
|
36
|
+
"Message Reactions": "",
|
|
37
37
|
"Message deleted": "",
|
|
38
|
-
"Message flagged": "",
|
|
39
|
-
"Mute User": "",
|
|
38
|
+
"Message flagged": "Mesaj işaretlendi",
|
|
39
|
+
"Mute User": "Kullanıcıyı sessize al",
|
|
40
40
|
"Not supported": "",
|
|
41
41
|
"Nothing yet...": "",
|
|
42
|
-
"Ok": "",
|
|
42
|
+
"Ok": "Tamam",
|
|
43
43
|
"Only visible to you": "Sadece siz görebilirsiniz",
|
|
44
|
-
"Open Settings": "
|
|
45
|
-
"Photo": "",
|
|
46
|
-
"Photos and Videos": "
|
|
47
|
-
"Pin to Conversation": "",
|
|
48
|
-
"Pinned by": "
|
|
49
|
-
"Please enable access to your photos and videos so you can share them.": "
|
|
44
|
+
"Open Settings": "",
|
|
45
|
+
"Photo": "Fotoğraf",
|
|
46
|
+
"Photos and Videos": "",
|
|
47
|
+
"Pin to Conversation": "Konuşmaya sabitle",
|
|
48
|
+
"Pinned by": "",
|
|
49
|
+
"Please enable access to your photos and videos so you can share them.": "",
|
|
50
50
|
"Please select a channel first": "Lütfen önce bir kanal seçiniz",
|
|
51
51
|
"Reconnecting...": "",
|
|
52
|
-
"Reply": "",
|
|
52
|
+
"Reply": "Yanıtla",
|
|
53
53
|
"Reply to Message": "",
|
|
54
|
-
"Resend": "",
|
|
54
|
+
"Resend": "Yeniden gönder",
|
|
55
55
|
"Search GIFs": "",
|
|
56
|
-
"Select More Photos": "
|
|
56
|
+
"Select More Photos": "",
|
|
57
57
|
"Send a message": "",
|
|
58
58
|
"Sending links is not allowed in this conversation": "Bu konuşmada bağlantı göndermek desteklenmiyor",
|
|
59
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": "",
|
|
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": "",
|
|
64
|
+
"Unmute User": "Kullanıcının sesini aç",
|
|
65
|
+
"Unpin from Conversation": "Sabitlemeyi kaldır",
|
|
66
|
+
"Unread Messages": "",
|
|
67
|
+
"Video": "Video",
|
|
68
68
|
"You": "",
|
|
69
|
-
"You can't send messages in this channel": "
|
|
69
|
+
"You can't send messages in this channel": "",
|
|
70
70
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
71
|
-
"{{ index }} of {{ photoLength }}": "
|
|
72
|
-
"{{ replyCount }} Replies": "
|
|
71
|
+
"{{ index }} of {{ photoLength }}": "",
|
|
72
|
+
"{{ replyCount }} Replies": "",
|
|
73
73
|
"{{ replyCount }} Thread Replies": "{{responseCount}} Konu Cevapı",
|
|
74
74
|
"{{ user }} is typing": "",
|
|
75
75
|
"🏙 Attachment...": ""
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","fail","Error","compressImage","exports","deleteFile","getLocalAssetUri","oniOS14GalleryLibrarySelectionChange","iOS14RefreshGallerySelection","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","setClipboardString","shareImage","takePhoto","triggerHaptic","SDK","Sound","Video","registerNativeHandlers","handlers","undefined","isVideoPackageAvailable","isAudioPackageAvailable","Player","initializeSound"],"sources":["native.ts"],"sourcesContent":["import type React from 'react';\nimport { FlatList as DefaultFlatList, StyleProp, ViewStyle } from 'react-native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nimport type { Asset, File } from './types/types';\n\nconst fail = () => {\n throw Error(\n 'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',\n );\n};\n\ntype CompressImage = ({\n compressImageQuality,\n height,\n uri,\n width,\n}: {\n compressImageQuality: number;\n height: number;\n uri: string;\n width: number;\n}) => Promise<string> | never;\nexport let compressImage: CompressImage = fail;\n\ntype DeleteFile = ({ uri }: { uri: string }) => Promise<boolean> | never;\nexport let deleteFile: DeleteFile = fail;\n\ntype GetLocalAssetUri = (uriOrAssetId: string) => Promise<string | undefined> | never;\nexport let getLocalAssetUri: GetLocalAssetUri = fail;\n\ntype OniOS14LibrarySelectionChange = (callback: () => void) => { unsubscribe: () => void };\nexport let oniOS14GalleryLibrarySelectionChange: OniOS14LibrarySelectionChange = fail;\n\ntype iOS14RefreshGallerySelection = () => Promise<void>;\nexport let iOS14RefreshGallerySelection: iOS14RefreshGallerySelection = fail;\n\ntype GetPhotos = ({ after, first }: { first: number; after?: string }) =>\n | Promise<{\n assets: Array<Omit<Asset, 'source'> & { source: 'picker' }>;\n endCursor: string;\n hasNextPage: boolean;\n iOSLimited: boolean;\n }>\n | never;\nexport let getPhotos: GetPhotos = fail;\n\ntype NetInfo = {\n addEventListener: (listener: (isConnected: boolean) => void) => NetInfoSubscription | never;\n fetch: (requestedInterface?: string | undefined) => Promise<boolean> | never;\n};\n\nexport let FlatList = DefaultFlatList;\n\nexport let NetInfo: NetInfo = {\n addEventListener: fail,\n fetch: fail,\n};\n\ntype PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>\n | Promise<{\n cancelled: boolean;\n assets?: File[];\n }>\n | never;\nexport let pickDocument: PickDocument = fail;\n\ntype SaveFileOptions = {\n fileName: string;\n fromUrl: string;\n};\ntype SaveFile = (options: SaveFileOptions) => Promise<string> | never;\nexport let saveFile: SaveFile = fail;\n\ntype SetClipboardString = (text: string) => Promise<void> | never;\nexport let setClipboardString: SetClipboardString = fail;\n\ntype ShareOptions = {\n type?: string;\n url?: string;\n};\ntype ShareImage = (options: ShareOptions) => Promise<boolean> | never;\nexport let shareImage: ShareImage = fail;\n\ntype Photo =\n | (Omit<Asset, 'source'> & {\n cancelled: false;\n source: 'camera';\n askToOpenSettings?: boolean;\n })\n | {\n cancelled: true;\n askToOpenSettings?: boolean;\n };\ntype TakePhoto = (options: { compressImageQuality?: number }) => Promise<Photo> | never;\nexport let takePhoto: TakePhoto = fail;\n\ntype HapticFeedbackMethod =\n | 'impactHeavy'\n | 'impactLight'\n | 'impactMedium'\n | 'notificationError'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'selection';\ntype TriggerHaptic = (method: HapticFeedbackMethod) => void | never;\nexport let triggerHaptic: TriggerHaptic = fail;\n\nexport type PlaybackStatus = {\n didJustFinish: boolean;\n durationMillis: number;\n error: string;\n isBuffering: boolean;\n isLoaded: boolean;\n isLooping: boolean;\n isPlaying: boolean;\n positionMillis: number;\n};\n\nexport type AVPlaybackStatusToSet = {\n isLooping: boolean;\n isMuted: boolean;\n positionMillis: number;\n progressUpdateIntervalMillis: number;\n rate: number;\n shouldCorrectPitch: boolean;\n shouldPlay: boolean;\n volume: number;\n};\n\nexport let SDK: string;\n\nexport type SoundOptions = {\n basePathOrCallback?: string;\n callback?: () => void;\n filenameOrFile?: string;\n initialStatus?: Partial<AVPlaybackStatusToSet>;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n source?: { uri: string };\n};\n\nexport type SoundReturnType = {\n paused: boolean;\n testID: string;\n getDuration?: () => number;\n isPlaying?: () => boolean;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n pauseAsync?: () => void;\n play?: () => void;\n playAsync?: () => void;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (millis: number) => void;\n soundRef?: React.RefObject<SoundReturnType>;\n stopAsync?: () => void;\n style?: StyleProp<ViewStyle>;\n unloadAsync?: () => void;\n uri?: string;\n};\n\nexport type SoundType = {\n initializeSound: (\n source?: { uri: string },\n initialStatus?: Partial<AVPlaybackStatusToSet>,\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void,\n ) => Promise<SoundReturnType | null>;\n Player: React.ComponentType<SoundReturnType> | null;\n};\n\nexport let Sound: SoundType;\n\nexport type VideoProgressData = {\n currentTime: number;\n seekableDuration: number;\n playableDuration?: number;\n};\n\nexport type VideoPayloadData = {\n duration: number;\n audioTracks?: { index: number; language: string; title: string; type: string }[];\n currentPosition?: number;\n naturalSize?: { height: number; orientation: 'portrait' | 'landscape'; width: number };\n textTracks?: { index: number; language: string; title: string; type: string }[];\n videoTracks?: {\n bitrate: number;\n codecs: string;\n height: number;\n trackId: number;\n width: number;\n }[];\n};\n\nexport type VideoType = {\n paused: boolean;\n testID: string;\n uri: string;\n videoRef: React.RefObject<VideoType>;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n repeat?: boolean;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (position: number) => void;\n style?: StyleProp<ViewStyle>;\n};\n\nexport let Video: React.ComponentType<VideoType>;\n\ntype Handlers = {\n iOS14RefreshGallerySelection: iOS14RefreshGallerySelection;\n compressImage?: CompressImage;\n deleteFile?: DeleteFile;\n FlatList?: typeof DefaultFlatList;\n getLocalAssetUri?: GetLocalAssetUri;\n getPhotos?: GetPhotos;\n NetInfo?: NetInfo;\n oniOS14GalleryLibrarySelectionChange?: OniOS14LibrarySelectionChange;\n pickDocument?: PickDocument;\n saveFile?: SaveFile;\n SDK?: string;\n setClipboardString?: SetClipboardString;\n shareImage?: ShareImage;\n Sound?: SoundType;\n takePhoto?: TakePhoto;\n triggerHaptic?: TriggerHaptic;\n Video?: React.ComponentType<VideoType>;\n};\n\nexport const registerNativeHandlers = (handlers: Handlers) => {\n if (handlers.compressImage) {\n compressImage = handlers.compressImage;\n }\n\n if (handlers.deleteFile) {\n deleteFile = handlers.deleteFile;\n }\n\n if (handlers.FlatList) {\n FlatList = handlers.FlatList;\n }\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.getLocalAssetUri) {\n getLocalAssetUri = handlers.getLocalAssetUri;\n }\n\n if (handlers.getPhotos) {\n getPhotos = handlers.getPhotos;\n }\n\n if (handlers.iOS14RefreshGallerySelection) {\n iOS14RefreshGallerySelection = handlers.iOS14RefreshGallerySelection;\n }\n\n if (handlers.oniOS14GalleryLibrarySelectionChange) {\n oniOS14GalleryLibrarySelectionChange = handlers.oniOS14GalleryLibrarySelectionChange;\n }\n\n if (handlers.pickDocument !== undefined) {\n pickDocument = handlers.pickDocument;\n }\n\n if (handlers.saveFile) {\n saveFile = handlers.saveFile;\n }\n\n if (handlers.SDK) {\n SDK = handlers.SDK;\n }\n\n if (handlers.shareImage !== undefined) {\n shareImage = handlers.shareImage;\n }\n\n if (handlers.Sound) {\n Sound = handlers.Sound;\n }\n\n if (handlers.takePhoto) {\n takePhoto = handlers.takePhoto;\n }\n\n if (handlers.triggerHaptic) {\n triggerHaptic = handlers.triggerHaptic;\n }\n\n if (handlers.Video) {\n Video = handlers.Video;\n }\n\n if (handlers.setClipboardString !== undefined) {\n setClipboardString = handlers.setClipboardString;\n }\n};\n\nexport const isVideoPackageAvailable = () => !!Video;\nexport const isAudioPackageAvailable = () => !!Sound.Player || !!Sound.initializeSound;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","fail","Error","compressImage","exports","deleteFile","getLocalAssetUri","oniOS14GalleryLibrarySelectionChange","iOS14RefreshGallerySelection","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","setClipboardString","shareImage","takePhoto","triggerHaptic","SDK","Sound","Video","registerNativeHandlers","handlers","undefined","isVideoPackageAvailable","isAudioPackageAvailable","Player","initializeSound"],"sources":["native.ts"],"sourcesContent":["import type React from 'react';\nimport { FlatList as DefaultFlatList, StyleProp, ViewStyle } from 'react-native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nimport type { Asset, File } from './types/types';\n\nconst fail = () => {\n throw Error(\n 'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',\n );\n};\n\ntype CompressImage = ({\n compressImageQuality,\n height,\n uri,\n width,\n}: {\n compressImageQuality: number;\n height: number;\n uri: string;\n width: number;\n}) => Promise<string> | never;\nexport let compressImage: CompressImage = fail;\n\ntype DeleteFile = ({ uri }: { uri: string }) => Promise<boolean> | never;\nexport let deleteFile: DeleteFile = fail;\n\ntype GetLocalAssetUri = (uriOrAssetId: string) => Promise<string | undefined> | never;\nexport let getLocalAssetUri: GetLocalAssetUri = fail;\n\ntype OniOS14LibrarySelectionChange = (callback: () => void) => { unsubscribe: () => void };\nexport let oniOS14GalleryLibrarySelectionChange: OniOS14LibrarySelectionChange = fail;\n\ntype iOS14RefreshGallerySelection = () => Promise<void>;\nexport let iOS14RefreshGallerySelection: iOS14RefreshGallerySelection = fail;\n\ntype GetPhotos = ({ after, first }: { first: number; after?: string }) =>\n | Promise<{\n assets: Array<Omit<Asset, 'source'> & { source: 'picker' }>;\n endCursor: string;\n hasNextPage: boolean;\n iOSLimited: boolean;\n }>\n | never;\nexport let getPhotos: GetPhotos = fail;\n\ntype NetInfo = {\n addEventListener: (listener: (isConnected: boolean) => void) => NetInfoSubscription | never;\n fetch: (requestedInterface?: string | undefined) => Promise<boolean> | never;\n};\n\nexport let FlatList = DefaultFlatList;\n\nexport let NetInfo: NetInfo = {\n addEventListener: fail,\n fetch: fail,\n};\n\ntype PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>\n | Promise<{\n cancelled: boolean;\n assets?: File[];\n }>\n | never;\nexport let pickDocument: PickDocument = fail;\n\ntype SaveFileOptions = {\n fileName: string;\n fromUrl: string;\n};\ntype SaveFile = (options: SaveFileOptions) => Promise<string> | never;\nexport let saveFile: SaveFile = fail;\n\ntype SetClipboardString = (text: string) => Promise<void> | never;\nexport let setClipboardString: SetClipboardString = fail;\n\ntype ShareOptions = {\n type?: string;\n url?: string;\n};\ntype ShareImage = (options: ShareOptions) => Promise<boolean> | never;\nexport let shareImage: ShareImage = fail;\n\ntype Photo =\n | (Omit<Asset, 'source'> & {\n cancelled: false;\n source: 'camera';\n askToOpenSettings?: boolean;\n })\n | {\n cancelled: true;\n askToOpenSettings?: boolean;\n };\ntype TakePhoto = (options: { compressImageQuality?: number }) => Promise<Photo> | never;\nexport let takePhoto: TakePhoto = fail;\n\ntype HapticFeedbackMethod =\n | 'impactHeavy'\n | 'impactLight'\n | 'impactMedium'\n | 'notificationError'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'selection';\ntype TriggerHaptic = (method: HapticFeedbackMethod) => void | never;\nexport let triggerHaptic: TriggerHaptic = fail;\n\nexport type PlaybackStatus = {\n didJustFinish: boolean;\n durationMillis: number;\n error: string;\n isBuffering: boolean;\n isLoaded: boolean;\n isLooping: boolean;\n isPlaying: boolean;\n positionMillis: number;\n};\n\nexport type AVPlaybackStatusToSet = {\n isLooping: boolean;\n isMuted: boolean;\n positionMillis: number;\n progressUpdateIntervalMillis: number;\n rate: number;\n shouldCorrectPitch: boolean;\n shouldPlay: boolean;\n volume: number;\n};\n\nexport let SDK: string;\n\nexport type SoundOptions = {\n basePathOrCallback?: string;\n callback?: () => void;\n filenameOrFile?: string;\n initialStatus?: Partial<AVPlaybackStatusToSet>;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n source?: { uri: string };\n};\n\nexport type SoundReturnType = {\n paused: boolean;\n testID: string;\n getDuration?: () => number;\n isPlaying?: () => boolean;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n pauseAsync?: () => void;\n play?: () => void;\n playAsync?: () => void;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (millis: number) => void;\n soundRef?: React.RefObject<SoundReturnType>;\n stopAsync?: () => void;\n style?: StyleProp<ViewStyle>;\n unloadAsync?: () => void;\n uri?: string;\n};\n\nexport type SoundType = {\n initializeSound: (\n source?: { uri: string },\n initialStatus?: Partial<AVPlaybackStatusToSet>,\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void,\n ) => Promise<SoundReturnType | null>;\n Player: React.ComponentType<SoundReturnType> | null;\n};\n\nexport let Sound: SoundType;\n\nexport type VideoProgressData = {\n currentTime: number;\n seekableDuration: number;\n playableDuration?: number;\n};\n\nexport type VideoPayloadData = {\n duration: number;\n audioTracks?: { index: number; language: string; title: string; type: string }[];\n currentPosition?: number;\n naturalSize?: { height: number; orientation: 'portrait' | 'landscape'; width: number };\n textTracks?: { index: number; language: string; title: string; type: string }[];\n videoTracks?: {\n bitrate: number;\n codecs: string;\n height: number;\n trackId: number;\n width: number;\n }[];\n};\n\nexport type VideoType = {\n paused: boolean;\n testID: string;\n uri: string;\n videoRef: React.RefObject<VideoType>;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n repeat?: boolean;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (position: number) => void;\n style?: StyleProp<ViewStyle>;\n};\n\nexport let Video: React.ComponentType<VideoType>;\n\ntype Handlers = {\n compressImage?: CompressImage;\n deleteFile?: DeleteFile;\n FlatList?: typeof DefaultFlatList;\n getLocalAssetUri?: GetLocalAssetUri;\n getPhotos?: GetPhotos;\n iOS14RefreshGallerySelection?: iOS14RefreshGallerySelection;\n NetInfo?: NetInfo;\n oniOS14GalleryLibrarySelectionChange?: OniOS14LibrarySelectionChange;\n pickDocument?: PickDocument;\n saveFile?: SaveFile;\n SDK?: string;\n setClipboardString?: SetClipboardString;\n shareImage?: ShareImage;\n Sound?: SoundType;\n takePhoto?: TakePhoto;\n triggerHaptic?: TriggerHaptic;\n Video?: React.ComponentType<VideoType>;\n};\n\nexport const registerNativeHandlers = (handlers: Handlers) => {\n if (handlers.compressImage) {\n compressImage = handlers.compressImage;\n }\n\n if (handlers.deleteFile) {\n deleteFile = handlers.deleteFile;\n }\n\n if (handlers.FlatList) {\n FlatList = handlers.FlatList;\n }\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.getLocalAssetUri) {\n getLocalAssetUri = handlers.getLocalAssetUri;\n }\n\n if (handlers.getPhotos) {\n getPhotos = handlers.getPhotos;\n }\n\n if (handlers.iOS14RefreshGallerySelection) {\n iOS14RefreshGallerySelection = handlers.iOS14RefreshGallerySelection;\n }\n\n if (handlers.oniOS14GalleryLibrarySelectionChange) {\n oniOS14GalleryLibrarySelectionChange = handlers.oniOS14GalleryLibrarySelectionChange;\n }\n\n if (handlers.pickDocument !== undefined) {\n pickDocument = handlers.pickDocument;\n }\n\n if (handlers.saveFile) {\n saveFile = handlers.saveFile;\n }\n\n if (handlers.SDK) {\n SDK = handlers.SDK;\n }\n\n if (handlers.shareImage !== undefined) {\n shareImage = handlers.shareImage;\n }\n\n if (handlers.Sound) {\n Sound = handlers.Sound;\n }\n\n if (handlers.takePhoto) {\n takePhoto = handlers.takePhoto;\n }\n\n if (handlers.triggerHaptic) {\n triggerHaptic = handlers.triggerHaptic;\n }\n\n if (handlers.Video) {\n Video = handlers.Video;\n }\n\n if (handlers.setClipboardString !== undefined) {\n setClipboardString = handlers.setClipboardString;\n }\n};\n\nexport const isVideoPackageAvailable = () => !!Video;\nexport const isAudioPackageAvailable = () => !!Sound.Player || !!Sound.initializeSound;\n"],"mappings":"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"}
|
|
@@ -22,9 +22,9 @@ var generateMarkdownText = function generateMarkdownText(text) {
|
|
|
22
22
|
omission: '...'
|
|
23
23
|
});
|
|
24
24
|
var normalRegEx = new RegExp(escapeRegExp(linkInfo.raw), 'g');
|
|
25
|
-
var markdown = "[" + displayLink + "](" + linkInfo.
|
|
25
|
+
var markdown = "[" + displayLink + "](" + linkInfo.url + ")";
|
|
26
26
|
resultText = text.replace(normalRegEx, markdown);
|
|
27
|
-
var mentionsRegex = new RegExp("@\\[" + escapeRegExp(displayLink) + "\\]\\(" + escapeRegExp(linkInfo.
|
|
27
|
+
var mentionsRegex = new RegExp("@\\[" + escapeRegExp(displayLink) + "\\]\\(" + escapeRegExp(linkInfo.url) + "\\)", 'g');
|
|
28
28
|
resultText = resultText.replace(mentionsRegex, "@" + displayLink);
|
|
29
29
|
}
|
|
30
30
|
resultText = resultText.replace(/[<"'>]/g, '\\$&');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_truncate","_interopRequireDefault","require","_parseLinks","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","escapeRegExp","text","replace","generateMarkdownText","resultText","trim","linkInfos","parseLinksFromText","_iterator","_step","linkInfo","displayLink","truncate","raw","omission","normalRegEx","RegExp","markdown","
|
|
1
|
+
{"version":3,"names":["_truncate","_interopRequireDefault","require","_parseLinks","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","escapeRegExp","text","replace","generateMarkdownText","resultText","trim","linkInfos","parseLinksFromText","_iterator","_step","linkInfo","displayLink","truncate","raw","omission","normalRegEx","RegExp","markdown","url","mentionsRegex","exports"],"sources":["generateMarkdownText.ts"],"sourcesContent":["import truncate from 'lodash/truncate';\n\nimport { parseLinksFromText } from './parseLinks';\n\n// If you need to use any of the special characters literally (actually searching for a \"*\", for instance), you must escape it by putting a backslash in front of it.\nfunction escapeRegExp(text: string) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nexport const generateMarkdownText = (text?: string) => {\n if (!text) return null;\n\n // Trim the extra spaces from the text.\n let resultText = text.trim();\n\n // List of all the links present in the text.\n const linkInfos = parseLinksFromText(resultText);\n\n for (const linkInfo of linkInfos) {\n const displayLink = truncate(linkInfo.raw, {\n length: 200,\n omission: '...',\n });\n // Convert raw links/emails in the text to respective markdown syntax.\n // Eg: Hi @getstream.io -> Hi @[getstream.io](getstream.io).\n const normalRegEx = new RegExp(escapeRegExp(linkInfo.raw), 'g');\n const markdown = `[${displayLink}](${linkInfo.url})`;\n resultText = text.replace(normalRegEx, markdown);\n\n // After previous step, in some cases, the mentioned user after `@` might have a link/email so we convert it back to normal raw text.\n // Eg: Hi, @[test.user@gmail.com](mailto:test.user@gmail.com) to @test.user@gmail.com.\n const mentionsRegex = new RegExp(\n `@\\\\[${escapeRegExp(displayLink)}\\\\]\\\\(${escapeRegExp(linkInfo.url)}\\\\)`,\n 'g',\n );\n resultText = resultText.replace(mentionsRegex, `@${displayLink}`);\n }\n\n resultText = resultText.replace(/[<\"'>]/g, '\\\\$&');\n\n return resultText;\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_linkifyjs","require","removeMarkdownLinksFromText","input","replace","removeUserNamesWithEmailFromText","parseLinksFromText","strippedInput","reduce","acc","fn","links","find","emails","result","concat","_toConsumableArray2","map","_ref","href","value","
|
|
1
|
+
{"version":3,"names":["_linkifyjs","require","removeMarkdownLinksFromText","input","replace","removeUserNamesWithEmailFromText","parseLinksFromText","strippedInput","reduce","acc","fn","links","find","emails","result","concat","_toConsumableArray2","map","_ref","href","value","raw","url","exports"],"sources":["parseLinks.ts"],"sourcesContent":["import { find } from 'linkifyjs';\n\ninterface LinkInfo {\n raw: string;\n url: string;\n}\n\n/**\n * This is done separately because of the version of javascript run\n * for expo\n * */\nconst removeMarkdownLinksFromText = (input: string) => input.replace(/\\[[\\w\\s]+\\]\\(.*\\)/g, '');\n\n/**\n * This is done to avoid parsing usernames with dot as well as an email address in it.\n */\nconst removeUserNamesWithEmailFromText = (input: string) =>\n input.replace(/@(\\w+(\\.\\w+)?)(@\\w+\\.\\w+)/g, '');\n\nexport const parseLinksFromText = (input: string): LinkInfo[] => {\n const strippedInput = [removeMarkdownLinksFromText, removeUserNamesWithEmailFromText].reduce(\n (acc, fn) => fn(acc),\n input,\n );\n\n const links = find(strippedInput, 'url');\n const emails = find(strippedInput, 'email');\n\n const result: LinkInfo[] = [...links, ...emails].map(({ href, value }) => ({\n raw: value,\n url: href,\n }));\n\n return result;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAWA,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIC,KAAa;EAAA,OAAKA,KAAK,CAACC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;AAAA;AAK9F,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAAIF,KAAa;EAAA,OACrDA,KAAK,CAACC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;AAAA;AAE1C,IAAME,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIH,KAAa,EAAiB;EAC/D,IAAMI,aAAa,GAAG,CAACL,2BAA2B,EAAEG,gCAAgC,CAAC,CAACG,MAAM,CAC1F,UAACC,GAAG,EAAEC,EAAE;IAAA,OAAKA,EAAE,CAACD,GAAG,CAAC;EAAA,GACpBN,KACF,CAAC;EAED,IAAMQ,KAAK,GAAG,IAAAC,eAAI,EAACL,aAAa,EAAE,KAAK,CAAC;EACxC,IAAMM,MAAM,GAAG,IAAAD,eAAI,EAACL,aAAa,EAAE,OAAO,CAAC;EAE3C,IAAMO,MAAkB,GAAG,GAAAC,MAAA,KAAAC,mBAAA,aAAIL,KAAK,OAAAK,mBAAA,aAAKH,MAAM,GAAEI,GAAG,CAAC,UAAAC,IAAA;IAAA,IAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAA,OAAQ;MACzEC,GAAG,EAAED,KAAK;MACVE,GAAG,EAAEH;IACP,CAAC;EAAA,CAAC,CAAC;EAEH,OAAOL,MAAM;AACf,CAAC;AAACS,OAAA,CAAAjB,kBAAA,GAAAA,kBAAA"}
|
|
@@ -1,45 +1,42 @@
|
|
|
1
1
|
var _parseLinks = require("./parseLinks");
|
|
2
2
|
describe('parseLinksFromText', function () {
|
|
3
|
-
it.each([['https://www.getstream.io', 'https://www.getstream.io'], ['https://getstream.io', 'https://getstream.io'], ['scrn://team-chat', undefined], ['https://localhost', 'https://localhost'], ['https://localhost/with/path?and=query&multiple=params', 'https://localhost/with/path?and=query&multiple=params'], ['https://localhost/with/path?and=query#fragment', 'https://localhost/with/path?and=query#fragment'], ['reactnative.dev', 'http://reactnative.dev'], ['hinge.health/schedule-with-a-coach', 'http://hinge.health/schedule-with-a-coach'], ['https://zh.wikipedia.org/wiki/挪威牛油危機', 'https://zh.wikipedia.org/wiki
|
|
3
|
+
it.each([['https://www.getstream.io', 'https://www.getstream.io'], ['https://getstream.io', 'https://getstream.io'], ['scrn://team-chat', undefined], ['https://localhost', 'https://localhost'], ['https://localhost/with/path?and=query&multiple=params', 'https://localhost/with/path?and=query&multiple=params'], ['https://localhost/with/path?and=query#fragment', 'https://localhost/with/path?and=query#fragment'], ['reactnative.dev', 'http://reactnative.dev'], ['hinge.health/schedule-with-a-coach', 'http://hinge.health/schedule-with-a-coach'], ['https://zh.wikipedia.org/wiki/挪威牛油危機', 'https://zh.wikipedia.org/wiki/挪威牛油危機'], ['https://getstream.io/chat/docs/react-native/?language=javascript', 'https://getstream.io/chat/docs/react-native/?language=javascript'], ['127.0.0.1/local_(development)_server', undefined], ['https://a.co:8999/ab.php?p=12', 'https://a.co:8999/ab.php?p=12'], ['https://help.apple.com/xcode/mac/current/#/devba7f53ad4', 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4']])('Returns the encoded value of %p as %p', function (link, expected) {
|
|
4
4
|
var _result$;
|
|
5
5
|
var result = (0, _parseLinks.parseLinksFromText)(link);
|
|
6
|
-
expect((_result$ = result[0]) == null ? void 0 : _result$.
|
|
6
|
+
expect((_result$ = result[0]) == null ? void 0 : _result$.url).toBe(expected);
|
|
7
7
|
});
|
|
8
8
|
it('parses fqdn', function () {
|
|
9
9
|
var input = "We have put the apim bol,\n temporarily so :sj: we can later put the monitors on my grasp\n on reality right now is\n https://www.contrived-example.com:8080/sub/page.php?p1=1\uD83C\uDDF3\uD83C\uDDF4&p2=2#fragment-identifier\n :)";
|
|
10
10
|
var result = (0, _parseLinks.parseLinksFromText)(input);
|
|
11
11
|
expect(result).toEqual([{
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',
|
|
13
|
+
url: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier'
|
|
14
14
|
}]);
|
|
15
15
|
});
|
|
16
16
|
it.each([['support+rn@getstream.io'], ['support.rn@getstream.io'], ['support-rn@getstream.io'], ['support_rn@getstream.io']])('Can parse the email address %p', function (email) {
|
|
17
17
|
var result = (0, _parseLinks.parseLinksFromText)(email);
|
|
18
|
-
expect(result[0].
|
|
18
|
+
expect(result[0].url).toBe('mailto:' + email);
|
|
19
19
|
expect(result[0].raw).toBe(email);
|
|
20
20
|
});
|
|
21
21
|
it("doesn't double the mailto prefix", function () {
|
|
22
22
|
var input = 'mailto:support@getstream.io';
|
|
23
23
|
var result = (0, _parseLinks.parseLinksFromText)(input);
|
|
24
24
|
expect(result[0]).toEqual({
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
raw: input,
|
|
26
|
+
url: input
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
29
|
it('Does not falsely parse LINKs from text content', function () {
|
|
30
30
|
var input = "#This string exists to test that we don't produce false positives\n Existing links:\n [already a parsed link](https://getstream.io/blog/react-native-how-to-build-bidirectional-infinite-scroll/)\n [even a bogus one]( should not match )\n ## These should, however, be parsed:\n www.getstream.io\n getstream.io\n ";
|
|
31
31
|
var result = (0, _parseLinks.parseLinksFromText)(input);
|
|
32
|
-
console.log({
|
|
33
|
-
result: result
|
|
34
|
-
});
|
|
35
32
|
expect(result).toHaveLength(2);
|
|
36
33
|
});
|
|
37
34
|
it('Encodes incomplete emoji unicode', function () {
|
|
38
35
|
var input = 'https://getstream.io/�';
|
|
39
36
|
var result = (0, _parseLinks.parseLinksFromText)(input);
|
|
40
37
|
expect(result[0]).toEqual({
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
raw: input,
|
|
39
|
+
url: 'https://getstream.io/�'
|
|
43
40
|
});
|
|
44
41
|
});
|
|
45
42
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_parseLinks","require","describe","it","each","undefined","link","expected","_result$","result","parseLinksFromText","expect","
|
|
1
|
+
{"version":3,"names":["_parseLinks","require","describe","it","each","undefined","link","expected","_result$","result","parseLinksFromText","expect","url","toBe","input","toEqual","raw","email","toHaveLength"],"sources":["parseLinks.test.ts"],"sourcesContent":["import { parseLinksFromText } from './parseLinks';\n\ndescribe('parseLinksFromText', () => {\n it.each([\n ['https://www.getstream.io', 'https://www.getstream.io'],\n ['https://getstream.io', 'https://getstream.io'],\n ['scrn://team-chat', undefined],\n ['https://localhost', 'https://localhost'],\n [\n 'https://localhost/with/path?and=query&multiple=params',\n 'https://localhost/with/path?and=query&multiple=params',\n ],\n [\n 'https://localhost/with/path?and=query#fragment',\n 'https://localhost/with/path?and=query#fragment',\n ],\n ['reactnative.dev', 'http://reactnative.dev'],\n ['hinge.health/schedule-with-a-coach', 'http://hinge.health/schedule-with-a-coach'],\n ['https://zh.wikipedia.org/wiki/挪威牛油危機', 'https://zh.wikipedia.org/wiki/挪威牛油危機'],\n [\n 'https://getstream.io/chat/docs/react-native/?language=javascript',\n 'https://getstream.io/chat/docs/react-native/?language=javascript',\n ],\n ['127.0.0.1/local_(development)_server', undefined],\n ['https://a.co:8999/ab.php?p=12', 'https://a.co:8999/ab.php?p=12'],\n [\n 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4',\n 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4',\n ],\n ])('Returns the encoded value of %p as %p', (link, expected) => {\n const result = parseLinksFromText(link);\n expect(result[0]?.url).toBe(expected);\n });\n it('parses fqdn', () => {\n const input = `We have put the apim bol,\n temporarily so :sj: we can later put the monitors on my grasp\n on reality right now is\n https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier\n :)`;\n const result = parseLinksFromText(input);\n expect(result).toEqual([\n {\n raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',\n url: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',\n },\n ]);\n });\n it.each([\n ['support+rn@getstream.io'],\n ['support.rn@getstream.io'],\n ['support-rn@getstream.io'],\n ['support_rn@getstream.io'],\n ])('Can parse the email address %p', (email) => {\n const result = parseLinksFromText(email);\n expect(result[0].url).toBe('mailto:' + email);\n expect(result[0].raw).toBe(email);\n });\n it(\"doesn't double the mailto prefix\", () => {\n const input = 'mailto:support@getstream.io';\n const result = parseLinksFromText(input);\n expect(result[0]).toEqual({\n raw: input,\n url: input,\n });\n });\n it('Does not falsely parse LINKs from text content', () => {\n const input = `#This string exists to test that we don't produce false positives\n Existing links:\n [already a parsed link](https://getstream.io/blog/react-native-how-to-build-bidirectional-infinite-scroll/)\n [even a bogus one]( should not match )\n ## These should, however, be parsed:\n www.getstream.io\n getstream.io\n `;\n const result = parseLinksFromText(input);\n expect(result).toHaveLength(2);\n });\n it('Encodes incomplete emoji unicode', () => {\n const input = 'https://getstream.io/�';\n const result = parseLinksFromText(input);\n expect(result[0]).toEqual({\n raw: input,\n url: 'https://getstream.io/�',\n });\n });\n});\n"],"mappings":"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"}
|
package/lib/module/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!",
|