@ethora/chat-component-rn 26.8.1 → 26.8.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 (927) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/README.md +70 -11
  3. package/lib/commonjs/assets/EmptyChatIllustration.js +7 -6
  4. package/lib/commonjs/assets/EmptyChatIllustration.js.map +1 -1
  5. package/lib/commonjs/assets/icons.js +7 -2
  6. package/lib/commonjs/assets/icons.js.map +1 -1
  7. package/lib/commonjs/components/AuthForms/Login.js +27 -12
  8. package/lib/commonjs/components/AuthForms/Login.js.map +1 -1
  9. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +12 -4
  10. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  11. package/lib/commonjs/components/DropdownMenu/DropdownMenu.js +16 -9
  12. package/lib/commonjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  13. package/lib/commonjs/components/ExampleComponents/CustomMessage.js +25 -7
  14. package/lib/commonjs/components/ExampleComponents/CustomMessage.js.map +1 -1
  15. package/lib/commonjs/components/ExampleComponents/CustomTypingIndicatorExamples.js +18 -6
  16. package/lib/commonjs/components/ExampleComponents/CustomTypingIndicatorExamples.js.map +1 -1
  17. package/lib/commonjs/components/Header/HeaderRoomList.js +34 -10
  18. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  19. package/lib/commonjs/components/InputComponents/Search.js +13 -4
  20. package/lib/commonjs/components/InputComponents/Search.js.map +1 -1
  21. package/lib/commonjs/components/MainComponents/ChatHeader.js +18 -6
  22. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  23. package/lib/commonjs/components/MainComponents/ChatRoom.js +154 -15
  24. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  25. package/lib/commonjs/components/MainComponents/ChatWrapper.js +42 -19
  26. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  27. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js +37 -10
  28. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  29. package/lib/commonjs/components/MainComponents/LoginWrapper.js +2 -1
  30. package/lib/commonjs/components/MainComponents/LoginWrapper.js.map +1 -1
  31. package/lib/commonjs/components/MainComponents/MediaMessage.js +72 -28
  32. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  33. package/lib/commonjs/components/MainComponents/MessageContainer.js +5 -1
  34. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  35. package/lib/commonjs/components/MainComponents/MessageList.js +22 -8
  36. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  37. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +14 -13
  38. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  39. package/lib/commonjs/components/MainComponents/RNStyled.js +12 -4
  40. package/lib/commonjs/components/MainComponents/RNStyled.js.map +1 -1
  41. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +25 -8
  42. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  43. package/lib/commonjs/components/MainComponents/RoomList.js +214 -38
  44. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  45. package/lib/commonjs/components/MainComponents/Select.js +29 -8
  46. package/lib/commonjs/components/MainComponents/Select.js.map +1 -1
  47. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +329 -99
  48. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  49. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js +24 -8
  50. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  51. package/lib/commonjs/components/MessageBubble/Message.js +46 -24
  52. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  53. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +15 -4
  54. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  55. package/lib/commonjs/components/MessageBubble/MessageReaction.js +10 -5
  56. package/lib/commonjs/components/MessageBubble/MessageReaction.js.map +1 -1
  57. package/lib/commonjs/components/Modals/AddMembersModal/AddMembersModal.js +1 -5
  58. package/lib/commonjs/components/Modals/AddMembersModal/AddMembersModal.js.map +1 -1
  59. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +345 -118
  60. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  61. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +599 -203
  62. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  63. package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js +5 -7
  64. package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  65. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +230 -0
  66. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  67. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +89 -36
  68. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  69. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +2 -1
  70. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  71. package/lib/commonjs/components/Modals/Modal/Modal.js +8 -0
  72. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  73. package/lib/commonjs/components/Modals/ModalHeaderComponent.js +8 -2
  74. package/lib/commonjs/components/Modals/ModalHeaderComponent.js.map +1 -1
  75. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +8 -8
  76. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  77. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +3 -6
  78. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  79. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +205 -106
  80. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  81. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
  82. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  83. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +563 -0
  84. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  85. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +215 -0
  86. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  87. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +7 -9
  88. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  89. package/lib/commonjs/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js +8 -6
  90. package/lib/commonjs/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js.map +1 -1
  91. package/lib/commonjs/components/Modals/SettingsModals/Referrals/Referrals.js +7 -2
  92. package/lib/commonjs/components/Modals/SettingsModals/Referrals/Referrals.js.map +1 -1
  93. package/lib/commonjs/components/Modals/SettingsModals/SharedStyledComponents.js +7 -3
  94. package/lib/commonjs/components/Modals/SettingsModals/SharedStyledComponents.js.map +1 -1
  95. package/lib/commonjs/components/Modals/SettingsModals/Visibility/RadioInput.js +10 -6
  96. package/lib/commonjs/components/Modals/SettingsModals/Visibility/RadioInput.js.map +1 -1
  97. package/lib/commonjs/components/Modals/SettingsModals/Visibility/VisibilityModal.js +7 -6
  98. package/lib/commonjs/components/Modals/SettingsModals/Visibility/VisibilityModal.js.map +1 -1
  99. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +10 -22
  100. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  101. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +510 -244
  102. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  103. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +77 -46
  104. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  105. package/lib/commonjs/components/Modals/styledModalComponents.js +68 -17
  106. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  107. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +30 -10
  108. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  109. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +6 -2
  110. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  111. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +22 -3
  112. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  113. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +17 -3
  114. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  115. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +17 -3
  116. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  117. package/lib/commonjs/components/RoomComponents/styled/StyledRoomComponents.js +6 -0
  118. package/lib/commonjs/components/RoomComponents/styled/StyledRoomComponents.js.map +1 -1
  119. package/lib/commonjs/components/Thread/ThreadWrapper.js +9 -2
  120. package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
  121. package/lib/commonjs/components/Toast/Toast.js +3 -1
  122. package/lib/commonjs/components/Toast/Toast.js.map +1 -1
  123. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +6 -3
  124. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  125. package/lib/commonjs/components/styled/AudioMessage.js +18 -12
  126. package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
  127. package/lib/commonjs/components/styled/Button.js +18 -9
  128. package/lib/commonjs/components/styled/Button.js.map +1 -1
  129. package/lib/commonjs/components/styled/DateLabel.js +8 -5
  130. package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
  131. package/lib/commonjs/components/styled/MediaModal.js +27 -21
  132. package/lib/commonjs/components/styled/MediaModal.js.map +1 -1
  133. package/lib/commonjs/components/styled/MessageImage.js +37 -9
  134. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  135. package/lib/commonjs/components/styled/RoomListComponents/index.js +60 -38
  136. package/lib/commonjs/components/styled/RoomListComponents/index.js.map +1 -1
  137. package/lib/commonjs/components/styled/SendInput.js +93 -19
  138. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  139. package/lib/commonjs/components/styled/StyledComponents.js +75 -25
  140. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  141. package/lib/commonjs/components/styled/StyledInput.js +32 -18
  142. package/lib/commonjs/components/styled/StyledInput.js.map +1 -1
  143. package/lib/commonjs/components/styled/StyledInputComponents/CustomTypingIndicator.js +13 -8
  144. package/lib/commonjs/components/styled/StyledInputComponents/CustomTypingIndicator.js.map +1 -1
  145. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +20 -9
  146. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  147. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +50 -22
  148. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  149. package/lib/commonjs/components/styled/TreadLabel.js +6 -3
  150. package/lib/commonjs/components/styled/TreadLabel.js.map +1 -1
  151. package/lib/commonjs/components/styled/UnsupportedType.js +14 -4
  152. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  153. package/lib/commonjs/components/styled/VideoMessage.js +119 -61
  154. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  155. package/lib/commonjs/context/MessageNotificationContext.js +14 -3
  156. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  157. package/lib/commonjs/context/xmppProvider.js +184 -59
  158. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  159. package/lib/commonjs/helpers/createMessageFromXml.js +19 -1
  160. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  161. package/lib/commonjs/helpers/ensureScopedChatCache.js +2 -2
  162. package/lib/commonjs/helpers/ensureScopedChatCache.js.map +1 -1
  163. package/lib/commonjs/helpers/getChatBackground.js +26 -0
  164. package/lib/commonjs/helpers/getChatBackground.js.map +1 -0
  165. package/lib/commonjs/helpers/getDateLabelColor.js +3 -1
  166. package/lib/commonjs/helpers/getDateLabelColor.js.map +1 -1
  167. package/lib/commonjs/helpers/getDisplayFileName.js +79 -0
  168. package/lib/commonjs/helpers/getDisplayFileName.js.map +1 -0
  169. package/lib/commonjs/helpers/getIconColor.js +4 -1
  170. package/lib/commonjs/helpers/getIconColor.js.map +1 -1
  171. package/lib/commonjs/helpers/getSenderNameColor.js +3 -1
  172. package/lib/commonjs/helpers/getSenderNameColor.js.map +1 -1
  173. package/lib/commonjs/helpers/getServerReadTimestamp.js +188 -0
  174. package/lib/commonjs/helpers/getServerReadTimestamp.js.map +1 -0
  175. package/lib/commonjs/helpers/historyPreloadScheduler.js +65 -2
  176. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  177. package/lib/commonjs/helpers/initXmppRooms.js +14 -8
  178. package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
  179. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +51 -9
  180. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  181. package/lib/commonjs/helpers/isOwnMessage.js +75 -0
  182. package/lib/commonjs/helpers/isOwnMessage.js.map +1 -0
  183. package/lib/commonjs/helpers/keyboardLayout.js +12 -2
  184. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
  185. package/lib/commonjs/helpers/markdownParser.js +27 -5
  186. package/lib/commonjs/helpers/markdownParser.js.map +1 -1
  187. package/lib/commonjs/helpers/mediaLibraryRuntime.js +31 -0
  188. package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +1 -0
  189. package/lib/commonjs/helpers/mimeToExtension.js +6 -14
  190. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  191. package/lib/commonjs/helpers/msgSortableMs.js +37 -0
  192. package/lib/commonjs/helpers/msgSortableMs.js.map +1 -0
  193. package/lib/commonjs/helpers/parseMessageBody.js +82 -24
  194. package/lib/commonjs/helpers/parseMessageBody.js.map +1 -1
  195. package/lib/commonjs/helpers/persistCrypto.js +122 -0
  196. package/lib/commonjs/helpers/persistCrypto.js.map +1 -0
  197. package/lib/commonjs/helpers/pickImageAsset.js +68 -0
  198. package/lib/commonjs/helpers/pickImageAsset.js.map +1 -0
  199. package/lib/commonjs/helpers/pushPayload.js +71 -0
  200. package/lib/commonjs/helpers/pushPayload.js.map +1 -0
  201. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +130 -17
  202. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  203. package/lib/commonjs/helpers/secureFileUrl.js +101 -0
  204. package/lib/commonjs/helpers/secureFileUrl.js.map +1 -0
  205. package/lib/commonjs/helpers/secureKeyValue.js +83 -0
  206. package/lib/commonjs/helpers/secureKeyValue.js.map +1 -0
  207. package/lib/commonjs/helpers/secureStoreRuntime.js +59 -0
  208. package/lib/commonjs/helpers/secureStoreRuntime.js.map +1 -0
  209. package/lib/commonjs/helpers/secureUserStorage.js +75 -0
  210. package/lib/commonjs/helpers/secureUserStorage.js.map +1 -0
  211. package/lib/commonjs/helpers/shallowEqual.js +36 -0
  212. package/lib/commonjs/helpers/shallowEqual.js.map +1 -0
  213. package/lib/commonjs/helpers/sheetGestures.js +32 -0
  214. package/lib/commonjs/helpers/sheetGestures.js.map +1 -0
  215. package/lib/commonjs/hooks/useChatRoomFocus.js +45 -12
  216. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
  217. package/lib/commonjs/hooks/useChatWrapperInit.js +30 -10
  218. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  219. package/lib/commonjs/hooks/useComposing.js +27 -0
  220. package/lib/commonjs/hooks/useComposing.js.map +1 -1
  221. package/lib/commonjs/hooks/useCustomTypingIndicator.js +7 -3
  222. package/lib/commonjs/hooks/useCustomTypingIndicator.js.map +1 -1
  223. package/lib/commonjs/hooks/useFileToken.js +10 -0
  224. package/lib/commonjs/hooks/useFileToken.js.map +1 -0
  225. package/lib/commonjs/hooks/useLogout.js +33 -10
  226. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  227. package/lib/commonjs/hooks/usePendingNotification.js +8 -11
  228. package/lib/commonjs/hooks/usePendingNotification.js.map +1 -1
  229. package/lib/commonjs/hooks/useSendMessage.js +50 -14
  230. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  231. package/lib/commonjs/hooks/useTheme.js +35 -0
  232. package/lib/commonjs/hooks/useTheme.js.map +1 -0
  233. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +6 -1
  234. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  235. package/lib/commonjs/i18n/strings.js +163 -37
  236. package/lib/commonjs/i18n/strings.js.map +1 -1
  237. package/lib/commonjs/main.js +119 -0
  238. package/lib/commonjs/main.js.map +1 -1
  239. package/lib/commonjs/networking/api-requests/auth.api.js +134 -60
  240. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  241. package/lib/commonjs/networking/api-requests/push.api.js +130 -45
  242. package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
  243. package/lib/commonjs/networking/api-requests/roomMembers.api.js +1 -1
  244. package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
  245. package/lib/commonjs/networking/api-requests/rooms.api.js +22 -9
  246. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  247. package/lib/commonjs/networking/api-requests/user.api.js +68 -9
  248. package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
  249. package/lib/commonjs/networking/apiClient.js +62 -112
  250. package/lib/commonjs/networking/apiClient.js.map +1 -1
  251. package/lib/commonjs/networking/authRefresh.js +332 -0
  252. package/lib/commonjs/networking/authRefresh.js.map +1 -0
  253. package/lib/commonjs/networking/stanzaHandlers.js +41 -28
  254. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  255. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +46 -8
  256. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  257. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +8 -1
  258. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  259. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
  260. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  261. package/lib/commonjs/networking/xmppClient.js +124 -8
  262. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  263. package/lib/commonjs/roomStore/chatSettingsSlice.js +26 -7
  264. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  265. package/lib/commonjs/roomStore/index.js +35 -2
  266. package/lib/commonjs/roomStore/index.js.map +1 -1
  267. package/lib/commonjs/roomStore/persistence.js +226 -23
  268. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  269. package/lib/commonjs/roomStore/roomsSlice.js +151 -38
  270. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  271. package/lib/commonjs/services/pushRegistration.js +250 -0
  272. package/lib/commonjs/services/pushRegistration.js.map +1 -0
  273. package/lib/commonjs/services/pushSubscriptionService.js +15 -37
  274. package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
  275. package/lib/commonjs/theme/index.js +38 -0
  276. package/lib/commonjs/theme/index.js.map +1 -0
  277. package/lib/commonjs/theme/styled.d.js +4 -0
  278. package/lib/commonjs/theme/styled.d.js.map +1 -0
  279. package/lib/commonjs/theme/theme.js +137 -0
  280. package/lib/commonjs/theme/theme.js.map +1 -0
  281. package/lib/commonjs/version.js +1 -1
  282. package/lib/module/assets/EmptyChatIllustration.js +7 -6
  283. package/lib/module/assets/EmptyChatIllustration.js.map +1 -1
  284. package/lib/module/assets/icons.js +6 -1
  285. package/lib/module/assets/icons.js.map +1 -1
  286. package/lib/module/components/AuthForms/Login.js +27 -12
  287. package/lib/module/components/AuthForms/Login.js.map +1 -1
  288. package/lib/module/components/ContextMenu/ContextMenuComponents.js +12 -4
  289. package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  290. package/lib/module/components/DropdownMenu/DropdownMenu.js +16 -9
  291. package/lib/module/components/DropdownMenu/DropdownMenu.js.map +1 -1
  292. package/lib/module/components/ExampleComponents/CustomMessage.js +25 -7
  293. package/lib/module/components/ExampleComponents/CustomMessage.js.map +1 -1
  294. package/lib/module/components/ExampleComponents/CustomTypingIndicatorExamples.js +18 -6
  295. package/lib/module/components/ExampleComponents/CustomTypingIndicatorExamples.js.map +1 -1
  296. package/lib/module/components/Header/HeaderRoomList.js +34 -10
  297. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  298. package/lib/module/components/InputComponents/Search.js +13 -4
  299. package/lib/module/components/InputComponents/Search.js.map +1 -1
  300. package/lib/module/components/MainComponents/ChatHeader.js +18 -6
  301. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  302. package/lib/module/components/MainComponents/ChatRoom.js +156 -17
  303. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  304. package/lib/module/components/MainComponents/ChatWrapper.js +43 -20
  305. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  306. package/lib/module/components/MainComponents/LanguageSelectorModal.js +37 -10
  307. package/lib/module/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  308. package/lib/module/components/MainComponents/LoginWrapper.js +2 -1
  309. package/lib/module/components/MainComponents/LoginWrapper.js.map +1 -1
  310. package/lib/module/components/MainComponents/MediaMessage.js +72 -29
  311. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  312. package/lib/module/components/MainComponents/MessageContainer.js +5 -1
  313. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  314. package/lib/module/components/MainComponents/MessageList.js +22 -8
  315. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  316. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +14 -13
  317. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  318. package/lib/module/components/MainComponents/RNStyled.js +12 -4
  319. package/lib/module/components/MainComponents/RNStyled.js.map +1 -1
  320. package/lib/module/components/MainComponents/ReduxWrapper.js +25 -8
  321. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  322. package/lib/module/components/MainComponents/RoomList.js +213 -38
  323. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  324. package/lib/module/components/MainComponents/Select.js +29 -8
  325. package/lib/module/components/MainComponents/Select.js.map +1 -1
  326. package/lib/module/components/Menu/HeaderRoomListMenu.js +331 -102
  327. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  328. package/lib/module/components/MessageBubble/BottomReplyContainer.js +24 -8
  329. package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  330. package/lib/module/components/MessageBubble/Message.js +47 -25
  331. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  332. package/lib/module/components/MessageBubble/MessageInteractions.js +15 -4
  333. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  334. package/lib/module/components/MessageBubble/MessageReaction.js +10 -5
  335. package/lib/module/components/MessageBubble/MessageReaction.js.map +1 -1
  336. package/lib/module/components/Modals/AddMembersModal/AddMembersModal.js +2 -6
  337. package/lib/module/components/Modals/AddMembersModal/AddMembersModal.js.map +1 -1
  338. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +336 -121
  339. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  340. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +603 -208
  341. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  342. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js +6 -8
  343. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  344. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +225 -0
  345. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  346. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +90 -37
  347. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  348. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +2 -1
  349. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  350. package/lib/module/components/Modals/Modal/Modal.js +9 -1
  351. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  352. package/lib/module/components/Modals/ModalHeaderComponent.js +8 -2
  353. package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
  354. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +10 -10
  355. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  356. package/lib/module/components/Modals/NewChatModal/ModalContent.js +4 -7
  357. package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  358. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +208 -108
  359. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  360. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
  361. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  362. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +555 -0
  363. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  364. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +210 -0
  365. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  366. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +8 -10
  367. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  368. package/lib/module/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js +8 -6
  369. package/lib/module/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js.map +1 -1
  370. package/lib/module/components/Modals/SettingsModals/Referrals/Referrals.js +7 -2
  371. package/lib/module/components/Modals/SettingsModals/Referrals/Referrals.js.map +1 -1
  372. package/lib/module/components/Modals/SettingsModals/SharedStyledComponents.js +7 -3
  373. package/lib/module/components/Modals/SettingsModals/SharedStyledComponents.js.map +1 -1
  374. package/lib/module/components/Modals/SettingsModals/Visibility/RadioInput.js +10 -6
  375. package/lib/module/components/Modals/SettingsModals/Visibility/RadioInput.js.map +1 -1
  376. package/lib/module/components/Modals/SettingsModals/Visibility/VisibilityModal.js +7 -6
  377. package/lib/module/components/Modals/SettingsModals/Visibility/VisibilityModal.js.map +1 -1
  378. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +11 -24
  379. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  380. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +512 -248
  381. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  382. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +79 -48
  383. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  384. package/lib/module/components/Modals/styledModalComponents.js +67 -16
  385. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  386. package/lib/module/components/RoomComponents/ChatRoomItem.js +30 -10
  387. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  388. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +6 -2
  389. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  390. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +22 -3
  391. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  392. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +17 -3
  393. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  394. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +17 -3
  395. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  396. package/lib/module/components/RoomComponents/styled/StyledRoomComponents.js +6 -0
  397. package/lib/module/components/RoomComponents/styled/StyledRoomComponents.js.map +1 -1
  398. package/lib/module/components/Thread/ThreadWrapper.js +9 -2
  399. package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
  400. package/lib/module/components/Toast/Toast.js +3 -1
  401. package/lib/module/components/Toast/Toast.js.map +1 -1
  402. package/lib/module/components/VideoCalls/VideoCallSession.js +6 -3
  403. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  404. package/lib/module/components/styled/AudioMessage.js +18 -12
  405. package/lib/module/components/styled/AudioMessage.js.map +1 -1
  406. package/lib/module/components/styled/Button.js +17 -9
  407. package/lib/module/components/styled/Button.js.map +1 -1
  408. package/lib/module/components/styled/DateLabel.js +8 -5
  409. package/lib/module/components/styled/DateLabel.js.map +1 -1
  410. package/lib/module/components/styled/MediaModal.js +29 -23
  411. package/lib/module/components/styled/MediaModal.js.map +1 -1
  412. package/lib/module/components/styled/MessageImage.js +37 -9
  413. package/lib/module/components/styled/MessageImage.js.map +1 -1
  414. package/lib/module/components/styled/RoomListComponents/index.js +62 -39
  415. package/lib/module/components/styled/RoomListComponents/index.js.map +1 -1
  416. package/lib/module/components/styled/SendInput.js +94 -20
  417. package/lib/module/components/styled/SendInput.js.map +1 -1
  418. package/lib/module/components/styled/StyledComponents.js +75 -25
  419. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  420. package/lib/module/components/styled/StyledInput.js +32 -18
  421. package/lib/module/components/styled/StyledInput.js.map +1 -1
  422. package/lib/module/components/styled/StyledInputComponents/CustomTypingIndicator.js +13 -8
  423. package/lib/module/components/styled/StyledInputComponents/CustomTypingIndicator.js.map +1 -1
  424. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +20 -9
  425. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  426. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +50 -22
  427. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  428. package/lib/module/components/styled/TreadLabel.js +6 -3
  429. package/lib/module/components/styled/TreadLabel.js.map +1 -1
  430. package/lib/module/components/styled/UnsupportedType.js +14 -4
  431. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  432. package/lib/module/components/styled/VideoMessage.js +120 -62
  433. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  434. package/lib/module/context/MessageNotificationContext.js +14 -3
  435. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  436. package/lib/module/context/xmppProvider.js +184 -60
  437. package/lib/module/context/xmppProvider.js.map +1 -1
  438. package/lib/module/helpers/createMessageFromXml.js +19 -1
  439. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  440. package/lib/module/helpers/ensureScopedChatCache.js +2 -2
  441. package/lib/module/helpers/ensureScopedChatCache.js.map +1 -1
  442. package/lib/module/helpers/getChatBackground.js +22 -0
  443. package/lib/module/helpers/getChatBackground.js.map +1 -0
  444. package/lib/module/helpers/getDateLabelColor.js +4 -1
  445. package/lib/module/helpers/getDateLabelColor.js.map +1 -1
  446. package/lib/module/helpers/getDisplayFileName.js +73 -0
  447. package/lib/module/helpers/getDisplayFileName.js.map +1 -0
  448. package/lib/module/helpers/getIconColor.js +5 -1
  449. package/lib/module/helpers/getIconColor.js.map +1 -1
  450. package/lib/module/helpers/getSenderNameColor.js +4 -1
  451. package/lib/module/helpers/getSenderNameColor.js.map +1 -1
  452. package/lib/module/helpers/getServerReadTimestamp.js +181 -0
  453. package/lib/module/helpers/getServerReadTimestamp.js.map +1 -0
  454. package/lib/module/helpers/historyPreloadScheduler.js +66 -3
  455. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  456. package/lib/module/helpers/initXmppRooms.js +14 -8
  457. package/lib/module/helpers/initXmppRooms.js.map +1 -1
  458. package/lib/module/helpers/insertMessageWithDelimiter.js +52 -9
  459. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  460. package/lib/module/helpers/isOwnMessage.js +70 -0
  461. package/lib/module/helpers/isOwnMessage.js.map +1 -0
  462. package/lib/module/helpers/keyboardLayout.js +12 -2
  463. package/lib/module/helpers/keyboardLayout.js.map +1 -1
  464. package/lib/module/helpers/markdownParser.js +27 -5
  465. package/lib/module/helpers/markdownParser.js.map +1 -1
  466. package/lib/module/helpers/mediaLibraryRuntime.js +25 -0
  467. package/lib/module/helpers/mediaLibraryRuntime.js.map +1 -0
  468. package/lib/module/helpers/mimeToExtension.js +6 -13
  469. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  470. package/lib/module/helpers/msgSortableMs.js +32 -0
  471. package/lib/module/helpers/msgSortableMs.js.map +1 -0
  472. package/lib/module/helpers/parseMessageBody.js +82 -24
  473. package/lib/module/helpers/parseMessageBody.js.map +1 -1
  474. package/lib/module/helpers/persistCrypto.js +115 -0
  475. package/lib/module/helpers/persistCrypto.js.map +1 -0
  476. package/lib/module/helpers/pickImageAsset.js +63 -0
  477. package/lib/module/helpers/pickImageAsset.js.map +1 -0
  478. package/lib/module/helpers/pushPayload.js +63 -0
  479. package/lib/module/helpers/pushPayload.js.map +1 -0
  480. package/lib/module/helpers/resolveInitBeforeLoadUser.js +130 -16
  481. package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  482. package/lib/module/helpers/secureFileUrl.js +91 -0
  483. package/lib/module/helpers/secureFileUrl.js.map +1 -0
  484. package/lib/module/helpers/secureKeyValue.js +75 -0
  485. package/lib/module/helpers/secureKeyValue.js.map +1 -0
  486. package/lib/module/helpers/secureStoreRuntime.js +52 -0
  487. package/lib/module/helpers/secureStoreRuntime.js.map +1 -0
  488. package/lib/module/helpers/secureUserStorage.js +72 -0
  489. package/lib/module/helpers/secureUserStorage.js.map +1 -0
  490. package/lib/module/helpers/shallowEqual.js +31 -0
  491. package/lib/module/helpers/shallowEqual.js.map +1 -0
  492. package/lib/module/helpers/sheetGestures.js +26 -0
  493. package/lib/module/helpers/sheetGestures.js.map +1 -0
  494. package/lib/module/hooks/useChatRoomFocus.js +46 -13
  495. package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
  496. package/lib/module/hooks/useChatWrapperInit.js +30 -10
  497. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  498. package/lib/module/hooks/useComposing.js +28 -1
  499. package/lib/module/hooks/useComposing.js.map +1 -1
  500. package/lib/module/hooks/useCustomTypingIndicator.js +8 -3
  501. package/lib/module/hooks/useCustomTypingIndicator.js.map +1 -1
  502. package/lib/module/hooks/useFileToken.js +5 -0
  503. package/lib/module/hooks/useFileToken.js.map +1 -0
  504. package/lib/module/hooks/useLogout.js +33 -10
  505. package/lib/module/hooks/useLogout.js.map +1 -1
  506. package/lib/module/hooks/usePendingNotification.js +8 -11
  507. package/lib/module/hooks/usePendingNotification.js.map +1 -1
  508. package/lib/module/hooks/useSendMessage.js +52 -16
  509. package/lib/module/hooks/useSendMessage.js.map +1 -1
  510. package/lib/module/hooks/useTheme.js +30 -0
  511. package/lib/module/hooks/useTheme.js.map +1 -0
  512. package/lib/module/hooks/useUnreadMessagesCounter.js +6 -1
  513. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  514. package/lib/module/i18n/strings.js +163 -37
  515. package/lib/module/i18n/strings.js.map +1 -1
  516. package/lib/module/main.js +17 -2
  517. package/lib/module/main.js.map +1 -1
  518. package/lib/module/networking/api-requests/auth.api.js +131 -59
  519. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  520. package/lib/module/networking/api-requests/push.api.js +119 -45
  521. package/lib/module/networking/api-requests/push.api.js.map +1 -1
  522. package/lib/module/networking/api-requests/roomMembers.api.js +1 -1
  523. package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
  524. package/lib/module/networking/api-requests/rooms.api.js +21 -9
  525. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  526. package/lib/module/networking/api-requests/user.api.js +64 -7
  527. package/lib/module/networking/api-requests/user.api.js.map +1 -1
  528. package/lib/module/networking/apiClient.js +61 -113
  529. package/lib/module/networking/apiClient.js.map +1 -1
  530. package/lib/module/networking/authRefresh.js +321 -0
  531. package/lib/module/networking/authRefresh.js.map +1 -0
  532. package/lib/module/networking/stanzaHandlers.js +41 -28
  533. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  534. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +46 -8
  535. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  536. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +8 -1
  537. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  538. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
  539. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  540. package/lib/module/networking/xmppClient.js +124 -8
  541. package/lib/module/networking/xmppClient.js.map +1 -1
  542. package/lib/module/roomStore/chatSettingsSlice.js +26 -7
  543. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  544. package/lib/module/roomStore/index.js +37 -4
  545. package/lib/module/roomStore/index.js.map +1 -1
  546. package/lib/module/roomStore/persistence.js +223 -22
  547. package/lib/module/roomStore/persistence.js.map +1 -1
  548. package/lib/module/roomStore/roomsSlice.js +139 -34
  549. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  550. package/lib/module/services/pushRegistration.js +239 -0
  551. package/lib/module/services/pushRegistration.js.map +1 -0
  552. package/lib/module/services/pushSubscriptionService.js +15 -37
  553. package/lib/module/services/pushSubscriptionService.js.map +1 -1
  554. package/lib/module/theme/index.js +7 -0
  555. package/lib/module/theme/index.js.map +1 -0
  556. package/lib/module/theme/styled.d.js +6 -0
  557. package/lib/module/theme/styled.d.js.map +1 -0
  558. package/lib/module/theme/theme.js +131 -0
  559. package/lib/module/theme/theme.js.map +1 -0
  560. package/lib/module/version.js +1 -1
  561. package/lib/typescript/assets/EmptyChatIllustration.d.ts +1 -0
  562. package/lib/typescript/assets/EmptyChatIllustration.d.ts.map +1 -1
  563. package/lib/typescript/assets/icons.d.ts +24 -0
  564. package/lib/typescript/assets/icons.d.ts.map +1 -1
  565. package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
  566. package/lib/typescript/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  567. package/lib/typescript/components/ExampleComponents/CustomMessage.d.ts.map +1 -1
  568. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  569. package/lib/typescript/components/InputComponents/Search.d.ts.map +1 -1
  570. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  571. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  572. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  573. package/lib/typescript/components/MainComponents/LanguageSelectorModal.d.ts.map +1 -1
  574. package/lib/typescript/components/MainComponents/LoginWrapper.d.ts.map +1 -1
  575. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  576. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  577. package/lib/typescript/components/MainComponents/MessageList.d.ts +10 -1
  578. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  579. package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
  580. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  581. package/lib/typescript/components/MainComponents/RoomList.d.ts +7 -0
  582. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  583. package/lib/typescript/components/MainComponents/Select.d.ts.map +1 -1
  584. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +3 -0
  585. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  586. package/lib/typescript/components/MessageBubble/BottomReplyContainer.d.ts.map +1 -1
  587. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  588. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  589. package/lib/typescript/components/MessageBubble/MessageReaction.d.ts.map +1 -1
  590. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +9 -0
  591. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  592. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +10 -0
  593. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  594. package/lib/typescript/components/Modals/ChatProfileModal/DeleteChatModal.d.ts.map +1 -1
  595. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +9 -0
  596. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -0
  597. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  598. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  599. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  600. package/lib/typescript/components/Modals/ModalHeaderComponent.d.ts.map +1 -1
  601. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
  602. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +4 -2
  603. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
  604. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
  605. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  606. package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
  607. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +75 -0
  608. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -0
  609. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +25 -0
  610. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -0
  611. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +6 -1
  612. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  613. package/lib/typescript/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.d.ts.map +1 -1
  614. package/lib/typescript/components/Modals/SettingsModals/Referrals/Referrals.d.ts.map +1 -1
  615. package/lib/typescript/components/Modals/SettingsModals/SharedStyledComponents.d.ts +2 -2
  616. package/lib/typescript/components/Modals/SettingsModals/SharedStyledComponents.d.ts.map +1 -1
  617. package/lib/typescript/components/Modals/SettingsModals/Visibility/RadioInput.d.ts.map +1 -1
  618. package/lib/typescript/components/Modals/SettingsModals/Visibility/VisibilityModal.d.ts.map +1 -1
  619. package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
  620. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +16 -0
  621. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  622. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +1 -0
  623. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  624. package/lib/typescript/components/Modals/styledModalComponents.d.ts +2 -0
  625. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  626. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  627. package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
  628. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
  629. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  630. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
  631. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  632. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
  633. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  634. package/lib/typescript/components/RoomComponents/styled/StyledRoomComponents.d.ts.map +1 -1
  635. package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
  636. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  637. package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
  638. package/lib/typescript/components/styled/Button.d.ts.map +1 -1
  639. package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
  640. package/lib/typescript/components/styled/MediaModal.d.ts +2 -2
  641. package/lib/typescript/components/styled/MediaModal.d.ts.map +1 -1
  642. package/lib/typescript/components/styled/MessageImage.d.ts +14 -0
  643. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  644. package/lib/typescript/components/styled/RoomListComponents/index.d.ts.map +1 -1
  645. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  646. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  647. package/lib/typescript/components/styled/StyledInput.d.ts.map +1 -1
  648. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
  649. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  650. package/lib/typescript/components/styled/TreadLabel.d.ts.map +1 -1
  651. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  652. package/lib/typescript/components/styled/VideoMessage.d.ts +8 -0
  653. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  654. package/lib/typescript/context/MessageNotificationContext.d.ts.map +1 -1
  655. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  656. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  657. package/lib/typescript/helpers/getAvatarColor.d.ts +1 -1
  658. package/lib/typescript/helpers/getChatBackground.d.ts +15 -0
  659. package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -0
  660. package/lib/typescript/helpers/getDateLabelColor.d.ts +3 -7
  661. package/lib/typescript/helpers/getDateLabelColor.d.ts.map +1 -1
  662. package/lib/typescript/helpers/getDisplayFileName.d.ts +49 -0
  663. package/lib/typescript/helpers/getDisplayFileName.d.ts.map +1 -0
  664. package/lib/typescript/helpers/getIconColor.d.ts +4 -7
  665. package/lib/typescript/helpers/getIconColor.d.ts.map +1 -1
  666. package/lib/typescript/helpers/getSenderNameColor.d.ts +3 -7
  667. package/lib/typescript/helpers/getSenderNameColor.d.ts.map +1 -1
  668. package/lib/typescript/helpers/getServerReadTimestamp.d.ts +108 -0
  669. package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +1 -0
  670. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  671. package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
  672. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts +1 -1
  673. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  674. package/lib/typescript/helpers/isOwnMessage.d.ts +36 -0
  675. package/lib/typescript/helpers/isOwnMessage.d.ts.map +1 -0
  676. package/lib/typescript/helpers/keyboardLayout.d.ts +5 -1
  677. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
  678. package/lib/typescript/helpers/markdownParser.d.ts +8 -1
  679. package/lib/typescript/helpers/markdownParser.d.ts.map +1 -1
  680. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +3 -0
  681. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +1 -0
  682. package/lib/typescript/helpers/mimeToExtension.d.ts +0 -15
  683. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  684. package/lib/typescript/helpers/msgSortableMs.d.ts +2 -0
  685. package/lib/typescript/helpers/msgSortableMs.d.ts.map +1 -0
  686. package/lib/typescript/helpers/parseMessageBody.d.ts +8 -1
  687. package/lib/typescript/helpers/parseMessageBody.d.ts.map +1 -1
  688. package/lib/typescript/helpers/persistCrypto.d.ts +13 -0
  689. package/lib/typescript/helpers/persistCrypto.d.ts.map +1 -0
  690. package/lib/typescript/helpers/pickImageAsset.d.ts +27 -0
  691. package/lib/typescript/helpers/pickImageAsset.d.ts.map +1 -0
  692. package/lib/typescript/helpers/pushPayload.d.ts +7 -0
  693. package/lib/typescript/helpers/pushPayload.d.ts.map +1 -0
  694. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
  695. package/lib/typescript/helpers/secureFileUrl.d.ts +7 -0
  696. package/lib/typescript/helpers/secureFileUrl.d.ts.map +1 -0
  697. package/lib/typescript/helpers/secureKeyValue.d.ts +13 -0
  698. package/lib/typescript/helpers/secureKeyValue.d.ts.map +1 -0
  699. package/lib/typescript/helpers/secureStoreRuntime.d.ts +29 -0
  700. package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +1 -0
  701. package/lib/typescript/helpers/secureUserStorage.d.ts +23 -0
  702. package/lib/typescript/helpers/secureUserStorage.d.ts.map +1 -0
  703. package/lib/typescript/helpers/shallowEqual.d.ts +11 -0
  704. package/lib/typescript/helpers/shallowEqual.d.ts.map +1 -0
  705. package/lib/typescript/helpers/sheetGestures.d.ts +20 -0
  706. package/lib/typescript/helpers/sheetGestures.d.ts.map +1 -0
  707. package/lib/typescript/hooks/useChatRoomFocus.d.ts +4 -1
  708. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
  709. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  710. package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
  711. package/lib/typescript/hooks/useCustomTypingIndicator.d.ts +2 -0
  712. package/lib/typescript/hooks/useCustomTypingIndicator.d.ts.map +1 -1
  713. package/lib/typescript/hooks/useFileToken.d.ts +2 -0
  714. package/lib/typescript/hooks/useFileToken.d.ts.map +1 -0
  715. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  716. package/lib/typescript/hooks/usePendingNotification.d.ts.map +1 -1
  717. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  718. package/lib/typescript/hooks/useTheme.d.ts +16 -0
  719. package/lib/typescript/hooks/useTheme.d.ts.map +1 -0
  720. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +1 -0
  721. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  722. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  723. package/lib/typescript/main.d.ts +16 -2
  724. package/lib/typescript/main.d.ts.map +1 -1
  725. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -1
  726. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  727. package/lib/typescript/networking/api-requests/push.api.d.ts +46 -3
  728. package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
  729. package/lib/typescript/networking/api-requests/rooms.api.d.ts +1 -0
  730. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  731. package/lib/typescript/networking/api-requests/user.api.d.ts +27 -0
  732. package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
  733. package/lib/typescript/networking/apiClient.d.ts +12 -6
  734. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  735. package/lib/typescript/networking/authRefresh.d.ts +95 -0
  736. package/lib/typescript/networking/authRefresh.d.ts.map +1 -0
  737. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  738. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +10 -2
  739. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  740. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  741. package/lib/typescript/networking/xmpp/subscribeToRoomMessages.xmpp.d.ts.map +1 -1
  742. package/lib/typescript/networking/xmppClient.d.ts +14 -0
  743. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  744. package/lib/typescript/roomStore/chatSettingsSlice.d.ts +16 -0
  745. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  746. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  747. package/lib/typescript/roomStore/persistence.d.ts +18 -1
  748. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  749. package/lib/typescript/roomStore/roomsSlice.d.ts +43 -3
  750. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  751. package/lib/typescript/services/pushRegistration.d.ts +21 -0
  752. package/lib/typescript/services/pushRegistration.d.ts.map +1 -0
  753. package/lib/typescript/services/pushSubscriptionService.d.ts +1 -5
  754. package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
  755. package/lib/typescript/theme/index.d.ts +5 -0
  756. package/lib/typescript/theme/index.d.ts.map +1 -0
  757. package/lib/typescript/theme/theme.d.ts +113 -0
  758. package/lib/typescript/theme/theme.d.ts.map +1 -0
  759. package/lib/typescript/types/models/room.model.d.ts +1 -0
  760. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  761. package/lib/typescript/types/types.d.ts +70 -5
  762. package/lib/typescript/types/types.d.ts.map +1 -1
  763. package/lib/typescript/version.d.ts +1 -1
  764. package/package.json +41 -28
  765. package/src/assets/EmptyChatIllustration.tsx +7 -5
  766. package/src/assets/icons.tsx +72 -9
  767. package/src/components/AuthForms/Login.tsx +14 -12
  768. package/src/components/ContextMenu/ContextMenuComponents.tsx +4 -4
  769. package/src/components/DropdownMenu/DropdownMenu.tsx +14 -6
  770. package/src/components/ExampleComponents/CustomMessage.tsx +9 -8
  771. package/src/components/ExampleComponents/CustomTypingIndicatorExamples.tsx +6 -6
  772. package/src/components/Header/HeaderRoomList.tsx +35 -8
  773. package/src/components/InputComponents/Search.tsx +7 -4
  774. package/src/components/MainComponents/ChatHeader.tsx +18 -6
  775. package/src/components/MainComponents/ChatRoom.tsx +164 -15
  776. package/src/components/MainComponents/ChatWrapper.tsx +44 -26
  777. package/src/components/MainComponents/LanguageSelectorModal.tsx +33 -7
  778. package/src/components/MainComponents/LoginWrapper.tsx +1 -0
  779. package/src/components/MainComponents/MediaMessage.tsx +63 -26
  780. package/src/components/MainComponents/MessageContainer.tsx +5 -1
  781. package/src/components/MainComponents/MessageList.tsx +36 -7
  782. package/src/components/MainComponents/ProfileImagePlaceholder.tsx +21 -14
  783. package/src/components/MainComponents/RNStyled.tsx +4 -4
  784. package/src/components/MainComponents/ReduxWrapper.tsx +23 -7
  785. package/src/components/MainComponents/RoomList.tsx +243 -40
  786. package/src/components/MainComponents/Select.tsx +13 -8
  787. package/src/components/Menu/HeaderRoomListMenu.tsx +347 -77
  788. package/src/components/MessageBubble/BottomReplyContainer.tsx +16 -11
  789. package/src/components/MessageBubble/Message.tsx +48 -25
  790. package/src/components/MessageBubble/MessageInteractions.tsx +17 -4
  791. package/src/components/MessageBubble/MessageReaction.tsx +9 -4
  792. package/src/components/Modals/AddMembersModal/AddMembersModal.tsx +2 -2
  793. package/src/components/Modals/AttachSheet/AttachSheet.tsx +376 -106
  794. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +639 -283
  795. package/src/components/Modals/ChatProfileModal/DeleteChatModal.tsx +6 -4
  796. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +248 -0
  797. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +93 -47
  798. package/src/components/Modals/FilePreviewModal/PdfView.tsx +2 -1
  799. package/src/components/Modals/Modal/Modal.tsx +7 -0
  800. package/src/components/Modals/ModalHeaderComponent.tsx +9 -2
  801. package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +14 -6
  802. package/src/components/Modals/NewChatModal/ModalContent.tsx +8 -5
  803. package/src/components/Modals/NewChatModal/NewChatModal.tsx +223 -119
  804. package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +12 -1
  805. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +624 -0
  806. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +224 -0
  807. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +16 -7
  808. package/src/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.tsx +8 -6
  809. package/src/components/Modals/SettingsModals/Referrals/Referrals.tsx +5 -3
  810. package/src/components/Modals/SettingsModals/SharedStyledComponents.ts +4 -4
  811. package/src/components/Modals/SettingsModals/Visibility/RadioInput.tsx +9 -5
  812. package/src/components/Modals/SettingsModals/Visibility/VisibilityModal.tsx +7 -7
  813. package/src/components/Modals/UserProfileModal/EditUserModal.tsx +12 -26
  814. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +621 -307
  815. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +84 -58
  816. package/src/components/Modals/styledModalComponents.tsx +31 -16
  817. package/src/components/RoomComponents/ChatRoomItem.tsx +30 -6
  818. package/src/components/RoomComponents/styled/LastAudioMessage.tsx +4 -2
  819. package/src/components/RoomComponents/styled/LastMessageFile.tsx +28 -4
  820. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +18 -3
  821. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +18 -3
  822. package/src/components/RoomComponents/styled/StyledRoomComponents.ts +2 -0
  823. package/src/components/Thread/ThreadWrapper.tsx +6 -5
  824. package/src/components/Toast/Toast.tsx +1 -1
  825. package/src/components/VideoCalls/VideoCallSession.tsx +8 -3
  826. package/src/components/styled/AudioMessage.tsx +14 -10
  827. package/src/components/styled/Button.tsx +15 -8
  828. package/src/components/styled/DateLabel.tsx +7 -3
  829. package/src/components/styled/MediaModal.tsx +30 -25
  830. package/src/components/styled/MessageImage.tsx +53 -7
  831. package/src/components/styled/RoomListComponents/index.tsx +60 -35
  832. package/src/components/styled/SendInput.tsx +106 -20
  833. package/src/components/styled/StyledComponents.ts +38 -25
  834. package/src/components/styled/StyledInput.tsx +35 -21
  835. package/src/components/styled/StyledInputComponents/CustomTypingIndicator.tsx +8 -8
  836. package/src/components/styled/StyledInputComponents/MediaComponents.tsx +20 -7
  837. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +26 -23
  838. package/src/components/styled/TreadLabel.tsx +9 -3
  839. package/src/components/styled/UnsupportedType.tsx +14 -4
  840. package/src/components/styled/VideoMessage.tsx +131 -54
  841. package/src/context/MessageNotificationContext.tsx +18 -4
  842. package/src/context/xmppProvider.tsx +216 -57
  843. package/src/helpers/createMessageFromXml.ts +20 -1
  844. package/src/helpers/ensureScopedChatCache.ts +2 -2
  845. package/src/helpers/getChatBackground.ts +20 -0
  846. package/src/helpers/getDateLabelColor.ts +5 -3
  847. package/src/helpers/getDisplayFileName.ts +87 -0
  848. package/src/helpers/getIconColor.ts +6 -3
  849. package/src/helpers/getSenderNameColor.ts +5 -3
  850. package/src/helpers/getServerReadTimestamp.ts +197 -0
  851. package/src/helpers/historyPreloadScheduler.ts +80 -3
  852. package/src/helpers/initXmppRooms.tsx +14 -10
  853. package/src/helpers/insertMessageWithDelimiter.ts +55 -19
  854. package/src/helpers/isOwnMessage.ts +90 -0
  855. package/src/helpers/keyboardLayout.ts +23 -2
  856. package/src/helpers/markdownParser.tsx +29 -5
  857. package/src/helpers/mediaLibraryRuntime.ts +25 -0
  858. package/src/helpers/mimeToExtension.ts +6 -22
  859. package/src/helpers/msgSortableMs.ts +25 -0
  860. package/src/helpers/parseMessageBody.tsx +79 -26
  861. package/src/helpers/persistCrypto.ts +127 -0
  862. package/src/helpers/pickImageAsset.ts +68 -0
  863. package/src/helpers/pushPayload.ts +62 -0
  864. package/src/helpers/resolveInitBeforeLoadUser.ts +125 -18
  865. package/src/helpers/secureFileUrl.ts +103 -0
  866. package/src/helpers/secureKeyValue.ts +80 -0
  867. package/src/helpers/secureStoreRuntime.ts +62 -0
  868. package/src/helpers/secureUserStorage.ts +80 -0
  869. package/src/helpers/shallowEqual.ts +33 -0
  870. package/src/helpers/sheetGestures.ts +25 -0
  871. package/src/hooks/useChatRoomFocus.ts +49 -9
  872. package/src/hooks/useChatWrapperInit.ts +30 -10
  873. package/src/hooks/useComposing.tsx +37 -1
  874. package/src/hooks/useCustomTypingIndicator.tsx +7 -3
  875. package/src/hooks/useFileToken.ts +7 -0
  876. package/src/hooks/useLogout.tsx +39 -12
  877. package/src/hooks/usePendingNotification.ts +5 -11
  878. package/src/hooks/useSendMessage.tsx +60 -15
  879. package/src/hooks/useTheme.ts +41 -0
  880. package/src/hooks/useUnreadMessagesCounter.ts +11 -0
  881. package/src/i18n/strings.ts +163 -37
  882. package/src/main.ts +57 -2
  883. package/src/networking/api-requests/auth.api.ts +156 -48
  884. package/src/networking/api-requests/push.api.ts +185 -62
  885. package/src/networking/api-requests/roomMembers.api.ts +1 -1
  886. package/src/networking/api-requests/rooms.api.ts +18 -9
  887. package/src/networking/api-requests/user.api.ts +79 -7
  888. package/src/networking/apiClient.ts +68 -123
  889. package/src/networking/authRefresh.ts +451 -0
  890. package/src/networking/stanzaHandlers.ts +44 -28
  891. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +71 -10
  892. package/src/networking/xmpp/presenceInRoom.xmpp.ts +6 -1
  893. package/src/networking/xmpp/subscribeToRoomMessages.xmpp.ts +12 -1
  894. package/src/networking/xmppClient.ts +141 -9
  895. package/src/roomStore/chatSettingsSlice.ts +34 -10
  896. package/src/roomStore/index.ts +40 -4
  897. package/src/roomStore/persistence.ts +234 -24
  898. package/src/roomStore/roomsSlice.ts +161 -29
  899. package/src/services/pushRegistration.ts +356 -0
  900. package/src/services/pushSubscriptionService.ts +18 -47
  901. package/src/theme/index.ts +10 -0
  902. package/src/theme/styled.d.ts +9 -0
  903. package/src/theme/theme.ts +243 -0
  904. package/src/types/models/room.model.ts +1 -0
  905. package/src/types/types.ts +96 -5
  906. package/src/version.ts +1 -1
  907. package/lib/commonjs/context/PushNotificationProvider.js +0 -79
  908. package/lib/commonjs/context/PushNotificationProvider.js.map +0 -1
  909. package/lib/commonjs/hooks/usePushNotifications.js +0 -110
  910. package/lib/commonjs/hooks/usePushNotifications.js.map +0 -1
  911. package/lib/commonjs/services/pushNotifications.js +0 -143
  912. package/lib/commonjs/services/pushNotifications.js.map +0 -1
  913. package/lib/module/context/PushNotificationProvider.js +0 -79
  914. package/lib/module/context/PushNotificationProvider.js.map +0 -1
  915. package/lib/module/hooks/usePushNotifications.js +0 -106
  916. package/lib/module/hooks/usePushNotifications.js.map +0 -1
  917. package/lib/module/services/pushNotifications.js +0 -130
  918. package/lib/module/services/pushNotifications.js.map +0 -1
  919. package/lib/typescript/context/PushNotificationProvider.d.ts +0 -2
  920. package/lib/typescript/context/PushNotificationProvider.d.ts.map +0 -1
  921. package/lib/typescript/hooks/usePushNotifications.d.ts +0 -5
  922. package/lib/typescript/hooks/usePushNotifications.d.ts.map +0 -1
  923. package/lib/typescript/services/pushNotifications.d.ts +0 -10
  924. package/lib/typescript/services/pushNotifications.d.ts.map +0 -1
  925. package/src/context/PushNotificationProvider.tsx +0 -78
  926. package/src/hooks/usePushNotifications.ts +0 -131
  927. package/src/services/pushNotifications.ts +0 -170
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethora/chat-component-rn",
3
- "version": "26.8.1",
3
+ "version": "26.8.3",
4
4
  "description": "Drop-in XMPP chat component for React Native / Expo. <Chat config={...}/> and you're done.",
5
5
  "main": "index.js",
6
6
  "module": "lib/module/main.js",
@@ -48,6 +48,7 @@
48
48
  "@react-native-async-storage/async-storage": ">=1.21.0",
49
49
  "@react-native-community/netinfo": ">=11.0.0",
50
50
  "expo-audio": ">=1.0.0",
51
+ "expo-blur": ">=13.0.0",
51
52
  "expo-clipboard": ">=7.0.0",
52
53
  "expo-document-picker": ">=13.0.0",
53
54
  "expo-file-system": ">=19.0.0",
@@ -55,6 +56,7 @@
55
56
  "expo-image-manipulator": ">=13.0.0",
56
57
  "expo-image-picker": ">=16.0.0",
57
58
  "expo-media-library": ">=17.0.0",
59
+ "expo-secure-store": ">=13.0.0",
58
60
  "expo-video": ">=2.0.0",
59
61
  "react": ">=18.0.0",
60
62
  "react-native": ">=0.73.0",
@@ -92,6 +94,9 @@
92
94
  "expo-audio": {
93
95
  "optional": true
94
96
  },
97
+ "expo-blur": {
98
+ "optional": true
99
+ },
95
100
  "expo-clipboard": {
96
101
  "optional": true
97
102
  },
@@ -113,6 +118,9 @@
113
118
  "expo-media-library": {
114
119
  "optional": true
115
120
  },
121
+ "expo-secure-store": {
122
+ "optional": true
123
+ },
116
124
  "expo-video": {
117
125
  "optional": true
118
126
  }
@@ -139,8 +147,9 @@
139
147
  "@reduxjs/toolkit": "^2.5.0",
140
148
  "@xmpp/client": "^0.13.1",
141
149
  "axios": "^1.7.9",
150
+ "crypto-js": "^4.2.0",
142
151
  "js-sha256": "^0.11.0",
143
- "react-native-keyboard-controller": "^1.18.5",
152
+ "react-native-keyboard-controller": "^1.22.3",
144
153
  "react-native-webview": "^13.16.1",
145
154
  "react-redux": "^9.2.0",
146
155
  "styled-components": "^6.1.13"
@@ -149,44 +158,48 @@
149
158
  "@babel/core": "^7.25.2",
150
159
  "@babel/preset-env": "^7.25.3",
151
160
  "@babel/runtime": "^7.25.0",
152
- "@livekit/react-native": "2.7.6",
153
- "@livekit/react-native-webrtc": "125.0.11",
161
+ "@livekit/react-native": "2.12.0",
162
+ "@livekit/react-native-webrtc": "144.1.2",
154
163
  "@react-native-async-storage/async-storage": "2.2.0",
155
- "@react-native-community/netinfo": "11.4.1",
164
+ "@react-native-community/netinfo": "12.0.1",
165
+ "@react-native/eslint-config": "^0.86.2",
166
+ "@types/crypto-js": "^4.2.2",
156
167
  "@types/jest": "^29.5.12",
157
- "@types/react": "~19.1.0",
168
+ "@types/react": "~19.2.0",
158
169
  "@types/react-test-renderer": "^19.1.0",
159
170
  "babel-jest": "^29.6.3",
160
171
  "eslint": "^8.19.0",
161
- "eslint-config-expo": "~9.2.0",
162
- "expo": "~54.0.0",
163
- "expo-audio": "~1.1.1",
164
- "expo-build-properties": "^55.0.14",
165
- "expo-clipboard": "~8.0.8",
166
- "expo-document-picker": "~14.0.0",
167
- "expo-image-manipulator": "~14.0.0",
168
- "expo-image-picker": "~17.0.0",
169
- "expo-media-library": "~18.2.1",
170
- "expo-status-bar": "~3.0.0",
171
- "expo-video": "~3.0.16",
172
+ "eslint-config-expo": "~57.0.1",
173
+ "expo": "~57.0.0",
174
+ "expo-audio": "~57.0.3",
175
+ "expo-blur": "~57.0.2",
176
+ "expo-build-properties": "~57.0.10",
177
+ "expo-clipboard": "~57.0.1",
178
+ "expo-document-picker": "~57.0.1",
179
+ "expo-image-manipulator": "~57.0.9",
180
+ "expo-image-picker": "~57.0.9",
181
+ "expo-media-library": "~57.0.3",
182
+ "expo-secure-store": "~15.0.7",
183
+ "expo-status-bar": "~57.0.1",
184
+ "expo-video": "~57.0.2",
172
185
  "jest": "^29.6.3",
173
- "jest-expo": "~54.0.0",
174
- "livekit-client": "2.9.0",
186
+ "jest-expo": "~57.0.4",
187
+ "livekit-client": "2.21.0",
175
188
  "patch-package": "^8.0.1",
176
189
  "prettier": "2.8.8",
177
- "react": "19.1.0",
178
- "react-native": "0.81.5",
190
+ "react": "19.2.8",
191
+ "react-native": "0.86.2",
179
192
  "react-native-builder-bob": "^0.41.0",
180
193
  "react-native-callkeep": "4.3.16",
181
- "react-native-gesture-handler": "~2.28.0",
194
+ "react-native-gesture-handler": "~2.32.0",
182
195
  "react-native-get-random-values": "~1.11.0",
183
- "react-native-reanimated": "~4.1.0",
184
- "react-native-safe-area-context": "~5.6.0",
185
- "react-native-screens": "~4.16.0",
186
- "react-native-svg": "15.12.1",
187
- "react-native-worklets": "~0.5.0",
196
+ "react-native-reanimated": "~4.5.1",
197
+ "react-native-safe-area-context": "~5.7.0",
198
+ "react-native-screens": "~4.26.0",
199
+ "react-native-svg": "15.15.4",
200
+ "react-native-worklets": "~0.10.1",
188
201
  "react-qr-code": "^2.0.15",
189
- "react-test-renderer": "19.1.0",
202
+ "react-test-renderer": "19.2.8",
190
203
  "typescript": "~5.9.0"
191
204
  },
192
205
  "engines": {
@@ -6,6 +6,7 @@ interface EmptyChatIllustrationProps {
6
6
  height?: number;
7
7
  /** Accent colour for the highlighted parts of the drawing. */
8
8
  color?: string;
9
+ panelColor?: string;
9
10
  }
10
11
 
11
12
  // Vector replacement for the legacy raster empty-state PNG (auto-traced
@@ -15,14 +16,15 @@ export const EmptyChatIllustration: React.FC<EmptyChatIllustrationProps> = ({
15
16
  width = 240,
16
17
  height = 153,
17
18
  color = '#0052CD',
19
+ panelColor,
18
20
  }) => (
19
21
  <Svg viewBox="0 0 2481 1578" width={width} height={height} fill="none">
20
22
  <Path fill={color} d="M1711 206h493c.16 51.98.16 51.98 1 315 4.67-23.34 4.67-23.34 5.62-31.53.12-.99.24-1.98.37-2.99 1.28-11.1 2.05-22.23 2.77-33.37.33-4.96.67-9.92 1-14.87l.51-7.5c.7-10.42 1.45-20.83 2.23-31.25.18-2.48.37-4.97.55-7.46.11-1.5.22-3 .34-4.5.09-1.27.19-2.54.28-3.85.35-3.91.82-7.79 1.33-11.68 3.41 1.93 6.74 3.83 10 6l.48-3.92c3.67-28.04 3.67-28.04 13.52-36.08 5.73-3.29 10.94-3.89 17.3-2.5 5.81 1.71 10.53 4.13 13.92 9.39 7.28 13.63 2.91 29.13-1.22 43.11.46-.32.46-.32 2.81-1.94C2280 384 2280 384 2283 383c-1.08 17.11-2.51 34.18-4.06 51.25-.09 1.04-.19 2.09-.29 3.17-.89 9.86-1.78 19.72-2.69 29.57l-1.77 19.51c-.09 1.06-.19 2.13-.29 3.22-1.04 11.6-2 23.2-2.75 34.83-.06 1.01-.13 2.02-.2 3.07-.3 4.74-.59 9.49-.85 14.25-2.46 41.87-2.46 41.87-16.29 54.82-.82.8-1.65 1.6-2.5 2.43a269 269 0 0 1-11.15 10.21c-4 3.48-7.77 7.15-11.5 10.92-.66.65-1.31 1.31-1.99 1.98-2.06 2.07-4.11 4.14-6.17 6.21-1.41 1.41-2.82 2.82-4.23 4.24-3.42 3.44-6.85 6.88-10.27 10.32 7.2 4.47 14.39 8.91 21.81 13l2.3 1.27c6.86 3.76 13.8 7.31 20.83 10.72 2.12 1.04 4.23 2.1 6.33 3.15 12.6 6.24 25.62 11.08 38.84 15.82 3.65 1.31 7.27 2.67 10.89 4.04-3.12 2.08-5.29 2.71-8.91 3.59l-3.68.9c-1.32.32-2.65.63-3.98.95l-4.07.99c-3.58.88-7.15 1.74-10.73 2.6-5.72 1.38-11.45 2.78-17.17 4.17-2.01.49-4.01.97-6.01 1.45-1.21.29-2.42.59-3.67.89-1.07.26-2.14.52-3.24.78-2.54.68-2.54.68-4.54 1.68 16.02 24.43 32.15 48.79 48.54 72.97 5.61 8.27 11.19 16.54 16.46 25.03-2.54 2.58-4.95 4.84-8 6.81-.66.44-1.32.88-2 1.33-2.53 1.09-3.45.82-6-.14-1.39-1.5-1.39-1.5-2.66-3.47q-.72-1.11-1.47-2.25c-.53-.82-1.05-1.65-1.58-2.49-.56-.86-1.12-1.72-1.7-2.6-1.22-1.87-2.43-3.74-3.63-5.62-3.23-5.01-6.49-10-9.74-14.99-.67-1.03-1.34-2.06-2.04-3.13-7.25-11.13-14.67-22.14-22.12-33.14l-3.69-5.46c-1.67-2.47-3.34-4.93-5.01-7.4-3.48-5.13-6.93-10.29-10.36-15.45-7.04 8.56-13.56 17.48-20.11 26.42-1.91 2.61-3.84 5.22-5.77 7.82-.62.85-1.25 1.7-1.9 2.58l-3.6 4.86c-2.39 3.24-4.74 6.46-6.89 9.86L2186 773h-2l2-32h-475Z" />
21
- <Path fill="#f3f3f3" d="M1711 836h493v535h-493Z" />
22
- <Path fill="#f1f1f1" d="M1009 836h493v535h-493Z" />
23
- <Path fill="#f0f0f0" d="M307 836h493v535H307Z" />
24
- <Path fill="#f1f1f1" d="M1009 206h493v535h-493Z" />
25
- <Path fill="#f3f3f3" d="M307 206h493v535H307Z" />
23
+ <Path fill={panelColor ?? '#f3f3f3'} d="M1711 836h493v535h-493Z" />
24
+ <Path fill={panelColor ?? '#f1f1f1'} d="M1009 836h493v535h-493Z" />
25
+ <Path fill={panelColor ?? '#f0f0f0'} d="M307 836h493v535H307Z" />
26
+ <Path fill={panelColor ?? '#f1f1f1'} d="M1009 206h493v535h-493Z" />
27
+ <Path fill={panelColor ?? '#f3f3f3'} d="M307 206h493v535H307Z" />
26
28
  <Path fill="#e3ebf6" d="M1711 206h493c.04 26.42.04 26.42.25 160.12.04 16.71.07 33.41.11 50.62.02 20.35.02 20.35.02 29.87.01 6.67.02 13.33.04 20 .03 7.69.04 15.37.03 23.06 0 3.93.01 7.86.03 11.8.02 4.21.01 8.41 0 12.62.01 1.23.02 2.46.04 3.73-.05 6.36-.15 10.4-4.52 15.18-2.08 1.8-4.11 3.44-6.31 5.06-5.29 4.02-10.39 8.19-15.38 12.56-5.06 4.44-10.16 8.79-15.4 13.02q-3.27 2.655-6.51 5.34c-7.27 6.01-14.65 11.79-22.28 17.33-.77.57-1.55 1.14-2.36 1.73-.72.52-1.44 1.04-2.19 1.57-.64.47-1.28.93-1.94 1.4-1.63.99-1.63.99-3.63.99a7996 7996 0 0 1-24.36-71.91c-.7-2.07-1.39-4.14-2.08-6.22-13.77-41.08-13.77-41.08-15.68-56.43-.09-.6-.09-.6-.5-3.63-.75-5.63-1.44-11.25-2.05-16.89-4.45-40.68-15.71-89.85-48.88-117.2-12.27-9.81-25.53-16.81-40.45-21.72l-2.21-.83c-11.42-4.19-23.32-4.49-35.35-4.42-1.32-.01-2.64-.02-4-.02-8.02.01-15.59.62-23.44 2.27-.7.15-1.39.29-2.11.44-20.19 4.55-37.37 14.13-52.89 27.56-.52.39-.52.39-3.12 2.38-4.5 4.1-8.15 8.82-11.88 13.62-.67.86-1.35 1.71-2.04 2.6-29.12 38.46-31.96 81.46-27.99 127.76l.6 7.35c.53 6.39 1.06 12.77 1.6 19.15.87 10.25 1.72 20.5 2.56 30.75l.9 10.66.54 6.56c.09.98.17 1.95.26 2.95.52 6.42.66 12.78.57 19.22l-2.77-.06c-47.76-.95-47.76-.95-67.23 11.06-.77.4-1.55.81-2.34 1.22-10.73 6.42-15.63 24.2-18.66 35.52-1.05 4.22-2.03 8.46-3 12.7-.35 1.52-.71 3.04-1.06 4.57-2.53 10.95-4.91 21.93-6.94 32.99-.13.71-.26 1.43-.4 2.16-1.34 7.26-2.56 14.53-3.67 21.83-1.6 10.43-3.66 20.71-5.93 31.01l2.43.15c9.87.64 19.64 1.72 29.45 2.91l4.72.57c3.8.45 7.6.91 11.4 1.37.86 5.89 1 10.88 1 17h-58Z" />
27
29
  <Path fill="#929497" d="M1323 956c5.22 5.01 9.36 10.23 12 17 .36.91.71 1.82 1.08 2.75 1.05 3.72 1.26 7.17 1.23 11 0 .71-.01 1.41-.01 2.14-.22 9.48-2.86 16.07-8.09 23.88-1.21 2.23-1.21 2.23-1.21 6.23 1.8 1.87 1.8 1.87 4.31 3.88 20.26 17.48 33.73 44.36 40.38 69.81.2.75.4 1.5.61 2.28 3.67 14.76 3.99 29.94 3.9 45.07-.01 1.74-.01 3.49-.01 5.24-.01 4.52-.03 9.05-.05 13.58a6459 6459 0 0 0-.04 13.94c-.02 9.06-.06 18.13-.1 27.2h-20l2-25-12 25h-51l3 11v3c.85-.27 1.69-.53 2.56-.8l3.44-1.08c1.11-.34 2.23-.69 3.38-1.05.59-.18.59-.18 3.62-1.07.63-.19 1.26-.37 1.91-.57 5.07-1.4 9.83-1.76 15.09-1.74.74-.02 1.47-.03 2.23-.05 13.67-.01 26.58 3.92 39.27 8.61 1.36.5 2.73 1 4.09 1.5q3.96 1.455 7.92 2.94c2.88 1.08 5.77 2.13 8.66 3.17 9.85 3.7 15.53 9.03 21.83 17.14.92 1.13 1.83 2.26 2.75 3.38 8.7 10.85 11.86 17.67 11.68 31.58-.01 1.39-.01 2.78-.01 4.17-.01 3.68-.05 7.35-.09 11.03-.03 3.57-.04 7.15-.05 10.72-.12 23.06-.73 46.07-1.28 69.12h-342c0-75.07 0-75.07 16-93 .65-.74 1.31-1.48 1.98-2.24 11.7-12.39 26.58-21.89 41.02-30.76.62-.39 1.24-.77 1.88-1.17 18.69-11.54 37.49-15.55 59.12-14.83-.05-.28-.05-.28-.28-1.69-.41-2.58-.82-5.17-1.22-7.75-.14-.88-.29-1.75-.43-2.66-.14-.87-.27-1.75-.41-2.65-.07-.39-.07-.39-.38-2.39-.38-3.94-.28-7.91-.28-11.86h-26c0-10.12 0-10.12.44-14.04.09-.82.18-1.65.27-2.5.1-.84.19-1.67.29-2.52.1-.87.19-1.73.29-2.63.23-2.1.47-4.21.71-6.31-.39.81-.78 1.63-1.18 2.46-1.44 3.01-2.88 6.02-4.32 9.02-.62 1.3-1.25 2.61-1.87 3.91-.89 1.87-1.79 3.74-2.69 5.61-.54 1.12-1.08 2.25-1.63 3.41-1.31 2.59-1.31 2.59-2.31 3.59-2 .09-4 .11-6 .1-1.22-.01-2.43-.01-3.69-.01l-3.87-.03c-1.29 0-2.57-.01-3.89-.01-3.18-.01-6.37-.03-9.55-.05-.07-12.28-.12-24.57-.16-36.85-.01-5.71-.03-11.42-.07-17.12-.03-5.53-.05-11.05-.05-16.58-.01-2.09-.02-4.18-.04-6.27-.29-38.87 9.23-73.92 36.68-102.5 17.93-18.17 42.46-31.74 68.45-32.02 4.07.04 8.13.16 12.19.34.04-.48.04-.48.26-2.93 1.29-11.98 4.39-21.82 13.74-30.07C1284.67 943.27 1305.41 941.47 1323 956" />
28
30
  <Path fill="#6d6e70" d="M1266.323 353.996c15.96 13.18 27.13 28.22 35.68 47 .41.89.82 1.77 1.24 2.68 3.23 7.46 5.02 15.4 6.76 23.32.23 1.04.46 2.08.69 3.15 5.34 28.67-1.52 57.35-14.69 82.85.63-.04 1.26-.09 1.91-.14 15.68-.63 30.19 5.78 41.96 15.89 9.42 9.07 17.45 22.28 18.27 35.62.03 2.65.04 5.3.04 7.95.02.91.03 1.82.04 2.76.02 8.15-1.52 14.72-4.79 22.24-1.24 2.89-2.44 5.7-3.43 8.68.71.25 1.42.49 2.15.75 22.87 7.92 45.85 16.07 66.85 28.25.82.38 1.65.76 2.49 1.15 3.37 2.49 4.21 5.36 5.41 9.21.12.37.12.37.74 2.22.78 2.39 1.54 4.78 2.29 7.17.54 1.65 1.07 3.29 1.6 4.93 8.93 27.74 13.47 51.91 13.47 81.32h-343c0-9.31.4-18.09 1.31-27.31.12-1.3.24-2.6.36-3.93 2.76-28.49 2.76-28.49 8.95-34.16 1.12-.85 2.24-1.7 3.38-2.53 1.27-.97 2.55-1.94 3.82-2.91.34-.26.34-.26 2.06-1.55 2.91-2.21 5.79-4.46 8.67-6.72 8.73-6.82 17.53-13.56 26.34-20.28 2.12-1.61 4.24-3.23 6.35-4.85.71-.54 1.41-1.07 2.13-1.63q2.13-1.62 4.23-3.27c3.58-2.78 7.17-5.39 11-7.82 11.75-7.74 15.73-15.37 18.68-29.09.72-1.95.72-1.95 3.72-3.95 2.02-.51 2.02-.51 4.38-.9 23.63-4.24 49.27-10.92 69.62-24.1.98-.57 1.97-1.15 2.98-1.75 2.02-2.25 2.02-2.25 2.05-5.92-.93-4.73-2.72-9.09-4.6-13.51-.72-1.77-1.45-3.53-2.17-5.29l-1.13-2.75c-2.57-6.32-4.96-12.72-7.36-19.11-1.02-2.73-2.09-5.4-3.23-8.08-2.76-6.57-2.55-10.8-.54-17.59 4.29-16.71.74-36.39-7.78-51.05-2.58-4.12-5.28-8.09-8.22-11.95-.06.76-.12 1.52-.19 2.3-.08 1-.16 1.99-.25 3.02-.04.49-.04.49-.25 2.98-.31 2.7-.31 2.7-1.31 5.7-4.29-.51-8.55-1.07-12.82-1.75-34.72-5.48-58.39 2.43-87.18 21.75-1.31.99-2.62 1.97-3.93 2.96-1.01.68-2.03 1.35-3.07 2.04l-3-1c-.79-1.75-.79-1.75-1.35-4-.22-.8-.43-1.6-.64-2.43-.21-.85-.42-1.69-.64-2.57-.42-1.66-.85-3.33-1.29-5-.18-.74-.37-1.48-.56-2.25-.52-1.75-.52-1.75-1.52-2.75-.66 1.83-1.3 3.67-1.94 5.5-.36 1.02-.72 2.05-1.09 3.1-5.41 18.93-2.03 38.99 7.05 56.11 9.57 15.93 24.78 27.29 42.79 31.98.75.15 1.5.3 2.27.45 5.01 2.26 7 10.32 9.1 15.11.19.42.19.42 1.12 2.51 2.7 6.11 2.7 6.11 2.7 7.24-20.13 2-42.48-8.98-58-21-4.17-3.49-8.09-7.22-12-11-.73-.66-1.46-1.33-2.22-2.02-20-18.77-31.89-48.87-32.89-75.95-.06-3.42-.08-6.85-.08-10.28-.01-1.15-.02-2.3-.04-3.48-.05-32.92 15.07-62.52 37.66-85.77 38.99-36.81 100.78-39.86 142.89-6.5" />
@@ -271,18 +271,18 @@ export const NoMessages = ({
271
271
  </Svg>
272
272
  );
273
273
 
274
- export const ReportIcon = ({ color = '#8C8C8C', ...props }) => (
274
+ export const ReportIcon = ({ color = '#E53935', ...props }) => (
275
275
  <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
276
276
  <Path
277
277
  d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z"
278
- stroke="#E53935"
278
+ stroke={color}
279
279
  strokeWidth="1.5"
280
280
  strokeLinecap="round"
281
281
  strokeLinejoin="round"
282
282
  />
283
283
  <Path
284
284
  d="M12 7V13M12 16H12.01"
285
- stroke="#E53935"
285
+ stroke={color}
286
286
  strokeWidth="1.5"
287
287
  strokeLinecap="round"
288
288
  strokeLinejoin="round"
@@ -333,6 +333,26 @@ export const ReplyIcon = ({ color = '#8C8C8C', ...props }) => (
333
333
  </Svg>
334
334
  );
335
335
 
336
+ /**
337
+ * Classic "share" glyph — three nodes joined by two links — for the
338
+ * profile's Share button. `SendItemIcon`, which used to stand in here, is
339
+ * a textured item/token badge with a hardcoded blue outline: wrong shape,
340
+ * and it ignores the button's tint.
341
+ */
342
+ export const ShareIcon = ({ color = '#8C8C8C', width = 24, height = 24, ...props }) => (
343
+ <Svg width={width} height={height} viewBox="0 0 24 24" fill="none" {...props}>
344
+ <Circle cx="18" cy="5" r="3" stroke={color} strokeWidth="2" />
345
+ <Circle cx="6" cy="12" r="3" stroke={color} strokeWidth="2" />
346
+ <Circle cx="18" cy="19" r="3" stroke={color} strokeWidth="2" />
347
+ <Path
348
+ d="M8.59 13.51L15.42 17.49M15.41 6.51L8.59 10.49"
349
+ stroke={color}
350
+ strokeWidth="2"
351
+ strokeLinecap="round"
352
+ />
353
+ </Svg>
354
+ );
355
+
336
356
  export const SendItemIcon = ({ color = '#8C8C8C', ...props }) => (
337
357
  <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
338
358
  <Path
@@ -437,18 +457,42 @@ export const BurgerMenuIcon = ({ color = '#fff', ...props }) => (
437
457
  </Svg>
438
458
  );
439
459
 
440
- export const LeaveIcon = ({ color = '#fff', ...props }) => (
460
+ export const BellIcon = ({ color = '#141414', ...props }) => (
461
+ <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
462
+ <Path
463
+ d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9M13.73 21a2 2 0 0 1-3.46 0"
464
+ stroke={color}
465
+ strokeWidth="2"
466
+ strokeLinecap="round"
467
+ strokeLinejoin="round"
468
+ />
469
+ </Svg>
470
+ );
471
+
472
+ export const BellOffIcon = ({ color = '#141414', ...props }) => (
473
+ <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
474
+ <Path
475
+ d="M13.73 21a2 2 0 0 1-3.46 0M18.63 13A17.9 17.9 0 0 1 18 8M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14M18 8a6 6 0 0 0-9.33-5M1 1l22 22"
476
+ stroke={color}
477
+ strokeWidth="2"
478
+ strokeLinecap="round"
479
+ strokeLinejoin="round"
480
+ />
481
+ </Svg>
482
+ );
483
+
484
+ export const LeaveIcon = ({ color = '#E53935', ...props }) => (
441
485
  <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
442
486
  <Path
443
487
  d="M14 8V6C14 5.46957 13.7893 4.96086 13.4142 4.58579C13.0391 4.21071 12.5304 4 12 4H5C4.46957 4 3.96086 4.21071 3.58579 4.58579C3.21071 4.96086 3 5.46957 3 6V18C3 18.5304 3.21071 19.0391 3.58579 19.4142C3.96086 19.7893 4.46957 20 5 20H12C12.5304 20 13.0391 19.7893 13.4142 19.4142C13.7893 19.0391 14 18.5304 14 18V16"
444
- stroke="#E53935"
488
+ stroke={color}
445
489
  strokeWidth="2"
446
490
  strokeLinecap="round"
447
491
  strokeLinejoin="round"
448
492
  />
449
493
  <Path
450
494
  d="M9 12H21M21 12L18 9M21 12L18 15"
451
- stroke="#E53935"
495
+ stroke={color}
452
496
  strokeWidth="2"
453
497
  strokeLinecap="round"
454
498
  strokeLinejoin="round"
@@ -456,12 +500,12 @@ export const LeaveIcon = ({ color = '#fff', ...props }) => (
456
500
  </Svg>
457
501
  );
458
502
 
459
- export const BackIcon = ({ color = '#fff', ...props }) => (
503
+ export const BackIcon = ({ color = '#8C8C8C', ...props }) => (
460
504
  <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
461
- <Path d="M5 12H19H5ZM5 12L9 8L5 12ZM5 12L9 16L5 12Z" fill="#8C8C8C" />
505
+ <Path d="M5 12H19H5ZM5 12L9 8L5 12ZM5 12L9 16L5 12Z" fill={color} />
462
506
  <Path
463
507
  d="M5 12H19M5 12L9 8M5 12L9 16"
464
- stroke="#8C8C8C"
508
+ stroke={color}
465
509
  strokeWidth="2"
466
510
  strokeLinecap="round"
467
511
  strokeLinejoin="round"
@@ -578,6 +622,25 @@ export const SettingIcon = ({ color = '#8C8C8C', ...props }) => (
578
622
  </Svg>
579
623
  );
580
624
 
625
+ export const LogoutIcon = ({ color = '#8C8C8C', ...props }) => (
626
+ <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
627
+ <Path
628
+ d="M15 4H18C19.1046 4 20 4.89543 20 6V18C20 19.1046 19.1046 20 18 20H15"
629
+ stroke={color}
630
+ strokeWidth="2"
631
+ strokeLinecap="round"
632
+ strokeLinejoin="round"
633
+ />
634
+ <Path
635
+ d="M10 8L14 12L10 16M14 12H4"
636
+ stroke={color}
637
+ strokeWidth="2"
638
+ strokeLinecap="round"
639
+ strokeLinejoin="round"
640
+ />
641
+ </Svg>
642
+ );
643
+
581
644
  export const FileIcon = ({ width = 46, height = 46, ...props }) => (
582
645
  <Svg width={width} height={height} viewBox="0 0 40 40" fill="none">
583
646
  <Rect width="40" height="40" rx="8" fill="#F2E6F6" />
@@ -12,10 +12,10 @@ import {
12
12
  // signInWithGoogle,
13
13
  } from '../../networking/api-requests/auth.api';
14
14
  import { useDispatch } from 'react-redux';
15
- import { useLocalStorage } from '../../hooks/useLocalStorage';
15
+ import { secureUserStorage } from '../../helpers/secureUserStorage';
16
16
  import { setUser, unpackAndTransform } from '../../roomStore/chatSettingsSlice';
17
- import { localStorageConstants } from '../../helpers/constants/LOCAL_STORAGE';
18
17
  import { Text, TextInput, View } from 'react-native';
18
+ import { useTheme } from '../../hooks/useTheme';
19
19
 
20
20
  interface LoginFormProps {
21
21
  config?: IConfig;
@@ -23,7 +23,8 @@ interface LoginFormProps {
23
23
 
24
24
  const LoginForm: React.FC<LoginFormProps> = ({ config }) => {
25
25
  const dispatch = useDispatch();
26
- const { set } = useLocalStorage(localStorageConstants.ETHORA_USER);
26
+ const { set } = secureUserStorage();
27
+ const theme = useTheme();
27
28
 
28
29
  const [email, setEmail] = useState('');
29
30
  const [password, setPassword] = useState('');
@@ -64,6 +65,7 @@ const LoginForm: React.FC<LoginFormProps> = ({ config }) => {
64
65
  ...authData.data.user,
65
66
  token: authData.data.token,
66
67
  refreshToken: authData.data.refreshToken,
68
+ fileToken: (authData.data as any).fileToken || '',
67
69
  };
68
70
  dispatch(setUser(user));
69
71
 
@@ -205,9 +207,9 @@ const LoginForm: React.FC<LoginFormProps> = ({ config }) => {
205
207
  style={{
206
208
  width: '100%',
207
209
  height: 40,
208
- backgroundColor: config?.colors?.primary || '#0052CD',
210
+ backgroundColor: theme.primary,
209
211
  }}
210
- color="white"
212
+ color={theme.textOnPrimary}
211
213
  disabled={isLoading}
212
214
  loading={isLoading}
213
215
  />
@@ -223,11 +225,11 @@ const LoginForm: React.FC<LoginFormProps> = ({ config }) => {
223
225
  </>
224
226
  )}
225
227
  <View>
226
- <Text>Don't have an account? </Text>
228
+ <Text style={{ color: theme.text }}>Don't have an account? </Text>
227
229
  <Text
228
230
  style={{
229
231
  textDecorationLine: 'underline',
230
- color: '#0052CD',
232
+ color: theme.primary,
231
233
  fontSize: 14,
232
234
  display: 'flex',
233
235
  fontWeight: '400',
@@ -247,13 +249,13 @@ const FormContainer = styled.View`
247
249
  justify-content: center;
248
250
  align-items: center;
249
251
  width: 100%;
250
- background-color: #f5f5f5;
252
+ background-color: ${({ theme }) => theme.listBackground};
251
253
  `;
252
254
 
253
255
  const Form = styled.View`
254
256
  flex-direction: column;
255
257
  align-items: center;
256
- background-color: white;
258
+ background-color: ${({ theme }) => theme.surface};
257
259
  padding: 30px;
258
260
  border-radius: 8px;
259
261
  width: 300px;
@@ -261,7 +263,7 @@ const Form = styled.View`
261
263
  `;
262
264
 
263
265
  const ErrorMessage = styled.Text`
264
- color: red;
266
+ color: ${({ theme }) => theme.danger};
265
267
  font-size: 12px;
266
268
  margin-bottom: 10px;
267
269
  `;
@@ -271,7 +273,7 @@ const Delimiter = styled.Text`
271
273
  position: relative;
272
274
  width: 100%;
273
275
  font-size: 14px;
274
- color: #999;
276
+ color: ${({ theme }) => theme.textMuted};
275
277
 
276
278
  &::before,
277
279
  &::after {
@@ -280,7 +282,7 @@ const Delimiter = styled.Text`
280
282
  top: 50%;
281
283
  width: 45%;
282
284
  height: 1px;
283
- background: #ccc;
285
+ background: ${({ theme }) => theme.border};
284
286
  }
285
287
 
286
288
  &::before {
@@ -12,7 +12,7 @@ export const ReactionContainer = styled.View`
12
12
  gap: 8px;
13
13
  padding: 8px;
14
14
  justify-content: space-around;
15
- background-color: #ffffff;
15
+ background-color: ${({ theme }) => theme.surface};
16
16
  border-radius: 12px;
17
17
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
18
18
  `;
@@ -41,10 +41,10 @@ export const ArrowButton = styled.View<{ isRotated: boolean }>`
41
41
  export const ContextMenu = styled.View`
42
42
  position: absolute;
43
43
  z-index: 1000;
44
- background-color: white;
44
+ background-color: ${({ theme }) => theme.surface};
45
45
  border-radius: 8px;
46
46
  elevation: 4;
47
- shadow-color: #121219;
47
+ shadow-color: ${({ theme }) => theme.shadow};
48
48
  shadow-offset: 0px 4px;
49
49
  shadow-opacity: 0.1;
50
50
  shadow-radius: 6px;
@@ -79,7 +79,7 @@ export const Overlay = styled.Pressable`
79
79
  export const Delimeter = styled.View`
80
80
  height: 1px;
81
81
  align-self: stretch;
82
- background-color: #0052cd1f;
82
+ background-color: ${({ theme }) => theme.surfaceHighlight};
83
83
  margin-top: 4px;
84
84
  margin-bottom: 4px;
85
85
  `;
@@ -13,6 +13,7 @@ import { BurgerMenuIcon } from '../../assets/icons';
13
13
  import { IConfig } from '../../types/types';
14
14
  import Button from '../styled/Button';
15
15
  import { getIconColor } from '../../helpers/getIconColor';
16
+ import { useTheme } from '../../hooks/useTheme';
16
17
 
17
18
  const positionMenu = {
18
19
  right: { top: 95, right: 10 },
@@ -45,6 +46,7 @@ const DropdownMenu: React.FC<DropdownMenuProps> = ({
45
46
  config,
46
47
  onClose,
47
48
  }) => {
49
+ const theme = useTheme();
48
50
  const [isOpen, setIsOpen] = useState(false);
49
51
  const menuRef = useRef<View>(null);
50
52
 
@@ -119,7 +121,7 @@ const DropdownMenu: React.FC<DropdownMenuProps> = ({
119
121
  }}
120
122
  >
121
123
  <TouchableOpacity
122
- style={styles.overlay}
124
+ style={[styles.overlay, { backgroundColor: theme.overlay }]}
123
125
  activeOpacity={1}
124
126
  onPress={() => {
125
127
  setIsOpen(false);
@@ -134,9 +136,11 @@ const DropdownMenu: React.FC<DropdownMenuProps> = ({
134
136
  styles.menu,
135
137
  positionMenu[position],
136
138
  {
139
+ shadowColor: theme.shadow,
137
140
  opacity: fadeAnim,
138
141
  transform: [{ translateY: translateYAnim }],
139
142
  },
143
+ theme.dark && { backgroundColor: theme.surface },
140
144
  ]}
141
145
  >
142
146
  {options.map((option, index) => (
@@ -163,12 +167,19 @@ const DropdownMenu: React.FC<DropdownMenuProps> = ({
163
167
  >
164
168
  {option.icon}
165
169
  </View>
166
- <Text style={[styles.label, option?.styles]}>
170
+ <Text
171
+ style={[styles.label, { color: theme.text }, option?.styles]}
172
+ >
167
173
  {option.label}
168
174
  </Text>
169
175
  </TouchableOpacity>
170
176
  {index < options.length - 1 && (
171
- <View style={styles.divider} />
177
+ <View
178
+ style={[
179
+ styles.divider,
180
+ { backgroundColor: theme.surfaceHighlight },
181
+ ]}
182
+ />
172
183
  )}
173
184
  </View>
174
185
  ))}
@@ -193,7 +204,6 @@ const styles = StyleSheet.create({
193
204
  flex: 1,
194
205
  width: '100%',
195
206
  height: '100%',
196
- backgroundColor: 'rgba(0, 0, 0, 0.3)',
197
207
  },
198
208
  menuContainer: {
199
209
  flex: 1,
@@ -219,7 +229,6 @@ const styles = StyleSheet.create({
219
229
  minWidth: 150,
220
230
  zIndex: 1000,
221
231
  elevation: 10, // Android
222
- shadowColor: '#121219', // iOS
223
232
  shadowOffset: { width: 0, height: 4 },
224
233
  shadowOpacity: 0.3,
225
234
  shadowRadius: 6,
@@ -240,6 +249,5 @@ const styles = StyleSheet.create({
240
249
  divider: {
241
250
  height: 1,
242
251
  width: '100%',
243
- backgroundColor: '#0052cd0d',
244
252
  },
245
253
  });
@@ -13,8 +13,9 @@ export const MessageContainer = styled.View<{ isUser: boolean }>`
13
13
  `;
14
14
 
15
15
  export const MessageBubble = styled.View<{ isUser: boolean }>`
16
- background-color: ${(props) => (!props.isUser ? '#f1f0f0' : '#0052CD')};
17
- color: ${(props) => (!props.isUser ? '#000' : '#fff')};
16
+ background-color: ${({ isUser, theme }) =>
17
+ !isUser ? theme.surfaceSecondary : theme.primary};
18
+ color: ${({ isUser, theme }) => (!isUser ? theme.text : theme.textOnPrimary)};
18
19
  border-radius: 12px;
19
20
  padding: 10px;
20
21
  max-width: 60%;
@@ -27,14 +28,14 @@ export const MessageText = styled.View`
27
28
 
28
29
  export const UserName = styled.Text<{ isUser: boolean; color?: string }>`
29
30
  font-weight: bold;
30
- color: ${(props) =>
31
- props.color ? props.color : props.isUser ? '#0052CD' : '#333'};
31
+ color: ${({ color, isUser, theme }) =>
32
+ color ? color : isUser ? theme.primary : theme.text};
32
33
  margin-right: 8px;
33
34
  `;
34
35
 
35
36
  export const MessageTimestamp = styled.Text`
36
37
  font-size: 13px;
37
- color: #999;
38
+ color: ${({ theme }) => theme.textMuted};
38
39
  margin-left: 8px;
39
40
  `;
40
41
 
@@ -50,8 +51,8 @@ export const MessagePhotoContainer = styled.Text`
50
51
  `;
51
52
 
52
53
  export const SystemMessage = styled.Text`
53
- background-color: #e0e0e0;
54
- color: #555;
54
+ background-color: ${({ theme }) => theme.systemMessageBackground};
55
+ color: ${({ theme }) => theme.textSecondary};
55
56
  text-align: center;
56
57
  padding: 8px;
57
58
  border-radius: 8px;
@@ -62,7 +63,7 @@ export const SystemMessage = styled.Text`
62
63
  export const SystemMessageText = styled.Text`
63
64
  margin: 0;
64
65
  font-size: 14px;
65
- color: #333;
66
+ color: ${({ theme }) => theme.text};
66
67
  `;
67
68
 
68
69
  const CustomMessageExample = forwardRef<View, MessageProps>(
@@ -96,7 +96,7 @@ const Dot = styled(Animated.View)`
96
96
  width: 6px;
97
97
  height: 6px;
98
98
  border-radius: 3px;
99
- background-color: #666;
99
+ background-color: ${({ theme }) => theme.textSecondary};
100
100
  margin: 0 2px;
101
101
  `;
102
102
 
@@ -132,7 +132,7 @@ export const MinimalTypingIndicator: React.FC<Props> = ({ isVisible }) => {
132
132
  };
133
133
 
134
134
  const Bubble = styled.View`
135
- background-color: #f0f0f0;
135
+ background-color: ${({ theme }) => theme.surfaceSecondary};
136
136
  border-radius: 18px;
137
137
  padding: 8px 16px;
138
138
  margin: 4px 0;
@@ -142,7 +142,7 @@ const Bubble = styled.View`
142
142
 
143
143
  const BubbleText = styled.Text`
144
144
  font-size: 14px;
145
- color: #666;
145
+ color: ${({ theme }) => theme.textSecondary};
146
146
  `;
147
147
 
148
148
  const BubbleTail = styled.View`
@@ -156,7 +156,7 @@ const BubbleTail = styled.View`
156
156
  border-top-width: 6px;
157
157
  border-left-color: transparent;
158
158
  border-right-color: transparent;
159
- border-top-color: #f0f0f0;
159
+ border-top-color: ${({ theme }) => theme.surfaceSecondary};
160
160
  `;
161
161
 
162
162
  const BubbleWrapper = styled.View`
@@ -187,7 +187,7 @@ const ProgressWrap = styled.View`
187
187
 
188
188
  const ProgressLabel = styled.Text`
189
189
  font-size: 12px;
190
- color: #666;
190
+ color: ${({ theme }) => theme.textSecondary};
191
191
  margin-right: 8px;
192
192
  `;
193
193
 
@@ -202,7 +202,7 @@ const Bar = styled.View`
202
202
  const Runner = styled(Animated.View)`
203
203
  width: 60px;
204
204
  height: 4px;
205
- background-color: #007bff;
205
+ background-color: ${({ theme }) => theme.primary};
206
206
  `;
207
207
 
208
208
  export const ProgressTypingIndicator: React.FC<Props> = ({ text, isVisible }) => {