stream-chat-react-native-core 5.22.0-beta.1 → 5.22.0-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.
Files changed (157) hide show
  1. package/lib/commonjs/components/Attachment/FileAttachment.js +10 -7
  2. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  3. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +8 -6
  4. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  5. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +20 -16
  6. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  7. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +16 -14
  8. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  9. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +4 -2
  10. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  11. package/lib/commonjs/components/ImageGallery/ImageGallery.js +28 -25
  12. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  13. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +7 -5
  14. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  15. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +10 -8
  16. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  17. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +10 -8
  18. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  19. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +17 -12
  20. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
  21. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +20 -17
  22. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  23. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +18 -17
  24. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  25. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +13 -11
  26. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  27. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +8 -14
  28. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  29. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +11 -8
  30. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  31. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +32 -29
  32. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  33. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +17 -15
  34. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  35. package/lib/commonjs/contexts/themeContext/utils/theme.js +1 -4
  36. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  37. package/lib/commonjs/hooks/useViewport.js +47 -0
  38. package/lib/commonjs/hooks/useViewport.js.map +1 -0
  39. package/lib/commonjs/i18n/en.json +3 -1
  40. package/lib/commonjs/i18n/es.json +3 -1
  41. package/lib/commonjs/i18n/fr.json +53 -51
  42. package/lib/commonjs/i18n/he.json +3 -1
  43. package/lib/commonjs/i18n/hi.json +53 -51
  44. package/lib/commonjs/i18n/it.json +53 -51
  45. package/lib/commonjs/i18n/ja.json +3 -1
  46. package/lib/commonjs/i18n/ko.json +3 -1
  47. package/lib/commonjs/i18n/nl.json +53 -51
  48. package/lib/commonjs/i18n/ru.json +53 -51
  49. package/lib/commonjs/i18n/tr.json +53 -51
  50. package/lib/commonjs/utils/utils.js +1 -15
  51. package/lib/commonjs/utils/utils.js.map +1 -1
  52. package/lib/commonjs/version.json +1 -1
  53. package/lib/module/components/Attachment/FileAttachment.js +10 -7
  54. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  55. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +8 -6
  56. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  57. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +20 -16
  58. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  59. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +16 -14
  60. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  61. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +4 -2
  62. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  63. package/lib/module/components/ImageGallery/ImageGallery.js +28 -25
  64. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  65. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +7 -5
  66. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  67. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +10 -8
  68. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  69. package/lib/module/components/ImageGallery/components/ImageGrid.js +10 -8
  70. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  71. package/lib/module/components/Indicators/EmptyStateIndicator.js +17 -12
  72. package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
  73. package/lib/module/components/Message/MessageSimple/MessageContent.js +20 -17
  74. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  75. package/lib/module/components/Message/MessageSimple/ReactionList.js +18 -17
  76. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  77. package/lib/module/components/MessageList/InlineUnreadIndicator.js +13 -11
  78. package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  79. package/lib/module/components/MessageOverlay/MessageActionList.js +8 -14
  80. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  81. package/lib/module/components/MessageOverlay/MessageActionListItem.js +11 -8
  82. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  83. package/lib/module/components/MessageOverlay/MessageOverlay.js +32 -29
  84. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  85. package/lib/module/components/Thread/components/ThreadFooterComponent.js +17 -15
  86. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  87. package/lib/module/contexts/themeContext/utils/theme.js +1 -4
  88. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  89. package/lib/module/hooks/useViewport.js +47 -0
  90. package/lib/module/hooks/useViewport.js.map +1 -0
  91. package/lib/module/i18n/en.json +3 -1
  92. package/lib/module/i18n/es.json +3 -1
  93. package/lib/module/i18n/fr.json +53 -51
  94. package/lib/module/i18n/he.json +3 -1
  95. package/lib/module/i18n/hi.json +53 -51
  96. package/lib/module/i18n/it.json +53 -51
  97. package/lib/module/i18n/ja.json +3 -1
  98. package/lib/module/i18n/ko.json +3 -1
  99. package/lib/module/i18n/nl.json +53 -51
  100. package/lib/module/i18n/ru.json +53 -51
  101. package/lib/module/i18n/tr.json +53 -51
  102. package/lib/module/utils/utils.js +1 -15
  103. package/lib/module/utils/utils.js.map +1 -1
  104. package/lib/module/version.json +1 -1
  105. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
  106. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
  107. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
  108. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -1
  109. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +1 -3
  110. package/lib/typescript/hooks/useViewport.d.ts +11 -0
  111. package/lib/typescript/i18n/en.json +3 -1
  112. package/lib/typescript/i18n/es.json +3 -1
  113. package/lib/typescript/i18n/fr.json +53 -51
  114. package/lib/typescript/i18n/he.json +3 -1
  115. package/lib/typescript/i18n/hi.json +53 -51
  116. package/lib/typescript/i18n/it.json +53 -51
  117. package/lib/typescript/i18n/ja.json +3 -1
  118. package/lib/typescript/i18n/ko.json +3 -1
  119. package/lib/typescript/i18n/nl.json +53 -51
  120. package/lib/typescript/i18n/ru.json +53 -51
  121. package/lib/typescript/i18n/tr.json +53 -51
  122. package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +1 -1
  123. package/lib/typescript/utils/Streami18n.d.ts +6 -0
  124. package/lib/typescript/utils/utils.d.ts +0 -2
  125. package/package.json +1 -1
  126. package/src/components/Attachment/FileAttachment.tsx +12 -3
  127. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  128. package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +3 -1
  129. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +4 -3
  130. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +4 -3
  131. package/src/components/ImageGallery/ImageGallery.tsx +8 -4
  132. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +5 -3
  133. package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +5 -3
  134. package/src/components/ImageGallery/components/ImageGrid.tsx +2 -1
  135. package/src/components/Indicators/EmptyStateIndicator.tsx +8 -7
  136. package/src/components/Message/MessageSimple/MessageContent.tsx +3 -1
  137. package/src/components/Message/MessageSimple/ReactionList.tsx +2 -1
  138. package/src/components/MessageList/InlineUnreadIndicator.tsx +2 -1
  139. package/src/components/MessageOverlay/MessageActionList.tsx +3 -11
  140. package/src/components/MessageOverlay/MessageActionListItem.tsx +5 -2
  141. package/src/components/MessageOverlay/MessageOverlay.tsx +5 -3
  142. package/src/components/Thread/components/ThreadFooterComponent.tsx +2 -1
  143. package/src/contexts/themeContext/utils/theme.ts +2 -7
  144. package/src/hooks/useViewport.ts +41 -0
  145. package/src/i18n/en.json +3 -1
  146. package/src/i18n/es.json +3 -1
  147. package/src/i18n/fr.json +53 -51
  148. package/src/i18n/he.json +3 -1
  149. package/src/i18n/hi.json +53 -51
  150. package/src/i18n/it.json +53 -51
  151. package/src/i18n/ja.json +3 -1
  152. package/src/i18n/ko.json +3 -1
  153. package/src/i18n/nl.json +53 -51
  154. package/src/i18n/ru.json +53 -51
  155. package/src/i18n/tr.json +53 -51
  156. package/src/utils/utils.ts +0 -13
  157. package/src/version.json +1 -1
@@ -2,70 +2,72 @@
2
2
  "1 Reply": "1 Ответ",
3
3
  "1 Thread Reply": "1 тема Ответить",
4
4
  "Allow access to your Gallery": "Разрешить доступ к вашей галерее",
5
- "Also send to channel": "",
6
- "Are you sure you want to permanently delete this message?": "",
7
- "Block User": "",
8
- "Cancel": "",
9
- "Cannot Flag Message": "",
10
- "Copy Message": "",
11
- "Delete": "",
12
- "Delete Message": "",
13
- "Do you want to send a copy of this message to a moderator for further investigation?": "",
14
- "Edit Message": "",
15
- "Editing Message": "",
16
- "Emoji matching": "",
17
- "Empty message...": "",
18
- "Error loading": "",
19
- "Error loading channel list...": "",
20
- "Error loading messages for this channel...": "",
21
- "Error while loading, please reload/refresh": "",
22
- "File type not supported": "",
23
- "Flag": "",
24
- "Flag Message": "",
25
- "Flag action failed either due to a network issue or the message is already flagged": "",
26
- "Instant Commands": "",
27
- "Links are disabled": "",
28
- "Loading channels...": "",
29
- "Loading messages...": "",
30
- "Loading...": "",
31
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
5
+ "Also send to channel": "Также отправить на канал",
6
+ "Are you sure you want to permanently delete this message?": "Вы действительно хотите удалить это сообщение без возможности восстановления?",
7
+ "Block User": "Заблокировать пользователя",
8
+ "Cancel": "Отмена",
9
+ "Cannot Flag Message": "Невозможно пожаловаться на сообщение",
10
+ "Copy Message": "Копировать сообщение",
11
+ "Delete": "удалять",
12
+ "Delete Message": "Удалить сообщение",
13
+ "Do you want to send a copy of this message to a moderator for further investigation?": "Вы хотите отправить копию этого сообщения модератору для дальнейшего изучения?",
14
+ "Edit Message": "Редактировать сообщение",
15
+ "Editing Message": "Редактирование сообщения",
16
+ "Emoji matching": "Соответствие эмодзи",
17
+ "Empty message...": "Пустое сообщение...",
18
+ "Error loading": "Ошибка при загрузке",
19
+ "Error loading channel list...": "Ошибка загрузки списка каналов...",
20
+ "Error loading messages for this channel...": "Ошибка загрузки сообщений для этого канала...",
21
+ "Error while loading, please reload/refresh": "Ошибка загрузки, пожалуйста перезагрузите или обновите",
22
+ "File type not supported": "Тип файла не поддерживается",
23
+ "Flag": "Пометить",
24
+ "Flag Message": "Пометить сообщение",
25
+ "Flag action failed either due to a network issue or the message is already flagged": "Не удалось отправить жалобу. Возможные причины: проблема с подключением к интернету или ваша жалоба уже была принята.",
26
+ "How about sending your first message to a friend?": "Как насчет отправки первого сообщения другу?",
27
+ "Instant Commands": "Мгновенные Команды",
28
+ "Let's start chatting!": "Давайте начнем общаться!",
29
+ "Links are disabled": "Ссылки отключены",
30
+ "Loading channels...": "Загружаю каналы...",
31
+ "Loading messages...": "Загружаю сообщения...",
32
+ "Loading...": "Загружаю...",
33
+ "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}} МБ.",
32
34
  "Message Reactions": "Сообщения Реакции",
33
- "Message deleted": "",
34
- "Message flagged": "",
35
- "Mute User": "",
36
- "Not supported": "",
37
- "Nothing yet...": "",
38
- "Ok": "",
35
+ "Message deleted": "Сообщение удалено",
36
+ "Message flagged": "Сообщение отмечено",
37
+ "Mute User": "Отключить пользователя",
38
+ "Not supported": "не поддерживается",
39
+ "Nothing yet...": "Пока ничего нет...",
40
+ "Ok": "",
39
41
  "Only visible to you": "Видно только вам",
40
42
  "Photo": "Фото",
41
43
  "Photos and Videos": "Фото и видео",
42
- "Pin to Conversation": "",
44
+ "Pin to Conversation": "Закрепить к беседе",
43
45
  "Pinned by": "Закреплено пользователем",
44
46
  "Please enable access to your photos and videos so you can share them.": "Разрешите доступ к своим фотографиям и видео, чтобы вы могли ими поделиться.",
45
- "Please select a channel first": "",
46
- "Reconnecting...": "",
47
- "Reply": "",
48
- "Reply to Message": "",
49
- "Resend": "",
50
- "Search GIFs": "",
47
+ "Please select a channel first": "Пожалуйста, сначала выберите канал",
48
+ "Reconnecting...": "Переподключение...",
49
+ "Reply": "Ответить",
50
+ "Reply to Message": "Ответить на сообщение",
51
+ "Resend": "Отправить",
52
+ "Search GIFs": "Поиск GIF",
51
53
  "Select More Photos": "Выбрать больше фотографий",
52
- "Send a message": "",
53
- "Sending links is not allowed in this conversation": "",
54
- "Slow mode ON": "",
55
- "The message has been reported to a moderator.": "",
56
- "Thread Reply": "",
57
- "Unblock User": "",
54
+ "Send a message": "Отправить сообщение",
55
+ "Sending links is not allowed in this conversation": "Отправка ссылок недоступна в этом чате",
56
+ "Slow mode ON": "Медленный режим включен",
57
+ "The message has been reported to a moderator.": "Сообщение отправлено модератору.",
58
+ "Thread Reply": "Тема Ответить",
59
+ "Unblock User": "Разблокировать пользователя",
58
60
  "Unknown User": "Неизвестный пользователь",
59
- "Unmute User": "",
60
- "Unpin from Conversation": "",
61
+ "Unmute User": "Включить микрофон",
62
+ "Unpin from Conversation": "Открепить от беседы",
61
63
  "Unread Messages": "Непрочитанные Сообщения",
62
64
  "Video": "видео",
63
- "You": "",
64
- "You can't send messages in this channel": "",
65
+ "You": "Вы",
66
+ "You can't send messages in this channel": "Вы не можете отправлять сообщения в этот канал",
65
67
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} и еще {{ nonSelfUserLength }} пишут",
66
68
  "{{ index }} of {{ photoLength }}": "{{ index }} из {{ photoLength }}",
67
69
  "{{ replyCount }} Replies": "{{ replyCount }} Ответов",
68
70
  "{{ replyCount }} Thread Replies": "{{replyCount}} Ответы в темах",
69
71
  "{{ user }} is typing": "{{ user }} пишет",
70
- "🏙 Attachment...": ""
72
+ "🏙 Attachment...": "🏙 Вложение..."
71
73
  }
@@ -2,70 +2,72 @@
2
2
  "1 Reply": "1 Cevap",
3
3
  "1 Thread Reply": "1 Konu Yanıtı",
4
4
  "Allow access to your Gallery": "Galerinize erişime izin verin",
5
- "Also send to channel": "",
6
- "Are you sure you want to permanently delete this message?": "",
7
- "Block User": "",
8
- "Cancel": "",
9
- "Cannot Flag Message": "",
10
- "Copy Message": "",
11
- "Delete": "",
12
- "Delete Message": "",
13
- "Do you want to send a copy of this message to a moderator for further investigation?": "",
14
- "Edit Message": "",
15
- "Editing Message": "",
16
- "Emoji matching": "",
17
- "Empty message...": "",
18
- "Error loading": "",
19
- "Error loading channel list...": "",
20
- "Error loading messages for this channel...": "",
21
- "Error while loading, please reload/refresh": "",
22
- "File type not supported": "",
23
- "Flag": "",
24
- "Flag Message": "",
25
- "Flag action failed either due to a network issue or the message is already flagged": "",
26
- "Instant Commands": "",
27
- "Links are disabled": "",
28
- "Loading channels...": "",
29
- "Loading messages...": "",
30
- "Loading...": "",
31
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
5
+ "Also send to channel": "Kanala da gönder",
6
+ "Are you sure you want to permanently delete this message?": "Bu mesajı kalıcı olarak silmek istediğinizden emin misiniz?",
7
+ "Block User": "Kullanıcıyı engelle",
8
+ "Cancel": "İptal",
9
+ "Cannot Flag Message": "Raporlama Başarısız",
10
+ "Copy Message": "Mesajı Kopyala",
11
+ "Delete": "Sil",
12
+ "Delete Message": "Mesajı Sil",
13
+ "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?",
14
+ "Edit Message": "Mesajı Düzenle",
15
+ "Editing Message": "Mesaj Düzenleniyor",
16
+ "Emoji matching": "Emoji eşleştirme",
17
+ "Empty message...": "Boş mesaj...",
18
+ "Error loading": "Yükleme hatası",
19
+ "Error loading channel list...": "Kanal listesi yüklenirken hata oluştu...",
20
+ "Error loading messages for this channel...": "Bu kanal için mesajlar yüklenirken hata oluştu...",
21
+ "Error while loading, please reload/refresh": "Yüklenirken hata oluştu, lütfen tekrar deneyiniz",
22
+ "File type not supported": "Dosya türü desteklenmiyor",
23
+ "Flag": "Raporla",
24
+ "Flag Message": "Mesajı Raporla",
25
+ "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.",
26
+ "How about sending your first message to a friend?": "İlk mesajınızı bir arkadaşınıza göndermeye ne dersiniz?",
27
+ "Instant Commands": "Anlık Komutlar",
28
+ "Let's start chatting!": "Haydi sohbete başlayalım!",
29
+ "Links are disabled": "Bağlantılar devre dışı",
30
+ "Loading channels...": "Kanallar yükleniyor...",
31
+ "Loading messages...": "Mesajlar yükleniyor...",
32
+ "Loading...": "Yükleniyor...",
33
+ "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.",
32
34
  "Message Reactions": "Mesaj Tepkileri",
33
- "Message deleted": "",
34
- "Message flagged": "",
35
- "Mute User": "",
36
- "Not supported": "",
37
- "Nothing yet...": "",
38
- "Ok": "",
35
+ "Message deleted": "Mesaj silindi",
36
+ "Message flagged": "Mesaj işaretlendi",
37
+ "Mute User": "Kullanıcıyı sessize al",
38
+ "Not supported": "Desteklenmiyor",
39
+ "Nothing yet...": "Henüz değil...",
40
+ "Ok": "Tamam",
39
41
  "Only visible to you": "Sadece siz görebilirsiniz",
40
42
  "Photo": "Fotoğraf",
41
43
  "Photos and Videos": "Fotoğraflar ve Videolar",
42
- "Pin to Conversation": "",
44
+ "Pin to Conversation": "Konuşmaya sabitle",
43
45
  "Pinned by": "Tarafından sabitlendi",
44
46
  "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.",
45
- "Please select a channel first": "",
46
- "Reconnecting...": "",
47
- "Reply": "",
48
- "Reply to Message": "",
49
- "Resend": "",
50
- "Search GIFs": "",
47
+ "Please select a channel first": "Lütfen önce bir kanal seçiniz",
48
+ "Reconnecting...": "Yeniden Bağlanılıyor...",
49
+ "Reply": "Yanıtla",
50
+ "Reply to Message": "Mesajı Yanıtla",
51
+ "Resend": "Yeniden gönder",
52
+ "Search GIFs": "GIF Ara",
51
53
  "Select More Photos": "Daha Fazla Fotoğraf Seçin",
52
- "Send a message": "",
53
- "Sending links is not allowed in this conversation": "",
54
- "Slow mode ON": "",
55
- "The message has been reported to a moderator.": "",
56
- "Thread Reply": "",
57
- "Unblock User": "",
54
+ "Send a message": "Mesaj gönder",
55
+ "Sending links is not allowed in this conversation": "Bu konuşmada bağlantı göndermek desteklenmiyor",
56
+ "Slow mode ON": "Yavaş Mod Açık",
57
+ "The message has been reported to a moderator.": "Mesaj moderatöre bildirildi.",
58
+ "Thread Reply": "Konu Yanıtı",
59
+ "Unblock User": "Kullanıcının engelini kaldır",
58
60
  "Unknown User": "Bilinmeyen kullanıcı",
59
- "Unmute User": "",
60
- "Unpin from Conversation": "",
61
+ "Unmute User": "Kullanıcının sesini aç",
62
+ "Unpin from Conversation": "Sabitlemeyi kaldır",
61
63
  "Unread Messages": "Okunmamış Mesajlar",
62
64
  "Video": "Video",
63
- "You": "",
64
- "You can't send messages in this channel": "",
65
+ "You": "Sen",
66
+ "You can't send messages in this channel": "Bu konuşmaya mesaj gönderemezsiniz",
65
67
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} ve {{ nonSelfUserLength }} kişi daha yazıyor",
66
68
  "{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
67
69
  "{{ replyCount }} Replies": "{{ replyCount }} Cevap",
68
70
  "{{ replyCount }} Thread Replies": "{{responseCount}} Konu Cevapı",
69
71
  "{{ user }} is typing": "{{ user }} yazıyor",
70
- "🏙 Attachment...": ""
72
+ "🏙 Attachment...": "🏙 Ek..."
71
73
  }
@@ -1,4 +1,4 @@
1
1
  import type { ChannelAPIResponse } from 'stream-chat';
2
2
  import type { DefaultStreamChatGenerics } from '../../types/types';
3
3
  import type { TableRow } from '../types';
4
- export declare const mapStorableToChannel: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(channelRow: TableRow<'channels'>) => Omit<ChannelAPIResponse<StreamChatGenerics>, "members" | "duration" | "messages" | "pinned_messages">;
4
+ export declare const mapStorableToChannel: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(channelRow: TableRow<'channels'>) => Omit<ChannelAPIResponse<StreamChatGenerics>, "duration" | "members" | "messages" | "pinned_messages">;
@@ -142,7 +142,9 @@ export declare class Streami18n {
142
142
  */
143
143
  "Flag Message": string;
144
144
  "Flag action failed either due to a network issue or the message is already flagged": string;
145
+ "How about sending your first message to a friend?": string;
145
146
  "Instant Commands": string;
147
+ "Let's start chatting!": string;
146
148
  "Links are disabled": string;
147
149
  "Loading channels...": string;
148
150
  "Loading messages...": string;
@@ -159,6 +161,10 @@ export declare class Streami18n {
159
161
  Photo: string;
160
162
  "Photos and Videos": string;
161
163
  "Pin to Conversation": string;
164
+ /**
165
+ * Hindi notation for meridiems are quite fuzzy in practice. While there exists
166
+ * a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
167
+ */
162
168
  "Pinned by": string;
163
169
  "Please enable access to your photos and videos so you can share them.": string;
164
170
  "Please select a channel first": string;
@@ -105,8 +105,6 @@ export declare const ACITriggerSettings: <StreamChatGenerics extends DefaultStre
105
105
  export declare const makeImageCompatibleUrl: (url: string) => string;
106
106
  export declare const getUrlWithoutParams: (url?: string | undefined) => string | undefined;
107
107
  export declare const isLocalUrl: (url: string) => boolean;
108
- export declare const vw: (percentageWidth: number, rounded?: boolean) => number;
109
- export declare const vh: (percentageHeight: number, rounded?: boolean) => number;
110
108
  export declare const generateRandomId: (a?: string) => string;
111
109
  export declare const emojiRegex: RegExp;
112
110
  export declare const urlRegex: RegExp;
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.22.0-beta.1",
4
+ "version": "5.22.0-beta.3",
5
5
  "author": {
6
6
  "company": "Stream.io Inc",
7
7
  "name": "Stream.io Inc"
@@ -24,8 +24,8 @@ import {
24
24
  useMessagesContext,
25
25
  } from '../../contexts/messagesContext/MessagesContext';
26
26
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
27
+ import { useViewport } from '../../hooks/useViewport';
27
28
  import type { DefaultStreamChatGenerics } from '../../types/types';
28
- import { vw } from '../../utils/utils';
29
29
 
30
30
  const styles = StyleSheet.create({
31
31
  container: {
@@ -35,7 +35,6 @@ const styles = StyleSheet.create({
35
35
  padding: 8,
36
36
  },
37
37
  details: {
38
- maxWidth: vw(60),
39
38
  paddingLeft: 16,
40
39
  },
41
40
  size: {
@@ -94,6 +93,7 @@ const FileAttachmentWithContext = <
94
93
  },
95
94
  },
96
95
  } = useTheme();
96
+ const { vw } = useViewport();
97
97
 
98
98
  const defaultOnPress = () => openUrlSafely(attachment.asset_url);
99
99
 
@@ -134,7 +134,16 @@ const FileAttachmentWithContext = <
134
134
  >
135
135
  <View style={[styles.container, { backgroundColor: white }, container, stylesProp.container]}>
136
136
  <FileAttachmentIcon mimeType={attachment.mime_type} size={attachmentSize} />
137
- <View style={[styles.details, details, stylesProp.details]}>
137
+ <View
138
+ style={[
139
+ styles.details,
140
+ {
141
+ maxWidth: vw(60),
142
+ },
143
+ details,
144
+ stylesProp.details,
145
+ ]}
146
+ >
138
147
  <Text numberOfLines={2} style={[styles.title, { color: black }, title, stylesProp.title]}>
139
148
  {attachment.title}
140
149
  </Text>
@@ -20,13 +20,13 @@ import { renderAttachmentPickerItem } from './components/AttachmentPickerItem';
20
20
  import { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';
21
21
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
22
22
  import { useTranslationContext } from '../../contexts/translationContext/TranslationContext';
23
+ import { useViewport } from '../../hooks/useViewport';
23
24
  import {
24
25
  getPhotos,
25
26
  iOS14RefreshGallerySelection,
26
27
  oniOS14GalleryLibrarySelectionChange,
27
28
  } from '../../native';
28
29
  import type { Asset } from '../../types/types';
29
- import { vh } from '../../utils/utils';
30
30
 
31
31
  dayjs.extend(duration);
32
32
 
@@ -36,7 +36,6 @@ const styles = StyleSheet.create({
36
36
  },
37
37
  });
38
38
 
39
- const screenHeight = vh(100);
40
39
  const fullScreenHeight = Dimensions.get('window').height;
41
40
 
42
41
  export type AttachmentPickerProps = {
@@ -106,6 +105,9 @@ export const AttachmentPicker = React.forwardRef(
106
105
  setSelectedPicker,
107
106
  topInset,
108
107
  } = useAttachmentPickerContext();
108
+ const { vh } = useViewport();
109
+
110
+ const screenHeight = vh(100);
109
111
 
110
112
  const [currentIndex, setCurrentIndex] = useState(-1);
111
113
  const endCursorRef = useRef<string>();
@@ -8,10 +8,10 @@ import { lookup } from 'mime-types';
8
8
 
9
9
  import type { AttachmentPickerContextValue } from '../../../contexts/attachmentPickerContext/AttachmentPickerContext';
10
10
  import { useTheme } from '../../../contexts/themeContext/ThemeContext';
11
+ import { useViewport } from '../../../hooks/useViewport';
11
12
  import { Recorder } from '../../../icons';
12
13
  import { getLocalAssetUri } from '../../../native';
13
14
  import type { Asset, File } from '../../../types/types';
14
- import { vw } from '../../../utils/utils';
15
15
 
16
16
  type AttachmentPickerItemType = Pick<
17
17
  AttachmentPickerContextValue,
@@ -39,6 +39,7 @@ const AttachmentVideo: React.FC<AttachmentVideoProps> = (props) => {
39
39
  selectedFiles,
40
40
  setSelectedFiles,
41
41
  } = props;
42
+ const { vw } = useViewport();
42
43
 
43
44
  const {
44
45
  theme: {
@@ -152,6 +153,7 @@ const AttachmentImage: React.FC<AttachmentImageProps> = (props) => {
152
153
  colors: { overlay },
153
154
  },
154
155
  } = useTheme();
156
+ const { vw } = useViewport();
155
157
 
156
158
  const size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;
157
159
 
@@ -19,8 +19,8 @@ import {
19
19
  } from '../../contexts/channelsContext/ChannelsContext';
20
20
  import { useChatContext } from '../../contexts/chatContext/ChatContext';
21
21
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
22
+ import { useViewport } from '../../hooks/useViewport';
22
23
  import type { DefaultStreamChatGenerics } from '../../types/types';
23
- import { vw } from '../../utils/utils';
24
24
 
25
25
  const styles = StyleSheet.create({
26
26
  container: {
@@ -45,8 +45,6 @@ const styles = StyleSheet.create({
45
45
  title: { fontSize: 14, fontWeight: '700' },
46
46
  });
47
47
 
48
- const maxWidth = vw(80) - 16 - 40;
49
-
50
48
  export type ChannelPreviewMessengerPropsWithContext<
51
49
  StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
52
50
  > = Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'> &
@@ -120,6 +118,9 @@ const ChannelPreviewMessengerWithContext = <
120
118
  PreviewMutedStatus = ChannelPreviewMutedStatus,
121
119
  unread,
122
120
  } = props;
121
+ const { vw } = useViewport();
122
+
123
+ const maxWidth = vw(80) - 16 - 40;
123
124
 
124
125
  const {
125
126
  theme: {
@@ -3,11 +3,9 @@ import { useEffect, useState } from 'react';
3
3
  import type { Channel, ChannelMemberResponse } from 'stream-chat';
4
4
 
5
5
  import { useChatContext } from '../../../contexts/chatContext/ChatContext';
6
+ import { useViewport } from '../../../hooks/useViewport';
6
7
 
7
8
  import type { DefaultStreamChatGenerics } from '../../../types/types';
8
- import { vw } from '../../../utils/utils';
9
-
10
- const DEFAULT_MAX_CHARACTER_LENGTH = (vw(100) - 16) / 6;
11
9
 
12
10
  const ELLIPSIS = `...`;
13
11
 
@@ -81,6 +79,9 @@ export const useChannelPreviewDisplayName = <
81
79
  characterLength?: number,
82
80
  ) => {
83
81
  const { client } = useChatContext<StreamChatGenerics>();
82
+ const { vw } = useViewport();
83
+
84
+ const DEFAULT_MAX_CHARACTER_LENGTH = (vw(100) - 16) / 6;
84
85
 
85
86
  const currentUserId = client?.userID;
86
87
  const members = channel?.state?.members;
@@ -55,18 +55,16 @@ import {
55
55
  useOverlayContext,
56
56
  } from '../../contexts/overlayContext/OverlayContext';
57
57
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
58
+ import { useViewport } from '../../hooks/useViewport';
58
59
  import { isVideoPackageAvailable, VideoType } from '../../native';
59
60
  import type { DefaultStreamChatGenerics } from '../../types/types';
60
61
  import { getResizedImageUrl } from '../../utils/getResizedImageUrl';
61
62
  import { getUrlOfImageAttachment } from '../../utils/getUrlOfImageAttachment';
62
- import { vh, vw } from '../../utils/utils';
63
63
  import { getGiphyMimeType } from '../Attachment/utils/getGiphyMimeType';
64
64
 
65
65
  const isAndroid = Platform.OS === 'android';
66
66
  const fullScreenHeight = Dimensions.get('screen').height;
67
- const measuredScreenHeight = vh(100);
68
- const screenWidth = vw(100);
69
- const halfScreenWidth = vw(50);
67
+
70
68
  const MARGIN = 32;
71
69
 
72
70
  export enum HasPinched {
@@ -162,6 +160,12 @@ export const ImageGallery = <
162
160
  const { messages, selectedMessage, setSelectedMessage } =
163
161
  useImageGalleryContext<StreamChatGenerics>();
164
162
 
163
+ const { vh, vw } = useViewport();
164
+
165
+ const measuredScreenHeight = vh(100);
166
+ const screenWidth = vw(100);
167
+ const halfScreenWidth = vw(50);
168
+
165
169
  /**
166
170
  * Height constants
167
171
  */
@@ -3,10 +3,8 @@ import { View } from 'react-native';
3
3
  import type { ImageStyle, StyleProp } from 'react-native';
4
4
  import Animated, { useAnimatedStyle } from 'react-native-reanimated';
5
5
 
6
- import { vw } from '../../../utils/utils';
6
+ import { useViewport } from '../../../hooks/useViewport';
7
7
 
8
- const screenWidth = vw(100);
9
- const halfScreenWidth = vw(50);
10
8
  const oneEighth = 1 / 8;
11
9
 
12
10
  type Props = {
@@ -40,6 +38,10 @@ export const AnimatedGalleryImage: React.FC<Props> = React.memo(
40
38
  translateX,
41
39
  translateY,
42
40
  } = props;
41
+ const { vw } = useViewport();
42
+
43
+ const screenWidth = vw(100);
44
+ const halfScreenWidth = vw(50);
43
45
 
44
46
  /**
45
47
  * The current image, designated by selected is scaled and translated
@@ -3,6 +3,7 @@ import { StyleSheet, View, ViewStyle } from 'react-native';
3
3
  import type { StyleProp } from 'react-native';
4
4
  import Animated, { useAnimatedStyle } from 'react-native-reanimated';
5
5
 
6
+ import { useViewport } from '../../../hooks/useViewport';
6
7
  import {
7
8
  isVideoPackageAvailable,
8
9
  PlaybackStatus,
@@ -12,11 +13,8 @@ import {
12
13
  VideoType,
13
14
  } from '../../../native';
14
15
 
15
- import { vw } from '../../../utils/utils';
16
16
  import { Spinner } from '../../Spinner/Spinner';
17
17
 
18
- const screenWidth = vw(100);
19
- const halfScreenWidth = vw(50);
20
18
  const oneEighth = 1 / 8;
21
19
 
22
20
  export type AnimatedGalleryVideoType = {
@@ -74,6 +72,10 @@ export const AnimatedGalleryVideo: React.FC<AnimatedGalleryVideoType> = React.me
74
72
  translateY,
75
73
  videoRef,
76
74
  } = props;
75
+ const { vw } = useViewport();
76
+
77
+ const screenWidth = vw(100);
78
+ const halfScreenWidth = vw(50);
77
79
 
78
80
  const onLoadStart = () => {
79
81
  setOpacity(1);
@@ -5,8 +5,8 @@ import { BottomSheetFlatList, TouchableOpacity } from '@gorhom/bottom-sheet';
5
5
 
6
6
  import { VideoThumbnail } from '../../../components/Attachment/VideoThumbnail';
7
7
  import { useTheme } from '../../../contexts/themeContext/ThemeContext';
8
+ import { useViewport } from '../../../hooks/useViewport';
8
9
  import type { DefaultStreamChatGenerics } from '../../../types/types';
9
- import { vw } from '../../../utils/utils';
10
10
 
11
11
  import type { Photo } from '../ImageGallery';
12
12
 
@@ -71,6 +71,7 @@ const GridImage = <
71
71
  },
72
72
  },
73
73
  } = useTheme();
74
+ const { vw } = useViewport();
74
75
  const { imageComponent, ...restItem } = item;
75
76
 
76
77
  const { numberOfImageGalleryGridColumns, selectAndClose, type, uri } = restItem;
@@ -2,10 +2,9 @@ import React from 'react';
2
2
  import { StyleSheet, Text, View } from 'react-native';
3
3
 
4
4
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
5
+ import { useTranslationContext } from '../../contexts/translationContext/TranslationContext';
6
+ import { useViewport } from '../../hooks/useViewport';
5
7
  import { MessageIcon } from '../../icons/MessageIcon';
6
- import { vw } from '../../utils/utils';
7
-
8
- const width = vw(33);
9
8
 
10
9
  const styles = StyleSheet.create({
11
10
  channelContainer: {
@@ -16,7 +15,6 @@ const styles = StyleSheet.create({
16
15
  channelDetails: {
17
16
  fontSize: 14,
18
17
  textAlign: 'center',
19
- width: vw(66),
20
18
  },
21
19
  channelTitle: {
22
20
  fontSize: 16,
@@ -36,6 +34,9 @@ export const EmptyStateIndicator: React.FC<EmptyStateProps> = ({ listType }) =>
36
34
  emptyStateIndicator: { channelContainer, channelDetails, channelTitle },
37
35
  },
38
36
  } = useTheme();
37
+ const { vw } = useViewport();
38
+ const width = vw(33);
39
+ const { t } = useTranslationContext();
39
40
 
40
41
  switch (listType) {
41
42
  case 'channel':
@@ -46,13 +47,13 @@ export const EmptyStateIndicator: React.FC<EmptyStateProps> = ({ listType }) =>
46
47
  style={[styles.channelTitle, { color: black }, channelTitle]}
47
48
  testID='empty-channel-state-title'
48
49
  >
49
- {"Let's start chatting!"}
50
+ {t("Let's start chatting!")}
50
51
  </Text>
51
52
  <Text
52
- style={[styles.channelDetails, { color: grey }, channelDetails]}
53
+ style={[styles.channelDetails, { color: grey, width: vw(66) }, channelDetails]}
53
54
  testID='empty-channel-state-details'
54
55
  >
55
- {'How about sending your first message to a friend?'}
56
+ {t('How about sending your first message to a friend?')}
56
57
  </Text>
57
58
  </View>
58
59
  );
@@ -19,8 +19,9 @@ import {
19
19
  useTranslationContext,
20
20
  } from '../../../contexts/translationContext/TranslationContext';
21
21
 
22
+ import { useViewport } from '../../../hooks/useViewport';
22
23
  import type { DefaultStreamChatGenerics } from '../../../types/types';
23
- import { MessageStatusTypes, vw } from '../../../utils/utils';
24
+ import { MessageStatusTypes } from '../../../utils/utils';
24
25
 
25
26
  const styles = StyleSheet.create({
26
27
  containerInner: {
@@ -164,6 +165,7 @@ const MessageContentWithContext = <
164
165
  },
165
166
  },
166
167
  } = useTheme();
168
+ const { vw } = useViewport();
167
169
 
168
170
  const getDateText = (formatter?: (date: TDateTimeParserInput) => string) => {
169
171
  if (!message.created_at) return '';