@ethora/chat-component-rn 26.7.10 → 26.8.1

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 (667) hide show
  1. package/CHANGELOG.md +0 -96
  2. package/README.md +10 -43
  3. package/lib/commonjs/assets/icons.js +2 -7
  4. package/lib/commonjs/assets/icons.js.map +1 -1
  5. package/lib/commonjs/components/AuthForms/Login.js +4 -4
  6. package/lib/commonjs/components/AuthForms/Login.js.map +1 -1
  7. package/lib/commonjs/components/Header/HeaderRoomList.js +7 -26
  8. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js +3 -9
  10. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js +14 -150
  12. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js +38 -34
  14. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  15. package/lib/commonjs/components/MainComponents/LoginWrapper.js +1 -2
  16. package/lib/commonjs/components/MainComponents/LoginWrapper.js.map +1 -1
  17. package/lib/commonjs/components/MainComponents/MediaMessage.js +9 -29
  18. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  19. package/lib/commonjs/components/MainComponents/MessageContainer.js +1 -5
  20. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  21. package/lib/commonjs/components/MainComponents/MessageList.js +5 -13
  22. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  23. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +13 -14
  24. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  25. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +24 -3
  26. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  27. package/lib/commonjs/components/MainComponents/RoomList.js +35 -208
  28. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  29. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +98 -317
  30. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  31. package/lib/commonjs/components/MessageBubble/MessageTranslate.js +16 -7
  32. package/lib/commonjs/components/MessageBubble/MessageTranslate.js.map +1 -1
  33. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +112 -320
  34. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  35. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +215 -556
  36. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  37. package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js +9 -7
  38. package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  39. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +27 -69
  40. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  41. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +1 -2
  42. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  43. package/lib/commonjs/components/Modals/Modal/Modal.js +0 -8
  44. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  45. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +1 -2
  46. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  47. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +109 -205
  48. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  49. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
  50. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  51. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +2 -4
  52. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  53. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +21 -7
  54. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  55. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +244 -507
  56. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  57. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +46 -74
  58. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  59. package/lib/commonjs/components/Modals/styledModalComponents.js +2 -9
  60. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  61. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +39 -23
  62. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  63. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +3 -22
  64. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  65. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +3 -17
  66. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  67. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +3 -17
  68. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  69. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +3 -6
  70. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  71. package/lib/commonjs/components/styled/AudioMessage.js +1 -2
  72. package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
  73. package/lib/commonjs/components/styled/DateLabel.js +10 -3
  74. package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
  75. package/lib/commonjs/components/styled/MessageImage.js +9 -37
  76. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  77. package/lib/commonjs/components/styled/NewMessageLabel.js +3 -1
  78. package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
  79. package/lib/commonjs/components/styled/SendInput.js +17 -86
  80. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  81. package/lib/commonjs/components/styled/StyledComponents.js +3 -9
  82. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  83. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +4 -11
  84. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  85. package/lib/commonjs/components/styled/UnsupportedType.js +4 -14
  86. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  87. package/lib/commonjs/components/styled/VideoMessage.js +61 -119
  88. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  89. package/lib/commonjs/context/xmppProvider.js +59 -177
  90. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  91. package/lib/commonjs/helpers/createMessageFromXml.js +1 -19
  92. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  93. package/lib/commonjs/helpers/ensureScopedChatCache.js +2 -2
  94. package/lib/commonjs/helpers/ensureScopedChatCache.js.map +1 -1
  95. package/lib/commonjs/helpers/getDataFromXml.js +24 -1
  96. package/lib/commonjs/helpers/getDataFromXml.js.map +1 -1
  97. package/lib/commonjs/helpers/historyPreloadScheduler.js +2 -65
  98. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  99. package/lib/commonjs/helpers/initXmppRooms.js +8 -14
  100. package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
  101. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +22 -51
  102. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  103. package/lib/commonjs/helpers/isUnresolvedSenderId.js +6 -1
  104. package/lib/commonjs/helpers/isUnresolvedSenderId.js.map +1 -1
  105. package/lib/commonjs/helpers/keyboardLayout.js +2 -12
  106. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
  107. package/lib/commonjs/helpers/mimeToExtension.js +14 -6
  108. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  109. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +17 -130
  110. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  111. package/lib/commonjs/helpers/resolveLangSource.js +38 -0
  112. package/lib/commonjs/helpers/resolveLangSource.js.map +1 -0
  113. package/lib/commonjs/helpers/xmppUsername.js +39 -0
  114. package/lib/commonjs/helpers/xmppUsername.js.map +1 -0
  115. package/lib/commonjs/hooks/useChatRoomFocus.js +12 -45
  116. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
  117. package/lib/commonjs/hooks/useChatWrapperInit.js +14 -32
  118. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  119. package/lib/commonjs/hooks/useComposing.js +0 -27
  120. package/lib/commonjs/hooks/useComposing.js.map +1 -1
  121. package/lib/commonjs/hooks/useLogout.js +7 -23
  122. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  123. package/lib/commonjs/hooks/usePendingNotification.js +11 -8
  124. package/lib/commonjs/hooks/usePendingNotification.js.map +1 -1
  125. package/lib/commonjs/hooks/useSendMessage.js +14 -50
  126. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  127. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +1 -6
  128. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  129. package/lib/commonjs/i18n/strings.js +133 -121
  130. package/lib/commonjs/i18n/strings.js.map +1 -1
  131. package/lib/commonjs/i18n/useT.js +1 -1
  132. package/lib/commonjs/main.js +0 -44
  133. package/lib/commonjs/main.js.map +1 -1
  134. package/lib/commonjs/networking/api-requests/auth.api.js +60 -134
  135. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  136. package/lib/commonjs/networking/api-requests/roomMembers.api.js +1 -1
  137. package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
  138. package/lib/commonjs/networking/api-requests/rooms.api.js +9 -9
  139. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  140. package/lib/commonjs/networking/api-requests/user.api.js +9 -68
  141. package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
  142. package/lib/commonjs/networking/apiClient.js +112 -62
  143. package/lib/commonjs/networking/apiClient.js.map +1 -1
  144. package/lib/commonjs/networking/stanzaHandlers.js +51 -93
  145. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  146. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +8 -46
  147. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  148. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +1 -8
  149. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  150. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js +1 -5
  151. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  152. package/lib/commonjs/networking/xmppClient.js +8 -124
  153. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  154. package/lib/commonjs/roomStore/chatSettingsSlice.js +7 -26
  155. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  156. package/lib/commonjs/roomStore/index.js +2 -35
  157. package/lib/commonjs/roomStore/index.js.map +1 -1
  158. package/lib/commonjs/roomStore/persistence.js +39 -226
  159. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  160. package/lib/commonjs/roomStore/roomsSlice.js +38 -151
  161. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  162. package/lib/commonjs/services/pushSubscriptionService.js +13 -15
  163. package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
  164. package/lib/commonjs/version.js +3 -1
  165. package/lib/commonjs/version.js.map +1 -1
  166. package/lib/module/assets/icons.js +1 -6
  167. package/lib/module/assets/icons.js.map +1 -1
  168. package/lib/module/components/AuthForms/Login.js +4 -4
  169. package/lib/module/components/AuthForms/Login.js.map +1 -1
  170. package/lib/module/components/Header/HeaderRoomList.js +7 -26
  171. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  172. package/lib/module/components/MainComponents/ChatHeader.js +3 -9
  173. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  174. package/lib/module/components/MainComponents/ChatRoom.js +16 -152
  175. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  176. package/lib/module/components/MainComponents/ChatWrapper.js +40 -36
  177. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  178. package/lib/module/components/MainComponents/LoginWrapper.js +1 -2
  179. package/lib/module/components/MainComponents/LoginWrapper.js.map +1 -1
  180. package/lib/module/components/MainComponents/MediaMessage.js +10 -30
  181. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  182. package/lib/module/components/MainComponents/MessageContainer.js +1 -5
  183. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  184. package/lib/module/components/MainComponents/MessageList.js +5 -13
  185. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  186. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +13 -14
  187. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  188. package/lib/module/components/MainComponents/ReduxWrapper.js +26 -5
  189. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  190. package/lib/module/components/MainComponents/RoomList.js +35 -207
  191. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  192. package/lib/module/components/Menu/HeaderRoomListMenu.js +101 -319
  193. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  194. package/lib/module/components/MessageBubble/MessageTranslate.js +16 -7
  195. package/lib/module/components/MessageBubble/MessageTranslate.js.map +1 -1
  196. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +115 -311
  197. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  198. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +219 -559
  199. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  200. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js +9 -7
  201. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  202. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +28 -70
  203. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  204. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +1 -2
  205. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  206. package/lib/module/components/Modals/Modal/Modal.js +1 -9
  207. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  208. package/lib/module/components/Modals/NewChatModal/ModalContent.js +1 -2
  209. package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  210. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +111 -208
  211. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  212. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
  213. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  214. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +2 -4
  215. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  216. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +23 -9
  217. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  218. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +248 -509
  219. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  220. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +48 -76
  221. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  222. package/lib/module/components/Modals/styledModalComponents.js +2 -9
  223. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  224. package/lib/module/components/RoomComponents/ChatRoomItem.js +40 -24
  225. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  226. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +3 -22
  227. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  228. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +3 -17
  229. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  230. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +3 -17
  231. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  232. package/lib/module/components/VideoCalls/VideoCallSession.js +3 -6
  233. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  234. package/lib/module/components/styled/AudioMessage.js +1 -2
  235. package/lib/module/components/styled/AudioMessage.js.map +1 -1
  236. package/lib/module/components/styled/DateLabel.js +10 -3
  237. package/lib/module/components/styled/DateLabel.js.map +1 -1
  238. package/lib/module/components/styled/MessageImage.js +9 -37
  239. package/lib/module/components/styled/MessageImage.js.map +1 -1
  240. package/lib/module/components/styled/NewMessageLabel.js +3 -1
  241. package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
  242. package/lib/module/components/styled/SendInput.js +18 -87
  243. package/lib/module/components/styled/SendInput.js.map +1 -1
  244. package/lib/module/components/styled/StyledComponents.js +3 -9
  245. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  246. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +4 -11
  247. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  248. package/lib/module/components/styled/UnsupportedType.js +4 -14
  249. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  250. package/lib/module/components/styled/VideoMessage.js +62 -120
  251. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  252. package/lib/module/context/xmppProvider.js +60 -177
  253. package/lib/module/context/xmppProvider.js.map +1 -1
  254. package/lib/module/helpers/createMessageFromXml.js +1 -19
  255. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  256. package/lib/module/helpers/ensureScopedChatCache.js +2 -2
  257. package/lib/module/helpers/ensureScopedChatCache.js.map +1 -1
  258. package/lib/module/helpers/getDataFromXml.js +23 -1
  259. package/lib/module/helpers/getDataFromXml.js.map +1 -1
  260. package/lib/module/helpers/historyPreloadScheduler.js +3 -66
  261. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  262. package/lib/module/helpers/initXmppRooms.js +8 -14
  263. package/lib/module/helpers/initXmppRooms.js.map +1 -1
  264. package/lib/module/helpers/insertMessageWithDelimiter.js +22 -52
  265. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  266. package/lib/module/helpers/isUnresolvedSenderId.js +6 -1
  267. package/lib/module/helpers/isUnresolvedSenderId.js.map +1 -1
  268. package/lib/module/helpers/keyboardLayout.js +2 -12
  269. package/lib/module/helpers/keyboardLayout.js.map +1 -1
  270. package/lib/module/helpers/mimeToExtension.js +13 -6
  271. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  272. package/lib/module/helpers/resolveInitBeforeLoadUser.js +16 -130
  273. package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  274. package/lib/module/helpers/resolveLangSource.js +32 -0
  275. package/lib/module/helpers/resolveLangSource.js.map +1 -0
  276. package/lib/module/helpers/xmppUsername.js +35 -0
  277. package/lib/module/helpers/xmppUsername.js.map +1 -0
  278. package/lib/module/hooks/useChatRoomFocus.js +13 -46
  279. package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
  280. package/lib/module/hooks/useChatWrapperInit.js +14 -32
  281. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  282. package/lib/module/hooks/useComposing.js +1 -28
  283. package/lib/module/hooks/useComposing.js.map +1 -1
  284. package/lib/module/hooks/useLogout.js +7 -23
  285. package/lib/module/hooks/useLogout.js.map +1 -1
  286. package/lib/module/hooks/usePendingNotification.js +11 -8
  287. package/lib/module/hooks/usePendingNotification.js.map +1 -1
  288. package/lib/module/hooks/useSendMessage.js +16 -52
  289. package/lib/module/hooks/useSendMessage.js.map +1 -1
  290. package/lib/module/hooks/useUnreadMessagesCounter.js +1 -6
  291. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  292. package/lib/module/i18n/strings.js +133 -121
  293. package/lib/module/i18n/strings.js.map +1 -1
  294. package/lib/module/i18n/useT.js +1 -1
  295. package/lib/module/main.js +2 -14
  296. package/lib/module/main.js.map +1 -1
  297. package/lib/module/networking/api-requests/auth.api.js +59 -131
  298. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  299. package/lib/module/networking/api-requests/roomMembers.api.js +1 -1
  300. package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
  301. package/lib/module/networking/api-requests/rooms.api.js +9 -9
  302. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  303. package/lib/module/networking/api-requests/user.api.js +7 -64
  304. package/lib/module/networking/api-requests/user.api.js.map +1 -1
  305. package/lib/module/networking/apiClient.js +113 -61
  306. package/lib/module/networking/apiClient.js.map +1 -1
  307. package/lib/module/networking/stanzaHandlers.js +52 -94
  308. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  309. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +8 -46
  310. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  311. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +1 -8
  312. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  313. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js +1 -5
  314. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  315. package/lib/module/networking/xmppClient.js +8 -124
  316. package/lib/module/networking/xmppClient.js.map +1 -1
  317. package/lib/module/roomStore/chatSettingsSlice.js +7 -26
  318. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  319. package/lib/module/roomStore/index.js +4 -37
  320. package/lib/module/roomStore/index.js.map +1 -1
  321. package/lib/module/roomStore/persistence.js +38 -223
  322. package/lib/module/roomStore/persistence.js.map +1 -1
  323. package/lib/module/roomStore/roomsSlice.js +34 -139
  324. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  325. package/lib/module/services/pushSubscriptionService.js +13 -15
  326. package/lib/module/services/pushSubscriptionService.js.map +1 -1
  327. package/lib/module/version.js +3 -1
  328. package/lib/module/version.js.map +1 -1
  329. package/lib/typescript/assets/icons.d.ts +0 -16
  330. package/lib/typescript/assets/icons.d.ts.map +1 -1
  331. package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
  332. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  333. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  334. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  335. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  336. package/lib/typescript/components/MainComponents/LoginWrapper.d.ts.map +1 -1
  337. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  338. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  339. package/lib/typescript/components/MainComponents/MessageList.d.ts +1 -10
  340. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  341. package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
  342. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  343. package/lib/typescript/components/MainComponents/RoomList.d.ts +0 -7
  344. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  345. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +0 -3
  346. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  347. package/lib/typescript/components/MessageBubble/MessageTranslate.d.ts.map +1 -1
  348. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +0 -9
  349. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  350. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +0 -10
  351. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  352. package/lib/typescript/components/Modals/ChatProfileModal/DeleteChatModal.d.ts.map +1 -1
  353. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  354. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  355. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  356. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +2 -4
  357. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
  358. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
  359. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  360. package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
  361. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +1 -6
  362. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  363. package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
  364. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +0 -16
  365. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  366. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +0 -1
  367. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  368. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  369. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  370. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
  371. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  372. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
  373. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  374. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
  375. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  376. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  377. package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
  378. package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
  379. package/lib/typescript/components/styled/MessageImage.d.ts +0 -14
  380. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  381. package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
  382. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  383. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  384. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  385. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  386. package/lib/typescript/components/styled/VideoMessage.d.ts +0 -8
  387. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  388. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  389. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  390. package/lib/typescript/helpers/getDataFromXml.d.ts.map +1 -1
  391. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  392. package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
  393. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts +1 -1
  394. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  395. package/lib/typescript/helpers/isUnresolvedSenderId.d.ts.map +1 -1
  396. package/lib/typescript/helpers/keyboardLayout.d.ts +1 -5
  397. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
  398. package/lib/typescript/helpers/mimeToExtension.d.ts +15 -0
  399. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  400. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
  401. package/lib/typescript/helpers/resolveLangSource.d.ts +30 -0
  402. package/lib/typescript/helpers/resolveLangSource.d.ts.map +1 -0
  403. package/lib/typescript/helpers/xmppUsername.d.ts +13 -0
  404. package/lib/typescript/helpers/xmppUsername.d.ts.map +1 -0
  405. package/lib/typescript/hooks/useChatRoomFocus.d.ts +1 -4
  406. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
  407. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  408. package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
  409. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  410. package/lib/typescript/hooks/usePendingNotification.d.ts.map +1 -1
  411. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  412. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +0 -1
  413. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  414. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  415. package/lib/typescript/i18n/useT.d.ts +1 -1
  416. package/lib/typescript/main.d.ts +2 -9
  417. package/lib/typescript/main.d.ts.map +1 -1
  418. package/lib/typescript/networking/api-requests/auth.api.d.ts +1 -3
  419. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  420. package/lib/typescript/networking/api-requests/user.api.d.ts +0 -27
  421. package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
  422. package/lib/typescript/networking/apiClient.d.ts +6 -12
  423. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  424. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  425. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +2 -10
  426. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  427. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  428. package/lib/typescript/networking/xmpp/subscribeToRoomMessages.xmpp.d.ts.map +1 -1
  429. package/lib/typescript/networking/xmppClient.d.ts +0 -14
  430. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  431. package/lib/typescript/roomStore/chatSettingsSlice.d.ts +0 -16
  432. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  433. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  434. package/lib/typescript/roomStore/persistence.d.ts +1 -18
  435. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  436. package/lib/typescript/roomStore/roomsSlice.d.ts +3 -43
  437. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  438. package/lib/typescript/services/pushSubscriptionService.d.ts +1 -1
  439. package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
  440. package/lib/typescript/types/types.d.ts +5 -50
  441. package/lib/typescript/types/types.d.ts.map +1 -1
  442. package/lib/typescript/version.d.ts +1 -1
  443. package/lib/typescript/version.d.ts.map +1 -1
  444. package/package.json +29 -41
  445. package/src/assets/icons.tsx +9 -48
  446. package/src/components/AuthForms/Login.tsx +3 -3
  447. package/src/components/Header/HeaderRoomList.tsx +6 -24
  448. package/src/components/MainComponents/ChatHeader.tsx +3 -9
  449. package/src/components/MainComponents/ChatRoom.tsx +15 -161
  450. package/src/components/MainComponents/ChatWrapper.tsx +53 -36
  451. package/src/components/MainComponents/LoginWrapper.tsx +0 -1
  452. package/src/components/MainComponents/MediaMessage.tsx +8 -26
  453. package/src/components/MainComponents/MessageContainer.tsx +1 -5
  454. package/src/components/MainComponents/MessageList.tsx +4 -23
  455. package/src/components/MainComponents/ProfileImagePlaceholder.tsx +14 -21
  456. package/src/components/MainComponents/ReduxWrapper.tsx +18 -1
  457. package/src/components/MainComponents/RoomList.tsx +39 -236
  458. package/src/components/Menu/HeaderRoomListMenu.tsx +75 -328
  459. package/src/components/MessageBubble/MessageTranslate.tsx +17 -12
  460. package/src/components/Modals/AttachSheet/AttachSheet.tsx +99 -331
  461. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +293 -611
  462. package/src/components/Modals/ChatProfileModal/DeleteChatModal.tsx +9 -7
  463. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +38 -79
  464. package/src/components/Modals/FilePreviewModal/PdfView.tsx +1 -2
  465. package/src/components/Modals/Modal/Modal.tsx +0 -7
  466. package/src/components/Modals/NewChatModal/ModalContent.tsx +3 -6
  467. package/src/components/Modals/NewChatModal/NewChatModal.tsx +126 -223
  468. package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +1 -12
  469. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +4 -14
  470. package/src/components/Modals/UserProfileModal/EditUserModal.tsx +25 -9
  471. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +307 -617
  472. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +58 -75
  473. package/src/components/Modals/styledModalComponents.tsx +2 -9
  474. package/src/components/RoomComponents/ChatRoomItem.tsx +50 -21
  475. package/src/components/RoomComponents/styled/LastMessageFile.tsx +4 -28
  476. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +3 -18
  477. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +3 -18
  478. package/src/components/VideoCalls/VideoCallSession.tsx +3 -8
  479. package/src/components/styled/AudioMessage.tsx +1 -2
  480. package/src/components/styled/DateLabel.tsx +10 -3
  481. package/src/components/styled/MessageImage.tsx +7 -53
  482. package/src/components/styled/NewMessageLabel.tsx +3 -1
  483. package/src/components/styled/SendInput.tsx +18 -91
  484. package/src/components/styled/StyledComponents.ts +3 -9
  485. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +4 -11
  486. package/src/components/styled/UnsupportedType.tsx +4 -14
  487. package/src/components/styled/VideoMessage.tsx +54 -131
  488. package/src/context/xmppProvider.tsx +57 -209
  489. package/src/helpers/createMessageFromXml.ts +1 -20
  490. package/src/helpers/ensureScopedChatCache.ts +2 -2
  491. package/src/helpers/getDataFromXml.ts +25 -1
  492. package/src/helpers/historyPreloadScheduler.ts +3 -80
  493. package/src/helpers/initXmppRooms.tsx +10 -14
  494. package/src/helpers/insertMessageWithDelimiter.ts +32 -55
  495. package/src/helpers/isUnresolvedSenderId.ts +9 -1
  496. package/src/helpers/keyboardLayout.ts +2 -23
  497. package/src/helpers/mimeToExtension.ts +22 -6
  498. package/src/helpers/resolveInitBeforeLoadUser.ts +18 -125
  499. package/src/helpers/resolveLangSource.ts +40 -0
  500. package/src/helpers/xmppUsername.ts +38 -0
  501. package/src/hooks/useChatRoomFocus.ts +9 -49
  502. package/src/hooks/useChatWrapperInit.ts +16 -32
  503. package/src/hooks/useComposing.tsx +1 -37
  504. package/src/hooks/useLogout.tsx +9 -29
  505. package/src/hooks/usePendingNotification.ts +11 -5
  506. package/src/hooks/useSendMessage.tsx +15 -60
  507. package/src/hooks/useUnreadMessagesCounter.ts +0 -11
  508. package/src/i18n/strings.ts +133 -121
  509. package/src/i18n/useT.ts +1 -1
  510. package/src/main.ts +2 -26
  511. package/src/networking/api-requests/auth.api.ts +48 -156
  512. package/src/networking/api-requests/roomMembers.api.ts +1 -1
  513. package/src/networking/api-requests/rooms.api.ts +9 -9
  514. package/src/networking/api-requests/user.api.ts +7 -79
  515. package/src/networking/apiClient.ts +123 -68
  516. package/src/networking/stanzaHandlers.ts +51 -92
  517. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +10 -71
  518. package/src/networking/xmpp/presenceInRoom.xmpp.ts +1 -6
  519. package/src/networking/xmpp/subscribeToRoomMessages.xmpp.ts +1 -12
  520. package/src/networking/xmppClient.ts +9 -141
  521. package/src/roomStore/chatSettingsSlice.ts +10 -34
  522. package/src/roomStore/index.ts +4 -40
  523. package/src/roomStore/persistence.ts +40 -234
  524. package/src/roomStore/roomsSlice.ts +29 -161
  525. package/src/services/pushSubscriptionService.ts +13 -18
  526. package/src/types/types.ts +5 -72
  527. package/src/version.ts +3 -1
  528. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +0 -226
  529. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +0 -1
  530. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +0 -556
  531. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +0 -1
  532. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +0 -210
  533. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +0 -1
  534. package/lib/commonjs/helpers/getChatBackground.js +0 -23
  535. package/lib/commonjs/helpers/getChatBackground.js.map +0 -1
  536. package/lib/commonjs/helpers/getDisplayFileName.js +0 -79
  537. package/lib/commonjs/helpers/getDisplayFileName.js.map +0 -1
  538. package/lib/commonjs/helpers/getServerReadTimestamp.js +0 -188
  539. package/lib/commonjs/helpers/getServerReadTimestamp.js.map +0 -1
  540. package/lib/commonjs/helpers/isOwnMessage.js +0 -75
  541. package/lib/commonjs/helpers/isOwnMessage.js.map +0 -1
  542. package/lib/commonjs/helpers/mediaLibraryRuntime.js +0 -31
  543. package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +0 -1
  544. package/lib/commonjs/helpers/msgSortableMs.js +0 -37
  545. package/lib/commonjs/helpers/msgSortableMs.js.map +0 -1
  546. package/lib/commonjs/helpers/persistCrypto.js +0 -122
  547. package/lib/commonjs/helpers/persistCrypto.js.map +0 -1
  548. package/lib/commonjs/helpers/pickImageAsset.js +0 -68
  549. package/lib/commonjs/helpers/pickImageAsset.js.map +0 -1
  550. package/lib/commonjs/helpers/pushPayload.js +0 -71
  551. package/lib/commonjs/helpers/pushPayload.js.map +0 -1
  552. package/lib/commonjs/helpers/secureFileUrl.js +0 -101
  553. package/lib/commonjs/helpers/secureFileUrl.js.map +0 -1
  554. package/lib/commonjs/helpers/secureKeyValue.js +0 -83
  555. package/lib/commonjs/helpers/secureKeyValue.js.map +0 -1
  556. package/lib/commonjs/helpers/secureStoreRuntime.js +0 -59
  557. package/lib/commonjs/helpers/secureStoreRuntime.js.map +0 -1
  558. package/lib/commonjs/helpers/secureUserStorage.js +0 -75
  559. package/lib/commonjs/helpers/secureUserStorage.js.map +0 -1
  560. package/lib/commonjs/helpers/shallowEqual.js +0 -36
  561. package/lib/commonjs/helpers/shallowEqual.js.map +0 -1
  562. package/lib/commonjs/helpers/sheetGestures.js +0 -32
  563. package/lib/commonjs/helpers/sheetGestures.js.map +0 -1
  564. package/lib/commonjs/hooks/useFileToken.js +0 -10
  565. package/lib/commonjs/hooks/useFileToken.js.map +0 -1
  566. package/lib/commonjs/networking/authRefresh.js +0 -332
  567. package/lib/commonjs/networking/authRefresh.js.map +0 -1
  568. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +0 -223
  569. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +0 -1
  570. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +0 -548
  571. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +0 -1
  572. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +0 -205
  573. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +0 -1
  574. package/lib/module/helpers/getChatBackground.js +0 -18
  575. package/lib/module/helpers/getChatBackground.js.map +0 -1
  576. package/lib/module/helpers/getDisplayFileName.js +0 -73
  577. package/lib/module/helpers/getDisplayFileName.js.map +0 -1
  578. package/lib/module/helpers/getServerReadTimestamp.js +0 -181
  579. package/lib/module/helpers/getServerReadTimestamp.js.map +0 -1
  580. package/lib/module/helpers/isOwnMessage.js +0 -70
  581. package/lib/module/helpers/isOwnMessage.js.map +0 -1
  582. package/lib/module/helpers/mediaLibraryRuntime.js +0 -25
  583. package/lib/module/helpers/mediaLibraryRuntime.js.map +0 -1
  584. package/lib/module/helpers/msgSortableMs.js +0 -32
  585. package/lib/module/helpers/msgSortableMs.js.map +0 -1
  586. package/lib/module/helpers/persistCrypto.js +0 -115
  587. package/lib/module/helpers/persistCrypto.js.map +0 -1
  588. package/lib/module/helpers/pickImageAsset.js +0 -63
  589. package/lib/module/helpers/pickImageAsset.js.map +0 -1
  590. package/lib/module/helpers/pushPayload.js +0 -63
  591. package/lib/module/helpers/pushPayload.js.map +0 -1
  592. package/lib/module/helpers/secureFileUrl.js +0 -91
  593. package/lib/module/helpers/secureFileUrl.js.map +0 -1
  594. package/lib/module/helpers/secureKeyValue.js +0 -75
  595. package/lib/module/helpers/secureKeyValue.js.map +0 -1
  596. package/lib/module/helpers/secureStoreRuntime.js +0 -52
  597. package/lib/module/helpers/secureStoreRuntime.js.map +0 -1
  598. package/lib/module/helpers/secureUserStorage.js +0 -72
  599. package/lib/module/helpers/secureUserStorage.js.map +0 -1
  600. package/lib/module/helpers/shallowEqual.js +0 -31
  601. package/lib/module/helpers/shallowEqual.js.map +0 -1
  602. package/lib/module/helpers/sheetGestures.js +0 -26
  603. package/lib/module/helpers/sheetGestures.js.map +0 -1
  604. package/lib/module/hooks/useFileToken.js +0 -5
  605. package/lib/module/hooks/useFileToken.js.map +0 -1
  606. package/lib/module/networking/authRefresh.js +0 -321
  607. package/lib/module/networking/authRefresh.js.map +0 -1
  608. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +0 -9
  609. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +0 -1
  610. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +0 -75
  611. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +0 -1
  612. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +0 -25
  613. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +0 -1
  614. package/lib/typescript/helpers/getChatBackground.d.ts +0 -15
  615. package/lib/typescript/helpers/getChatBackground.d.ts.map +0 -1
  616. package/lib/typescript/helpers/getDisplayFileName.d.ts +0 -49
  617. package/lib/typescript/helpers/getDisplayFileName.d.ts.map +0 -1
  618. package/lib/typescript/helpers/getServerReadTimestamp.d.ts +0 -108
  619. package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +0 -1
  620. package/lib/typescript/helpers/isOwnMessage.d.ts +0 -36
  621. package/lib/typescript/helpers/isOwnMessage.d.ts.map +0 -1
  622. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +0 -3
  623. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +0 -1
  624. package/lib/typescript/helpers/msgSortableMs.d.ts +0 -2
  625. package/lib/typescript/helpers/msgSortableMs.d.ts.map +0 -1
  626. package/lib/typescript/helpers/persistCrypto.d.ts +0 -13
  627. package/lib/typescript/helpers/persistCrypto.d.ts.map +0 -1
  628. package/lib/typescript/helpers/pickImageAsset.d.ts +0 -27
  629. package/lib/typescript/helpers/pickImageAsset.d.ts.map +0 -1
  630. package/lib/typescript/helpers/pushPayload.d.ts +0 -7
  631. package/lib/typescript/helpers/pushPayload.d.ts.map +0 -1
  632. package/lib/typescript/helpers/secureFileUrl.d.ts +0 -7
  633. package/lib/typescript/helpers/secureFileUrl.d.ts.map +0 -1
  634. package/lib/typescript/helpers/secureKeyValue.d.ts +0 -13
  635. package/lib/typescript/helpers/secureKeyValue.d.ts.map +0 -1
  636. package/lib/typescript/helpers/secureStoreRuntime.d.ts +0 -29
  637. package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +0 -1
  638. package/lib/typescript/helpers/secureUserStorage.d.ts +0 -23
  639. package/lib/typescript/helpers/secureUserStorage.d.ts.map +0 -1
  640. package/lib/typescript/helpers/shallowEqual.d.ts +0 -11
  641. package/lib/typescript/helpers/shallowEqual.d.ts.map +0 -1
  642. package/lib/typescript/helpers/sheetGestures.d.ts +0 -20
  643. package/lib/typescript/helpers/sheetGestures.d.ts.map +0 -1
  644. package/lib/typescript/hooks/useFileToken.d.ts +0 -2
  645. package/lib/typescript/hooks/useFileToken.d.ts.map +0 -1
  646. package/lib/typescript/networking/authRefresh.d.ts +0 -95
  647. package/lib/typescript/networking/authRefresh.d.ts.map +0 -1
  648. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +0 -244
  649. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +0 -615
  650. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +0 -217
  651. package/src/helpers/getChatBackground.ts +0 -18
  652. package/src/helpers/getDisplayFileName.ts +0 -87
  653. package/src/helpers/getServerReadTimestamp.ts +0 -197
  654. package/src/helpers/isOwnMessage.ts +0 -90
  655. package/src/helpers/mediaLibraryRuntime.ts +0 -25
  656. package/src/helpers/msgSortableMs.ts +0 -25
  657. package/src/helpers/persistCrypto.ts +0 -127
  658. package/src/helpers/pickImageAsset.ts +0 -68
  659. package/src/helpers/pushPayload.ts +0 -62
  660. package/src/helpers/secureFileUrl.ts +0 -103
  661. package/src/helpers/secureKeyValue.ts +0 -80
  662. package/src/helpers/secureStoreRuntime.ts +0 -62
  663. package/src/helpers/secureUserStorage.ts +0 -80
  664. package/src/helpers/shallowEqual.ts +0 -33
  665. package/src/helpers/sheetGestures.ts +0 -25
  666. package/src/hooks/useFileToken.ts +0 -7
  667. package/src/networking/authRefresh.ts +0 -451
@@ -1,69 +1,30 @@
1
1
  "use strict";
2
2
 
3
- /** @format */
4
-
5
- import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
6
- import { ActivityIndicator, Animated, Image, Share, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
7
- import { ModalContainerFullScreen } from '../styledModalComponents';
8
- import { ChatIcon, EditIcon, IconDoc, LeaveIcon, LogoutIcon, ProfileIcon, ShareIcon } from '../../../assets/icons';
9
- import { useAppDispatch } from '../../../hooks/hooks';
10
- import { useChatSettingState } from '../../../hooks/useChatSettingState';
3
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
4
+ import { CenterContainer, UserInfo, UserName, ModalContainerFullScreen, ActionButton, Label, BorderedContainer, LabelData, ModalBackground, ModalContainer, CloseButton, ModalTitle, GroupContainer } from '../styledModalComponents';
5
+ import { ChatIcon, DeleteIcon, EditIcon, IconDoc, LeaveIcon, MoreIcon } from '../../../assets/icons';
6
+ import ModalHeaderComponent from '../ModalHeaderComponent';
7
+ import { ProfileImagePlaceholder } from '../../MainComponents/ProfileImagePlaceholder';
8
+ import Button from '../../styled/Button';
9
+ import DropdownMenu from '../../DropdownMenu/DropdownMenu';
10
+ import { logout, setActiveModal, setLangSource, setSelectedUser } from '../../../roomStore/chatSettingsSlice';
11
+ import { addRoomViaApi, setCurrentRoom, setLogoutState } from '../../../roomStore/roomsSlice';
12
+ import EditUserModal from './EditUserModal';
13
+ import { walletToUsername } from '../../../helpers/walletUsername';
11
14
  import { useXmppClient } from '../../../context/xmppProvider';
12
- import { useToast } from '../../../context/ToastContext';
13
- import { useT } from '../../../i18n/useT';
14
- import { useFileToken } from '../../../hooks/useFileToken';
15
- import { appendFileToken } from '../../../helpers/secureFileUrl';
16
- import { getIconColor } from '../../../helpers/getIconColor';
17
- import { chatTextStyle } from '../../../helpers/typography';
18
- import { getElementFont } from '../../../helpers/getElementFont';
19
- import { LANGUAGE_OPTIONS } from '../../../helpers/constants/LANGUAGE_OPTIONS';
20
- import { MODAL_TYPES } from '../../../helpers/constants/MODAL_TYPES';
21
- import { setActiveFile, setActiveModal, setLangSource, setSelectedUser } from '../../../roomStore/chatSettingsSlice';
22
- import { addRoomViaApi, setCurrentRoom } from '../../../roomStore/roomsSlice';
23
- import { runLogoutFlow } from '../../Menu/HeaderRoomListMenu';
24
- import { useLogout } from '../../../hooks/useLogout';
15
+ import Select from '../../MainComponents/Select';
16
+ import { useAppDispatch } from '../../../hooks/hooks';
17
+ import { ScrollView, Text, View } from 'react-native';
25
18
  import { postPrivateRoom } from '../../../networking/api-requests/rooms.api';
26
- import { getUserFiles, isMediaFile } from '../../../networking/api-requests/user.api';
27
19
  import { createRoomFromApi } from '../../../helpers/createRoomFromApi';
28
- import { walletToUsername } from '../../../helpers/walletUsername';
29
- import { ProfileHero, ProfileTopBar, useHeaderMetrics } from '../ProfileHeader/ProfileHeader';
30
- import ProfileMenu from '../ProfileHeader/ProfileMenu';
31
- import EditUserModal from './EditUserModal';
32
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
33
- const PREFIX = 'user-profile';
34
- /** Two uppercase letters for a person without a picture. */
35
- export const userInitials = name => {
36
- const words = (name || '').trim().split(/\s+/).filter(Boolean);
37
- const letters = (words.length >= 2 ? [words[0][0], words[1][0]] : [words[0]?.[0], words[0]?.[1]]).filter(c => !!c && /[\p{L}\p{N}]/u.test(c));
38
- return letters.join('').toUpperCase();
39
- };
40
-
41
- /**
42
- * Which tabs a profile shows. Only the signed-in user has tabs at all:
43
- * `GET /v2/files/` returns the JWT owner's files, so there is nothing to
44
- * put under Media/Documents for anybody else, and the language picker is
45
- * a personal setting.
46
- */
47
- export const profileTabs = opts => {
48
- if (!opts.isOwnProfile) {
49
- return [];
50
- }
51
- const tabs = [];
52
- if (opts.translatesEnabled) {
53
- tabs.push('language');
54
- }
55
- if (opts.hasMedia) {
56
- tabs.push('media');
57
- }
58
- if (opts.hasDocuments) {
59
- tabs.push('documents');
60
- }
61
- return tabs;
62
- };
20
+ import { useToast } from '../../../context/ToastContext';
21
+ import { LANGUAGE_OPTIONS } from '../../../helpers/constants/LANGUAGE_OPTIONS';
22
+ import { deleteDocument, getDocuments } from '../../../networking/api-requests/user.api';
23
+ import { useChatSettingState } from '../../../hooks/useChatSettingState';
24
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
63
25
  const UserProfileModal = ({
64
26
  handleCloseModal
65
27
  }) => {
66
- const t = useT();
67
28
  const dispatch = useAppDispatch();
68
29
  const {
69
30
  client
@@ -77,99 +38,75 @@ const UserProfileModal = ({
77
38
  selectedUser,
78
39
  langSource
79
40
  } = useChatSettingState();
80
- const fileToken = useFileToken();
81
41
  const [isEditing, setIsEditing] = useState(false);
82
- const [files, setFiles] = useState([]);
83
- const [loadingFiles, setLoadingFiles] = useState(false);
84
- const [activeTab, setActiveTab] = useState(null);
85
- const scrollY = useRef(new Animated.Value(0)).current;
86
- const scrollRef = useRef(null);
87
- const {
88
- collapseDistance
89
- } = useHeaderMetrics();
90
- const [viewportHeight, setViewportHeight] = useState(0);
91
- // `scrollY` is driven natively, so its value can't be read back with
92
- // addListener; the Animated.event's JS `listener` still fires, which is
93
- // enough to know which state the header is in.
94
- const [isCollapsed, setIsCollapsed] = useState(false);
95
- const isOwnProfile = !selectedUser;
96
- const profileUser = selectedUser ?? user;
97
- const media = useMemo(() => files.filter(isMediaFile), [files]);
98
- const documents = useMemo(() => files.filter(file => !isMediaFile(file)), [files]);
99
- const tabs = useMemo(() => profileTabs({
100
- isOwnProfile,
101
- translatesEnabled: !!config?.translates?.enabled,
102
- hasMedia: media.length > 0,
103
- hasDocuments: documents.length > 0
104
- }), [isOwnProfile, config?.translates?.enabled, media.length, documents.length]);
105
-
106
- // Keep the selected tab valid as the lists load in.
107
- useEffect(() => {
108
- if (tabs.length === 0) {
109
- setActiveTab(null);
110
- return;
42
+ const [documents, setDocuments] = useState([]);
43
+ const [deleteDocumentId, setDeleteDocumentId] = useState('');
44
+ const [showDelete, setShowDelete] = useState(false);
45
+ const handleDeleteDocument = async () => {
46
+ try {
47
+ await deleteDocument(deleteDocumentId);
48
+ setDocuments(documents.filter(doc => doc._id !== deleteDocumentId));
49
+ showToast({
50
+ id: Date.now().toString(),
51
+ title: 'Success',
52
+ message: 'Document deleted successfully',
53
+ type: 'success'
54
+ });
55
+ // handleGetDocs();
56
+ } catch (error) {
57
+ console.error('Error deleting document', error);
58
+ showToast({
59
+ id: Date.now().toString(),
60
+ title: 'Error',
61
+ message: 'Failed to delete document',
62
+ type: 'error'
63
+ });
64
+ } finally {
65
+ setShowDelete(false);
111
66
  }
112
- setActiveTab(current => current && tabs.includes(current) ? current : tabs[0]);
113
- }, [tabs]);
114
-
115
- // One request per visit, and only for one's own profile — the endpoint
116
- // is scoped to the JWT owner, so it would return *our* files while
117
- // looking at somebody else's page.
118
- useEffect(() => {
119
- if (!isOwnProfile) {
120
- setFiles([]);
121
- return;
67
+ };
68
+ const handleGetDocs = async () => {
69
+ try {
70
+ const {
71
+ data
72
+ } = await getDocuments(user?.defaultWallet?.walletAddress);
73
+ const items = data.results.filter(el => el.locations[0]);
74
+ setDocuments(items);
75
+ } catch (error) {
76
+ console.error('Error getting docs', error);
122
77
  }
123
- let cancelled = false;
124
- setLoadingFiles(true);
125
- getUserFiles().then(rows => {
126
- if (!cancelled) {
127
- setFiles(rows);
128
- }
129
- }).catch(error => {
130
- console.warn('Could not load user files:', error);
131
- if (!cancelled) {
132
- setFiles([]);
133
- }
134
- }).finally(() => {
135
- if (!cancelled) {
136
- setLoadingFiles(false);
137
- }
138
- });
139
- return () => {
140
- cancelled = true;
141
- };
142
- }, [isOwnProfile, user?.token]);
78
+ };
79
+ useEffect(() => {
80
+ handleGetDocs();
81
+ }, []);
143
82
  const handleBackClick = useCallback(() => {
144
83
  dispatch(setSelectedUser(undefined));
145
84
  handleCloseModal();
146
- }, [dispatch, handleCloseModal]);
147
-
148
- // Same teardown the room-list menu runs (XMPP, redux, persisted slices,
149
- // AsyncStorage), including the host's confirm copy and callbacks.
150
- const performLogout = useLogout();
85
+ }, []);
151
86
  const handleLogout = useCallback(() => {
152
- runLogoutFlow(config?.logout ?? {
153
- enabled: true
154
- }, performLogout).catch(() => {});
155
- }, [config?.logout, performLogout]);
156
- const handleShare = useCallback(async () => {
157
- const name = profileUser?.name || `${profileUser?.firstName ?? ''} ${profileUser?.lastName ?? ''}`.trim();
158
- const id = profileUser?.userJID || profileUser?.defaultWallet?.walletAddress || profileUser?.id || '';
159
- try {
160
- await Share.share({
161
- message: id ? `${name}\n${id}` : name
162
- });
163
- } catch (error) {
164
- console.warn('Could not share the profile:', error);
87
+ dispatch(logout());
88
+ dispatch(setLogoutState());
89
+ }, []);
90
+ const menuOptions = useMemo(() => [{
91
+ label: 'Log Out',
92
+ icon: /*#__PURE__*/_jsx(LeaveIcon, {}),
93
+ onClick: () => {
94
+ handleLogout();
95
+ },
96
+ styles: {
97
+ color: 'red'
165
98
  }
166
- }, [profileUser]);
99
+ }], []);
100
+ const handleSelect = selected => {
101
+ dispatch(setLangSource(selected.id));
102
+ };
103
+ const EditClick = useCallback(() => {
104
+ setIsEditing(true);
105
+ }, []);
167
106
  const handleRoomCreation = async (newChat, usersArrayLength) => {
168
107
  try {
169
108
  const normalizedChat = createRoomFromApi(newChat, config?.xmppSettings?.conference, usersArrayLength);
170
- if (!normalizedChat || !client) {
171
- return;
172
- }
109
+ if (!normalizedChat || !client) return;
173
110
  dispatch(addRoomViaApi({
174
111
  room: normalizedChat,
175
112
  xmpp: client
@@ -196,400 +133,202 @@ const UserProfileModal = ({
196
133
  type: 'info',
197
134
  duration: 3000
198
135
  });
136
+ let newRoomJid = '';
199
137
  if (config?.newArch) {
200
138
  const newRoom = await postPrivateRoom(selectedUser?.userJID ?? (selectedUser?.id || ''));
201
139
  handleRoomCreation(newRoom, 2);
140
+ newRoomJid = newRoom.name;
202
141
  } else {
203
142
  const selectedUserUsername = walletToUsername(selectedUser?.id || '');
204
143
  const myUsername = walletToUsername(user.defaultWallet.walletAddress);
205
- const roomJid = [myUsername, selectedUserUsername].sort().join('.').toLowerCase();
144
+ const combinedWalletAddress = [myUsername, selectedUserUsername].sort().join('.');
145
+ const roomJid = combinedWalletAddress.toLowerCase();
206
146
  const combinedUsersName = [user.firstName, selectedUser?.name?.split(' ')?.[0] || ''].sort().join(' and ');
207
- const newRoomJid = (await client?.createPrivateRoomStanza(combinedUsersName, `Private chat ${combinedUsersName}`, roomJid)) || '';
147
+ newRoomJid = (await client?.createPrivateRoomStanza(combinedUsersName, `Private chat ${combinedUsersName}`, roomJid)) || '';
208
148
  if (newRoomJid) {
209
149
  await client?.inviteRoomRequestStanza(selectedUserUsername, newRoomJid);
210
150
  await client?.getRoomsStanza();
211
151
  }
212
152
  }
213
153
  dispatch(setActiveModal(undefined));
214
- }, [selectedUser]); // eslint-disable-line react-hooks/exhaustive-deps
215
-
216
- const openFile = file => {
217
- dispatch(setActiveFile({
218
- fileName: file.name,
219
- fileURL: file.url,
220
- mimetype: file.mimetype
221
- }));
222
- dispatch(setActiveModal(MODAL_TYPES.FILE_PREVIEW));
154
+ }, [selectedUser]);
155
+ const modalUser = selectedUser ?? user;
156
+ const findLanguage = () => {
157
+ if (!langSource) {
158
+ return null;
159
+ }
160
+ const language = LANGUAGE_OPTIONS.find(lang => lang.id === langSource);
161
+ return language || null;
223
162
  };
224
- const heroActions = useMemo(() => isOwnProfile ? [{
225
- key: 'account',
226
- label: t('action.account'),
227
- icon: color => /*#__PURE__*/_jsx(ProfileIcon, {
228
- color: color
229
- }),
230
- onPress: () => dispatch(setActiveModal(MODAL_TYPES.SETTINGS))
231
- }, {
232
- key: 'share',
233
- label: t('action.share'),
234
- icon: color => /*#__PURE__*/_jsx(ShareIcon, {
235
- color: color
236
- }),
237
- onPress: handleShare
238
- }, {
239
- key: 'edit',
240
- label: t('action.edit'),
241
- icon: color => /*#__PURE__*/_jsx(EditIcon, {
242
- color: color
243
- }),
244
- onPress: () => setIsEditing(true)
245
- }, {
246
- key: 'logout',
247
- label: t('action.logOut'),
248
- icon: color => /*#__PURE__*/_jsx(LogoutIcon, {
249
- color: color
250
- }),
251
- onPress: handleLogout
252
- }] : [...(config?.hideMemberSendMessageAction ? [] : [{
253
- key: 'message',
254
- label: t('action.message'),
255
- icon: color => /*#__PURE__*/_jsx(ChatIcon, {
256
- color: color
257
- }),
258
- onPress: handlePrivateMessage
259
- }]), {
260
- key: 'share',
261
- label: t('action.share'),
262
- icon: color => /*#__PURE__*/_jsx(ShareIcon, {
263
- color: color
264
- }),
265
- onPress: handleShare
266
- }], [isOwnProfile, t, handleShare, handlePrivateMessage, handleLogout] // eslint-disable-line react-hooks/exhaustive-deps
267
- );
268
-
269
- // Collapsed, the hero's round buttons are gone — the "…" menu carries
270
- // exactly the same actions so nothing becomes unreachable.
271
- const menuItems = useMemo(() => isCollapsed ? heroActions.map(action => ({
272
- key: action.key,
273
- label: action.label,
274
- icon: action.icon('#141414'),
275
- destructive: action.key === 'logout',
276
- onPress: action.onPress
277
- })) : [], [isCollapsed, heroActions]);
278
- if (isEditing) {
279
- return /*#__PURE__*/_jsx(ModalContainerFullScreen, {
280
- children: /*#__PURE__*/_jsx(EditUserModal, {
281
- setIsEditing: setIsEditing,
282
- modalUser: profileUser,
283
- config: config
163
+ const showDeleteModal = docId => {
164
+ setDeleteDocumentId(docId);
165
+ setShowDelete(true);
166
+ };
167
+ const DefaultBody = useMemo(() => /*#__PURE__*/_jsxs(_Fragment, {
168
+ children: [/*#__PURE__*/_jsx(ModalHeaderComponent, {
169
+ handleCloseModal: handleBackClick,
170
+ headerTitle: 'Profile',
171
+ rightMenu: !selectedUser && /*#__PURE__*/_jsxs(_Fragment, {
172
+ children: [/*#__PURE__*/_jsx(Button, {
173
+ onPress: EditClick,
174
+ children: /*#__PURE__*/_jsx(EditIcon, {
175
+ color: "#8C8C8C"
176
+ })
177
+ }), /*#__PURE__*/_jsx(DropdownMenu, {
178
+ options: menuOptions,
179
+ position: "right",
180
+ menuIcon: /*#__PURE__*/_jsx(MoreIcon, {})
181
+ })]
284
182
  })
285
- });
286
- }
287
- const displayName = profileUser?.name || `${profileUser?.firstName ?? ''} ${profileUser?.lastName ?? ''}`.trim() || t('modal.profile.title');
288
- const heroImage = appendFileToken(profileUser?.profileImage, fileToken) || null;
289
- const heroColor = config?.colors?.avatar || getIconColor(config);
290
- const description = profileUser?.description;
291
- const renderTabBody = () => {
292
- if (activeTab === 'language') {
293
- return /*#__PURE__*/_jsx(View, {
294
- children: LANGUAGE_OPTIONS.map(option => {
295
- const selected = langSource === option.id;
296
- return /*#__PURE__*/_jsxs(TouchableOpacity, {
297
- testID: `${PREFIX}-language-${option.id}`,
298
- activeOpacity: 0.7,
299
- style: styles.languageRow,
300
- onPress: () => dispatch(setLangSource(option.id)),
301
- children: [/*#__PURE__*/_jsx(Text, {
302
- style: styles.languageLabel,
303
- children: option.name
304
- }), selected && /*#__PURE__*/_jsx(Text, {
305
- style: [styles.check, {
306
- color: getIconColor(config)
307
- }],
308
- children: "\u2713"
309
- })]
310
- }, option.id);
183
+ }), /*#__PURE__*/_jsxs(CenterContainer, {
184
+ children: [/*#__PURE__*/_jsx(ProfileImagePlaceholder, {
185
+ icon: modalUser?.profileImage ?? null,
186
+ name: modalUser?.name ?? modalUser?.firstName,
187
+ size: 120
188
+ }), /*#__PURE__*/_jsx(UserInfo, {
189
+ children: /*#__PURE__*/_jsx(UserName, {
190
+ children: modalUser?.name ? `${modalUser?.name}` : `${modalUser?.firstName} ${modalUser?.lastName}`
311
191
  })
312
- });
313
- }
314
- if (activeTab === 'media') {
315
- return /*#__PURE__*/_jsx(View, {
316
- style: styles.mediaGrid,
317
- children: media.map(file => /*#__PURE__*/_jsx(TouchableOpacity, {
318
- testID: `${PREFIX}-media-${file.id}`,
319
- activeOpacity: 0.8,
320
- style: styles.mediaTile,
321
- onPress: () => openFile(file),
322
- children: /*#__PURE__*/_jsx(Image, {
323
- source: {
324
- uri: appendFileToken(file.url, fileToken) || file.url
192
+ }), !selectedUser && config?.translates?.enabled && /*#__PURE__*/_jsx(BorderedContainer, {
193
+ children: /*#__PURE__*/_jsx(Select, {
194
+ options: LANGUAGE_OPTIONS,
195
+ placeholder: 'Select your language',
196
+ onSelect: handleSelect,
197
+ accentColor: config?.colors?.primary,
198
+ selectedValue: findLanguage()
199
+ })
200
+ }), /*#__PURE__*/_jsxs(BorderedContainer, {
201
+ children: [/*#__PURE__*/_jsx(Label, {
202
+ children: "About"
203
+ }), /*#__PURE__*/_jsx(LabelData, {
204
+ children: modalUser?.description && modalUser?.description?.length > 4 ? modalUser.description : 'No description'
205
+ })]
206
+ }), selectedUser && !config?.disableMemberProfileActions && /*#__PURE__*/_jsxs(_Fragment, {
207
+ children: [!config?.hideMemberSendMessageAction && /*#__PURE__*/_jsx(ActionButton, {
208
+ StartIcon: /*#__PURE__*/_jsx(ChatIcon, {}),
209
+ onPress: handlePrivateMessage,
210
+ variant: "filled",
211
+ children: /*#__PURE__*/_jsx(Text, {
212
+ style: {
213
+ color: '#ffffff'
325
214
  },
326
- style: styles.mediaImage,
327
- resizeMode: "cover"
215
+ children: "Message"
216
+ })
217
+ }), !config?.hideMemberCopyIdAction && /*#__PURE__*/_jsx(ActionButton, {
218
+ onPress: () => {}
219
+ // onPress={() => handleCopyClick(selectedUser.id)}
220
+ ,
221
+ variant: "filled",
222
+ children: /*#__PURE__*/_jsx(Text, {
223
+ style: {
224
+ color: '#ffffff'
225
+ },
226
+ children: "Copy User Id"
328
227
  })
329
- }, file.id))
330
- });
331
- }
332
- return /*#__PURE__*/_jsx(View, {
333
- children: documents.map(file => /*#__PURE__*/_jsxs(TouchableOpacity, {
334
- testID: `${PREFIX}-document-${file.id}`,
335
- activeOpacity: 0.7,
336
- style: styles.documentRow,
337
- onPress: () => openFile(file),
338
- children: [/*#__PURE__*/_jsx(IconDoc, {}), /*#__PURE__*/_jsxs(View, {
339
- style: styles.documentText,
340
- children: [/*#__PURE__*/_jsx(Text, {
341
- numberOfLines: 1,
342
- style: styles.documentName,
343
- children: file.name
344
- }), !!file.createdAt && /*#__PURE__*/_jsx(Text, {
345
- style: styles.documentDate,
346
- children: new Date(file.createdAt).toLocaleDateString()
347
- })]
348
228
  })]
349
- }, file.id))
350
- });
351
- };
352
- return /*#__PURE__*/_jsxs(ModalContainerFullScreen, {
353
- style: styles.screen,
354
- children: [/*#__PURE__*/_jsxs(Animated.ScrollView, {
355
- ref: scrollRef,
356
- style: styles.scroll,
357
- contentContainerStyle: [styles.scrollContent, viewportHeight > 0 && {
358
- minHeight: viewportHeight + collapseDistance
359
- }],
360
- onLayout: e => setViewportHeight(e.nativeEvent.layout.height),
361
- showsVerticalScrollIndicator: false,
362
- scrollEventThrottle: 16,
363
- onScroll: Animated.event([{
364
- nativeEvent: {
365
- contentOffset: {
366
- y: scrollY
367
- }
368
- }
369
- }], {
370
- useNativeDriver: true,
371
- listener: e => {
372
- const y = e?.nativeEvent?.contentOffset?.y ?? 0;
373
- setIsCollapsed(y >= collapseDistance - 8);
374
- }
375
- }),
376
- children: [/*#__PURE__*/_jsx(ProfileHero, {
377
- testIDPrefix: PREFIX,
378
- title: displayName,
379
- imageUri: heroImage,
380
- fallbackColor: heroColor,
381
- initials: userInitials(displayName),
382
- scrollY: scrollY,
383
- actions: heroActions,
384
- titleStyle: chatTextStyle(config?.typography?.profile?.title),
385
- titleAccessory: isOwnProfile ? /*#__PURE__*/_jsxs(TouchableOpacity, {
386
- testID: `${PREFIX}-logout`,
387
- activeOpacity: 0.7,
388
- style: styles.leaveButton,
389
- onPress: handleLogout,
390
- children: [/*#__PURE__*/_jsx(LeaveIcon, {
391
- color: "#FFFFFF",
392
- width: 18,
393
- height: 18
394
- }), /*#__PURE__*/_jsx(Text, {
395
- style: styles.leaveLabel,
396
- children: t('action.leave')
397
- })]
398
- }) : undefined
399
- }), /*#__PURE__*/_jsxs(View, {
400
- style: styles.body,
401
- children: [/*#__PURE__*/_jsxs(View, {
402
- style: styles.card,
403
- children: [/*#__PURE__*/_jsx(Text, {
404
- style: [styles.cardLabel, getElementFont(config, 'profileSectionLabel')],
405
- children: t('modal.profile.about')
406
- }), /*#__PURE__*/_jsx(Text, {
407
- style: styles.cardValue,
408
- children: description && description.length > 4 ? description : t('modal.profile.noDescription')
409
- })]
410
- }), tabs.length > 0 && /*#__PURE__*/_jsxs(View, {
411
- style: styles.card,
412
- children: [/*#__PURE__*/_jsx(View, {
413
- style: styles.tabsRow,
414
- children: tabs.map(tab => {
415
- const active = tab === activeTab;
416
- const count = tab === 'media' ? media.length : tab === 'documents' ? documents.length : 0;
417
- return /*#__PURE__*/_jsxs(TouchableOpacity, {
418
- testID: `${PREFIX}-tab-${tab}`,
419
- activeOpacity: 0.7,
420
- style: [styles.tab, active && {
421
- borderBottomColor: getIconColor(config)
422
- }],
423
- onPress: () => setActiveTab(tab),
424
- children: [/*#__PURE__*/_jsx(Text, {
425
- style: [styles.tabLabel, active && {
426
- color: getIconColor(config)
427
- }],
428
- children: t(`modal.profile.${tab}`)
429
- }), count > 0 && /*#__PURE__*/_jsx(View, {
430
- style: [styles.tabBadge, {
431
- backgroundColor: getIconColor(config)
432
- }],
433
- children: /*#__PURE__*/_jsx(Text, {
434
- style: styles.tabBadgeText,
435
- children: count
229
+ }), /*#__PURE__*/_jsx(BorderedContainer, {
230
+ children: /*#__PURE__*/_jsx(ScrollView, {
231
+ style: {
232
+ maxHeight: 400
233
+ },
234
+ showsVerticalScrollIndicator: true,
235
+ nestedScrollEnabled: true,
236
+ children: documents.map(doc => /*#__PURE__*/_jsxs(View, {
237
+ style: {
238
+ flexDirection: 'row',
239
+ alignItems: 'center',
240
+ justifyContent: 'space-between',
241
+ gap: 24,
242
+ backgroundColor: '#F3F6FC',
243
+ marginBottom: 8,
244
+ paddingVertical: 8,
245
+ paddingHorizontal: 16,
246
+ borderRadius: 8
247
+ },
248
+ children: [/*#__PURE__*/_jsxs(View, {
249
+ style: {
250
+ flexDirection: 'row',
251
+ alignItems: 'center',
252
+ gap: 24
253
+ },
254
+ children: [/*#__PURE__*/_jsx(View, {
255
+ children: /*#__PURE__*/_jsx(IconDoc, {})
256
+ }), /*#__PURE__*/_jsxs(View, {
257
+ children: [/*#__PURE__*/_jsx(Label, {
258
+ style: {
259
+ paddingBottom: 4
260
+ },
261
+ children: doc.documentName
262
+ }), /*#__PURE__*/_jsx(LabelData, {
263
+ children: new Date(doc.createdAt).toLocaleDateString('en-GB', {
264
+ day: '2-digit',
265
+ month: 'short',
266
+ year: 'numeric'
267
+ }) + ' ' + new Date(doc.createdAt).toLocaleTimeString('en-GB', {
268
+ hour: '2-digit',
269
+ minute: '2-digit'
436
270
  })
437
271
  })]
438
- }, tab);
439
- })
440
- }), renderTabBody()]
441
- }), isOwnProfile && loadingFiles && files.length === 0 && /*#__PURE__*/_jsx(ActivityIndicator, {
442
- testID: `${PREFIX}-files-loading`
443
- })]
272
+ })]
273
+ }), /*#__PURE__*/_jsx(Button, {
274
+ onPress: () => showDeleteModal(doc._id),
275
+ children: /*#__PURE__*/_jsx(DeleteIcon, {})
276
+ })]
277
+ }, doc._id))
278
+ })
444
279
  })]
445
- }), /*#__PURE__*/_jsx(ProfileTopBar, {
446
- testIDPrefix: PREFIX,
447
- title: displayName,
448
- imageUri: heroImage,
449
- fallbackColor: heroColor,
450
- initials: userInitials(displayName),
451
- scrollY: scrollY,
452
- onBack: handleBackClick,
453
- titleStyle: chatTextStyle(config?.typography?.profile?.screenTitle),
454
- menu: /*#__PURE__*/_jsx(ProfileMenu, {
455
- testIDPrefix: PREFIX,
456
- items: menuItems
280
+ })]
281
+ }), [modalUser, documents]);
282
+ const EditingBody = useMemo(() => /*#__PURE__*/_jsx(EditUserModal, {
283
+ setIsEditing: setIsEditing,
284
+ modalUser: modalUser,
285
+ config: config
286
+ }), [modalUser]);
287
+ return /*#__PURE__*/_jsxs(_Fragment, {
288
+ children: [/*#__PURE__*/_jsx(ModalContainerFullScreen, {
289
+ children: !isEditing ? DefaultBody : EditingBody
290
+ }), showDelete && /*#__PURE__*/_jsx(ModalBackground, {
291
+ style: {
292
+ position: 'absolute',
293
+ zIndex: 9999
294
+ },
295
+ children: /*#__PURE__*/_jsxs(ModalContainer, {
296
+ children: [/*#__PURE__*/_jsx(CloseButton, {
297
+ onPress: () => setShowDelete(false),
298
+ children: /*#__PURE__*/_jsx(Text, {
299
+ style: {
300
+ fontSize: 24
301
+ },
302
+ children: "\xD7"
303
+ })
304
+ }), /*#__PURE__*/_jsx(ModalTitle, {
305
+ children: "Delete this document?"
306
+ }), /*#__PURE__*/_jsxs(GroupContainer, {
307
+ children: [/*#__PURE__*/_jsx(Button, {
308
+ onPress: () => setShowDelete(false),
309
+ text: 'Cancel',
310
+ style: {
311
+ width: '100%'
312
+ },
313
+ unstyled: true,
314
+ variant: "filled",
315
+ color: "white"
316
+ }), /*#__PURE__*/_jsx(Button, {
317
+ onPress: handleDeleteDocument,
318
+ text: 'Delete',
319
+ style: {
320
+ width: '100%',
321
+ borderWidth: 1,
322
+ borderColor: 'red'
323
+ },
324
+ color: "red",
325
+ unstyled: true,
326
+ variant: "outlined"
327
+ })]
328
+ })]
457
329
  })
458
330
  })]
459
331
  });
460
332
  };
461
- const styles = StyleSheet.create({
462
- screen: {
463
- position: 'relative',
464
- backgroundColor: '#F2F3F5'
465
- },
466
- scroll: {
467
- width: '100%',
468
- flex: 1
469
- },
470
- scrollContent: {
471
- paddingBottom: 32
472
- },
473
- body: {
474
- padding: 12,
475
- gap: 12
476
- },
477
- card: {
478
- backgroundColor: '#FFFFFF',
479
- borderRadius: 14,
480
- padding: 16,
481
- shadowColor: '#000',
482
- shadowOffset: {
483
- width: 0,
484
- height: 1
485
- },
486
- shadowOpacity: 0.05,
487
- shadowRadius: 4,
488
- elevation: 1
489
- },
490
- cardLabel: {
491
- color: '#8C8C8C',
492
- fontSize: 14
493
- },
494
- cardValue: {
495
- color: '#141414',
496
- fontSize: 16,
497
- marginTop: 4
498
- },
499
- leaveButton: {
500
- flexDirection: 'row',
501
- alignItems: 'center',
502
- gap: 6,
503
- paddingHorizontal: 12,
504
- paddingVertical: 7,
505
- borderRadius: 18,
506
- backgroundColor: 'rgba(0,0,0,0.35)'
507
- },
508
- leaveLabel: {
509
- color: '#FFFFFF',
510
- fontSize: 14,
511
- fontWeight: '500'
512
- },
513
- tabsRow: {
514
- flexDirection: 'row',
515
- gap: 20,
516
- borderBottomWidth: StyleSheet.hairlineWidth,
517
- borderBottomColor: '#EFEFF2',
518
- marginBottom: 12
519
- },
520
- tab: {
521
- flexDirection: 'row',
522
- alignItems: 'center',
523
- gap: 6,
524
- paddingBottom: 10,
525
- borderBottomWidth: 2,
526
- borderBottomColor: 'transparent'
527
- },
528
- tabLabel: {
529
- fontSize: 15,
530
- fontWeight: '500',
531
- color: '#8C8C8C'
532
- },
533
- tabBadge: {
534
- minWidth: 20,
535
- paddingHorizontal: 5,
536
- paddingVertical: 1,
537
- borderRadius: 10,
538
- alignItems: 'center'
539
- },
540
- tabBadgeText: {
541
- color: '#FFFFFF',
542
- fontSize: 11,
543
- fontWeight: '600'
544
- },
545
- languageRow: {
546
- flexDirection: 'row',
547
- alignItems: 'center',
548
- justifyContent: 'space-between',
549
- paddingVertical: 12
550
- },
551
- languageLabel: {
552
- fontSize: 16,
553
- color: '#141414'
554
- },
555
- check: {
556
- fontSize: 16,
557
- fontWeight: '700'
558
- },
559
- mediaGrid: {
560
- flexDirection: 'row',
561
- flexWrap: 'wrap',
562
- gap: 6
563
- },
564
- mediaTile: {
565
- width: '31.8%',
566
- aspectRatio: 1,
567
- borderRadius: 10,
568
- overflow: 'hidden',
569
- backgroundColor: '#EFEFF2'
570
- },
571
- mediaImage: {
572
- width: '100%',
573
- height: '100%'
574
- },
575
- documentRow: {
576
- flexDirection: 'row',
577
- alignItems: 'center',
578
- gap: 14,
579
- paddingVertical: 12
580
- },
581
- documentText: {
582
- flex: 1
583
- },
584
- documentName: {
585
- fontSize: 16,
586
- color: '#141414'
587
- },
588
- documentDate: {
589
- fontSize: 13,
590
- color: '#8C8C8C',
591
- marginTop: 2
592
- }
593
- });
594
333
  export default UserProfileModal;
595
334
  //# sourceMappingURL=UserProfileModal.js.map