@ethora/chat-component-rn 26.5.7 → 26.5.10

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 (371) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/README.md +67 -10
  3. package/index.js +24 -0
  4. package/lib/commonjs/assets/icons.js +5 -1
  5. package/lib/commonjs/assets/icons.js.map +1 -1
  6. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +11 -5
  7. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  8. package/lib/commonjs/components/MainComponents/ChatRoom.js +64 -38
  9. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/ChatWrapper.js +57 -13
  11. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  12. package/lib/commonjs/components/MainComponents/MediaMessage.js +4 -2
  13. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  14. package/lib/commonjs/components/MainComponents/MessageContainer.js +2 -2
  15. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  16. package/lib/commonjs/components/MainComponents/MessageList.js +165 -28
  17. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  18. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +17 -8
  19. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  20. package/lib/commonjs/components/MainComponents/SystemMessage.js +34 -22
  21. package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
  22. package/lib/commonjs/components/MessageBubble/Message.js +84 -39
  23. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  24. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +82 -22
  25. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  26. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +16 -4
  27. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  28. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +104 -0
  29. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  30. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +140 -24
  31. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  32. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +29 -1
  33. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  34. package/lib/commonjs/components/Modals/Modal/Modal.js +5 -1
  35. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  36. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +77 -47
  37. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  38. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  39. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  40. package/lib/commonjs/components/Modals/styledModalComponents.js +4 -9
  41. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  42. package/lib/commonjs/components/styled/MediaFilePreview.js +47 -28
  43. package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
  44. package/lib/commonjs/components/styled/MessageImage.js +49 -9
  45. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  46. package/lib/commonjs/components/styled/NewMessageLabel.js +8 -6
  47. package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
  48. package/lib/commonjs/components/styled/SendInput.js +49 -27
  49. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  50. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  51. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  52. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  53. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  54. package/lib/commonjs/components/styled/UnsupportedType.js +5 -1
  55. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  56. package/lib/commonjs/components/styled/VideoMessage.js +60 -14
  57. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  58. package/lib/commonjs/context/MessageNotificationContext.js +7 -7
  59. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  60. package/lib/commonjs/context/xmppProvider.js +244 -32
  61. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  62. package/lib/commonjs/helpers/chatAutoEnterer.js +2 -7
  63. package/lib/commonjs/helpers/chatAutoEnterer.js.map +1 -1
  64. package/lib/commonjs/helpers/historyPreloadScheduler.js +4 -1
  65. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  66. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +15 -5
  67. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  68. package/lib/commonjs/helpers/keyboardLayout.js +18 -0
  69. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -0
  70. package/lib/commonjs/helpers/mediaDimensions.js +51 -0
  71. package/lib/commonjs/helpers/mediaDimensions.js.map +1 -0
  72. package/lib/commonjs/helpers/normalizeRoomJid.js +20 -0
  73. package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
  74. package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
  75. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
  76. package/lib/commonjs/hooks/useHeapSender.js +1 -1
  77. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  78. package/lib/commonjs/hooks/useLogout.js +3 -3
  79. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  80. package/lib/commonjs/hooks/usePushNotifications.js +6 -2
  81. package/lib/commonjs/hooks/usePushNotifications.js.map +1 -1
  82. package/lib/commonjs/hooks/useRoomState.js +2 -0
  83. package/lib/commonjs/hooks/useRoomState.js.map +1 -1
  84. package/lib/commonjs/hooks/useSendMessage.js +201 -10
  85. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  86. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +12 -14
  87. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  88. package/lib/commonjs/main.js +7 -0
  89. package/lib/commonjs/main.js.map +1 -1
  90. package/lib/commonjs/networking/api-requests/auth.api.js +67 -0
  91. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  92. package/lib/commonjs/networking/apiClient.js +2 -1
  93. package/lib/commonjs/networking/apiClient.js.map +1 -1
  94. package/lib/commonjs/networking/outboundQueue.js +92 -0
  95. package/lib/commonjs/networking/outboundQueue.js.map +1 -0
  96. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  97. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  98. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  99. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  100. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  101. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  102. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  103. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  104. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  105. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  106. package/lib/commonjs/networking/xmppClient.js +294 -35
  107. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  108. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +22 -6
  109. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  110. package/lib/commonjs/roomStore/roomsSlice.js +157 -23
  111. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  112. package/lib/commonjs/utils/installPromiseRejectionTracker.js +83 -0
  113. package/lib/commonjs/utils/installPromiseRejectionTracker.js.map +1 -0
  114. package/lib/commonjs/utils/resendMessage.js +1 -1
  115. package/lib/commonjs/utils/resendMessage.js.map +1 -1
  116. package/lib/module/assets/icons.js +5 -1
  117. package/lib/module/assets/icons.js.map +1 -1
  118. package/lib/module/components/ContextMenu/ContextMenuComponents.js +11 -5
  119. package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  120. package/lib/module/components/MainComponents/ChatRoom.js +65 -39
  121. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  122. package/lib/module/components/MainComponents/ChatWrapper.js +57 -13
  123. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  124. package/lib/module/components/MainComponents/MediaMessage.js +4 -2
  125. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  126. package/lib/module/components/MainComponents/MessageContainer.js +2 -2
  127. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  128. package/lib/module/components/MainComponents/MessageList.js +166 -29
  129. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  130. package/lib/module/components/MainComponents/ReduxWrapper.js +18 -8
  131. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  132. package/lib/module/components/MainComponents/SystemMessage.js +33 -21
  133. package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
  134. package/lib/module/components/MessageBubble/Message.js +85 -40
  135. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  136. package/lib/module/components/MessageBubble/MessageInteractions.js +84 -24
  137. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  138. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +15 -3
  139. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  140. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +99 -0
  141. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  142. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +143 -25
  143. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  144. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +31 -3
  145. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  146. package/lib/module/components/Modals/Modal/Modal.js +5 -1
  147. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  148. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +79 -49
  149. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  150. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  151. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  152. package/lib/module/components/Modals/styledModalComponents.js +4 -9
  153. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  154. package/lib/module/components/styled/MediaFilePreview.js +47 -28
  155. package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
  156. package/lib/module/components/styled/MessageImage.js +51 -11
  157. package/lib/module/components/styled/MessageImage.js.map +1 -1
  158. package/lib/module/components/styled/NewMessageLabel.js +8 -6
  159. package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
  160. package/lib/module/components/styled/SendInput.js +50 -28
  161. package/lib/module/components/styled/SendInput.js.map +1 -1
  162. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  163. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  164. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  165. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  166. package/lib/module/components/styled/UnsupportedType.js +5 -1
  167. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  168. package/lib/module/components/styled/VideoMessage.js +61 -15
  169. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  170. package/lib/module/context/MessageNotificationContext.js +7 -7
  171. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  172. package/lib/module/context/xmppProvider.js +246 -34
  173. package/lib/module/context/xmppProvider.js.map +1 -1
  174. package/lib/module/helpers/chatAutoEnterer.js +2 -7
  175. package/lib/module/helpers/chatAutoEnterer.js.map +1 -1
  176. package/lib/module/helpers/historyPreloadScheduler.js +4 -1
  177. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  178. package/lib/module/helpers/insertMessageWithDelimiter.js +15 -5
  179. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  180. package/lib/module/helpers/keyboardLayout.js +12 -0
  181. package/lib/module/helpers/keyboardLayout.js.map +1 -0
  182. package/lib/module/helpers/mediaDimensions.js +46 -0
  183. package/lib/module/helpers/mediaDimensions.js.map +1 -0
  184. package/lib/module/helpers/normalizeRoomJid.js +15 -0
  185. package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
  186. package/lib/module/hooks/useChatRoomFocus.js +82 -0
  187. package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
  188. package/lib/module/hooks/useHeapSender.js +1 -1
  189. package/lib/module/hooks/useHeapSender.js.map +1 -1
  190. package/lib/module/hooks/useLogout.js +3 -3
  191. package/lib/module/hooks/useLogout.js.map +1 -1
  192. package/lib/module/hooks/usePushNotifications.js +6 -2
  193. package/lib/module/hooks/usePushNotifications.js.map +1 -1
  194. package/lib/module/hooks/useRoomState.js +2 -0
  195. package/lib/module/hooks/useRoomState.js.map +1 -1
  196. package/lib/module/hooks/useSendMessage.js +203 -12
  197. package/lib/module/hooks/useSendMessage.js.map +1 -1
  198. package/lib/module/hooks/useUnreadMessagesCounter.js +12 -14
  199. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  200. package/lib/module/main.js +1 -0
  201. package/lib/module/main.js.map +1 -1
  202. package/lib/module/networking/api-requests/auth.api.js +67 -1
  203. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  204. package/lib/module/networking/apiClient.js +2 -1
  205. package/lib/module/networking/apiClient.js.map +1 -1
  206. package/lib/module/networking/outboundQueue.js +84 -0
  207. package/lib/module/networking/outboundQueue.js.map +1 -0
  208. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  209. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  210. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  211. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  212. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  213. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  214. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  215. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  216. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  217. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  218. package/lib/module/networking/xmppClient.js +294 -35
  219. package/lib/module/networking/xmppClient.js.map +1 -1
  220. package/lib/module/roomStore/Middleware/unreadMidlleware.js +22 -6
  221. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  222. package/lib/module/roomStore/roomsSlice.js +154 -22
  223. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  224. package/lib/module/utils/installPromiseRejectionTracker.js +78 -0
  225. package/lib/module/utils/installPromiseRejectionTracker.js.map +1 -0
  226. package/lib/module/utils/resendMessage.js +1 -1
  227. package/lib/module/utils/resendMessage.js.map +1 -1
  228. package/lib/typescript/assets/icons.d.ts +8 -4
  229. package/lib/typescript/assets/icons.d.ts.map +1 -1
  230. package/lib/typescript/components/ContextMenu/ContextMenuComponents.d.ts.map +1 -1
  231. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  232. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  233. package/lib/typescript/components/MainComponents/MediaMessage.d.ts +1 -0
  234. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  235. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  236. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  237. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts +1 -0
  238. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  239. package/lib/typescript/components/MainComponents/SystemMessage.d.ts +0 -7
  240. package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
  241. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  242. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +4 -2
  243. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  244. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  245. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +29 -0
  246. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -0
  247. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +0 -1
  248. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  249. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  250. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  251. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
  252. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  253. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  254. package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
  255. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  256. package/lib/typescript/components/styled/NewMessageLabel.d.ts +1 -5
  257. package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
  258. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  259. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +9 -1
  260. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
  261. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  262. package/lib/typescript/components/styled/UnsupportedType.d.ts +1 -0
  263. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  264. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  265. package/lib/typescript/context/xmppProvider.d.ts +1 -0
  266. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  267. package/lib/typescript/helpers/chatAutoEnterer.d.ts.map +1 -1
  268. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  269. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  270. package/lib/typescript/helpers/keyboardLayout.d.ts +9 -0
  271. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -0
  272. package/lib/typescript/helpers/mediaDimensions.d.ts +9 -0
  273. package/lib/typescript/helpers/mediaDimensions.d.ts.map +1 -0
  274. package/lib/typescript/helpers/normalizeRoomJid.d.ts +2 -0
  275. package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
  276. package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
  277. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
  278. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  279. package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
  280. package/lib/typescript/hooks/useRoomState.d.ts +1 -0
  281. package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
  282. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  283. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  284. package/lib/typescript/main.d.ts +1 -0
  285. package/lib/typescript/main.d.ts.map +1 -1
  286. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -0
  287. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  288. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  289. package/lib/typescript/networking/outboundQueue.d.ts +57 -0
  290. package/lib/typescript/networking/outboundQueue.d.ts.map +1 -0
  291. package/lib/typescript/networking/xmpp/createTimeoutPromise.xmpp.d.ts.map +1 -1
  292. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -1
  293. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  294. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts +1 -1
  295. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts.map +1 -1
  296. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  297. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
  298. package/lib/typescript/networking/xmppClient.d.ts +33 -4
  299. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  300. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  301. package/lib/typescript/roomStore/roomsSlice.d.ts +8 -1
  302. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  303. package/lib/typescript/types/models/media.model.d.ts +1 -0
  304. package/lib/typescript/types/models/media.model.d.ts.map +1 -1
  305. package/lib/typescript/types/models/xmpp.model.d.ts +1 -1
  306. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  307. package/lib/typescript/types/types.d.ts +4 -0
  308. package/lib/typescript/types/types.d.ts.map +1 -1
  309. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts +20 -0
  310. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts.map +1 -0
  311. package/lib/typescript/utils/resendMessage.d.ts.map +1 -1
  312. package/package.json +18 -2
  313. package/src/assets/icons.tsx +23 -14
  314. package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
  315. package/src/components/MainComponents/ChatRoom.tsx +81 -66
  316. package/src/components/MainComponents/ChatWrapper.tsx +99 -21
  317. package/src/components/MainComponents/MediaMessage.tsx +3 -0
  318. package/src/components/MainComponents/MessageContainer.tsx +4 -2
  319. package/src/components/MainComponents/MessageList.tsx +175 -28
  320. package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
  321. package/src/components/MainComponents/SystemMessage.tsx +38 -26
  322. package/src/components/MessageBubble/Message.tsx +91 -62
  323. package/src/components/MessageBubble/MessageInteractions.tsx +98 -29
  324. package/src/components/Modals/AttachSheet/AttachSheet.tsx +17 -3
  325. package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
  326. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +152 -25
  327. package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
  328. package/src/components/Modals/Modal/Modal.tsx +4 -1
  329. package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +70 -58
  330. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
  331. package/src/components/Modals/styledModalComponents.tsx +4 -9
  332. package/src/components/styled/MediaFilePreview.tsx +46 -26
  333. package/src/components/styled/MessageImage.tsx +58 -13
  334. package/src/components/styled/NewMessageLabel.tsx +8 -5
  335. package/src/components/styled/SendInput.tsx +64 -29
  336. package/src/components/styled/StyledInputComponents/MediaComponents.tsx +15 -5
  337. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +7 -2
  338. package/src/components/styled/UnsupportedType.tsx +7 -1
  339. package/src/components/styled/VideoMessage.tsx +59 -11
  340. package/src/context/MessageNotificationContext.tsx +8 -8
  341. package/src/context/xmppProvider.tsx +247 -30
  342. package/src/helpers/chatAutoEnterer.ts +2 -8
  343. package/src/helpers/historyPreloadScheduler.ts +4 -1
  344. package/src/helpers/insertMessageWithDelimiter.ts +22 -15
  345. package/src/helpers/keyboardLayout.ts +18 -0
  346. package/src/helpers/mediaDimensions.ts +47 -0
  347. package/src/helpers/normalizeRoomJid.ts +6 -0
  348. package/src/hooks/useChatRoomFocus.ts +95 -0
  349. package/src/hooks/useHeapSender.tsx +2 -1
  350. package/src/hooks/useLogout.tsx +3 -3
  351. package/src/hooks/usePushNotifications.ts +21 -8
  352. package/src/hooks/useRoomState.tsx +4 -0
  353. package/src/hooks/useSendMessage.tsx +258 -13
  354. package/src/hooks/useUnreadMessagesCounter.ts +13 -16
  355. package/src/main.ts +1 -0
  356. package/src/networking/api-requests/auth.api.ts +55 -1
  357. package/src/networking/apiClient.ts +2 -1
  358. package/src/networking/outboundQueue.ts +98 -0
  359. package/src/networking/xmpp/createTimeoutPromise.xmpp.ts +5 -1
  360. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +11 -13
  361. package/src/networking/xmpp/getRoomsPaged.xmpp.ts +27 -3
  362. package/src/networking/xmpp/presenceInRoom.xmpp.ts +24 -9
  363. package/src/networking/xmpp/sendTextMessage.xmpp.ts +2 -1
  364. package/src/networking/xmppClient.ts +317 -43
  365. package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
  366. package/src/roomStore/roomsSlice.ts +177 -27
  367. package/src/types/models/media.model.ts +3 -0
  368. package/src/types/models/xmpp.model.ts +2 -1
  369. package/src/types/types.ts +15 -0
  370. package/src/utils/installPromiseRejectionTracker.ts +91 -0
  371. package/src/utils/resendMessage.ts +2 -1
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeWebview = require("react-native-webview");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ /**
13
+ * Inline preview for office documents (DOC / DOCX / XLS / XLSX / PPT /
14
+ * PPTX / TXT / RTF / CSV) and other non-PDF formats supported by
15
+ * Google's free gview rendering service.
16
+ *
17
+ * Strategy: embed `https://docs.google.com/gview?url=<encoded>&embedded=true`
18
+ * inside a WebView. Google fetches the doc from its public URL and
19
+ * renders it to a viewable iframe — no client-side dependency on
20
+ * native office libraries, no extra peer dep. Works for any backend
21
+ * whose file URLs are publicly reachable (which Ethora's `/files/`
22
+ * already are — they're CDN URLs returned in `item.location`).
23
+ *
24
+ * Limitations (documented for the integrator):
25
+ * - Requires public URL — won't work for auth-gated downloads.
26
+ * - First load can take 2-5s on slow networks.
27
+ * - Read-only — no editing, no print/share buttons.
28
+ *
29
+ * For PDFs use the existing PdfViewer (downloads then renders locally).
30
+ */
31
+ const DocumentViewer = ({
32
+ url,
33
+ fileName
34
+ }) => {
35
+ const [loaded, setLoaded] = (0, _react.useState)(false);
36
+ const [errored, setErrored] = (0, _react.useState)(false);
37
+ const viewerUrl = `https://docs.google.com/gview?url=${encodeURIComponent(url)}&embedded=true`;
38
+ if (errored) {
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
40
+ style: styles.center,
41
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
42
+ style: styles.errorTitle,
43
+ children: fileName || 'Document'
44
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
45
+ style: styles.errorBody,
46
+ children: "Couldn't render an inline preview. Tap the save icon above to download the file."
47
+ })]
48
+ });
49
+ }
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
51
+ style: styles.container,
52
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeWebview.WebView, {
53
+ source: {
54
+ uri: viewerUrl
55
+ },
56
+ style: styles.webview,
57
+ originWhitelist: ['*'],
58
+ startInLoadingState: true,
59
+ onLoadEnd: () => setLoaded(true),
60
+ onError: () => setErrored(true),
61
+ onHttpError: () => setErrored(true)
62
+ }), !loaded && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
63
+ style: styles.loadingOverlay,
64
+ pointerEvents: "none",
65
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
66
+ size: "large"
67
+ })
68
+ })]
69
+ });
70
+ };
71
+ var _default = exports.default = DocumentViewer;
72
+ const styles = _reactNative.StyleSheet.create({
73
+ container: {
74
+ flex: 1,
75
+ width: '100%',
76
+ backgroundColor: '#fff'
77
+ },
78
+ webview: {
79
+ flex: 1,
80
+ backgroundColor: '#fff'
81
+ },
82
+ loadingOverlay: {
83
+ ..._reactNative.StyleSheet.absoluteFillObject,
84
+ justifyContent: 'center',
85
+ alignItems: 'center',
86
+ backgroundColor: '#ffffff'
87
+ },
88
+ center: {
89
+ flex: 1,
90
+ alignItems: 'center',
91
+ justifyContent: 'center',
92
+ padding: 24,
93
+ gap: 8
94
+ },
95
+ errorTitle: {
96
+ fontSize: 16,
97
+ fontWeight: '600'
98
+ },
99
+ errorBody: {
100
+ color: '#666',
101
+ textAlign: 'center'
102
+ }
103
+ });
104
+ //# sourceMappingURL=DocumentViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DocumentViewer","url","fileName","loaded","setLoaded","useState","errored","setErrored","viewerUrl","encodeURIComponent","jsxs","View","style","styles","center","children","jsx","Text","errorTitle","errorBody","container","WebView","source","uri","webview","originWhitelist","startInLoadingState","onLoadEnd","onError","onHttpError","loadingOverlay","pointerEvents","ActivityIndicator","size","_default","exports","StyleSheet","create","flex","width","backgroundColor","absoluteFillObject","justifyContent","alignItems","padding","gap","fontSize","fontWeight","color","textAlign"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/DocumentViewer.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAA+C,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAS/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMkB,cAA6C,GAAGA,CAAC;EAAEC,GAAG;EAAEC;AAAS,CAAC,KAAK;EAC3E,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAC3C,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EAE7C,MAAMG,SAAS,GAAG,qCAAqCC,kBAAkB,CACvER,GACF,CAAC,gBAAgB;EAEjB,IAAIK,OAAO,EAAE;IACX,oBACE,IAAA1B,WAAA,CAAA8B,IAAA,EAAChC,YAAA,CAAAiC,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACC,MAAO;MAAAC,QAAA,gBACzB,IAAAnC,WAAA,CAAAoC,GAAA,EAACtC,YAAA,CAAAuC,IAAI;QAACL,KAAK,EAAEC,MAAM,CAACK,UAAW;QAAAH,QAAA,EAC5Bb,QAAQ,IAAI;MAAU,CACnB,CAAC,eACP,IAAAtB,WAAA,CAAAoC,GAAA,EAACtC,YAAA,CAAAuC,IAAI;QAACL,KAAK,EAAEC,MAAM,CAACM,SAAU;QAAAJ,QAAA,EAAC;MAG/B,CAAM,CAAC;IAAA,CACH,CAAC;EAEX;EAEA,oBACE,IAAAnC,WAAA,CAAA8B,IAAA,EAAChC,YAAA,CAAAiC,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACO,SAAU;IAAAL,QAAA,gBAC5B,IAAAnC,WAAA,CAAAoC,GAAA,EAACrC,mBAAA,CAAA0C,OAAO;MACNC,MAAM,EAAE;QAAEC,GAAG,EAAEf;MAAU,CAAE;MAC3BI,KAAK,EAAEC,MAAM,CAACW,OAAQ;MACtBC,eAAe,EAAE,CAAC,GAAG,CAAE;MACvBC,mBAAmB;MACnBC,SAAS,EAAEA,CAAA,KAAMvB,SAAS,CAAC,IAAI,CAAE;MACjCwB,OAAO,EAAEA,CAAA,KAAMrB,UAAU,CAAC,IAAI,CAAE;MAChCsB,WAAW,EAAEA,CAAA,KAAMtB,UAAU,CAAC,IAAI;IAAE,CACrC,CAAC,EACD,CAACJ,MAAM,iBACN,IAAAvB,WAAA,CAAAoC,GAAA,EAACtC,YAAA,CAAAiC,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACiB,cAAe;MAACC,aAAa,EAAC,MAAM;MAAAhB,QAAA,eACtD,IAAAnC,WAAA,CAAAoC,GAAA,EAACtC,YAAA,CAAAsD,iBAAiB;QAACC,IAAI,EAAC;MAAO,CAAE;IAAC,CAC9B,CACP;EAAA,CACG,CAAC;AAEX,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA5C,OAAA,GAEaS,cAAc;AAE7B,MAAMa,MAAM,GAAGuB,uBAAU,CAACC,MAAM,CAAC;EAC/BjB,SAAS,EAAE;IAAEkB,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,MAAM;IAAEC,eAAe,EAAE;EAAO,CAAC;EAC9DhB,OAAO,EAAE;IAAEc,IAAI,EAAE,CAAC;IAAEE,eAAe,EAAE;EAAO,CAAC;EAC7CV,cAAc,EAAE;IACd,GAAGM,uBAAU,CAACK,kBAAkB;IAChCC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBH,eAAe,EAAE;EACnB,CAAC;EACD1B,MAAM,EAAE;IACNwB,IAAI,EAAE,CAAC;IACPK,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE,QAAQ;IACxBE,OAAO,EAAE,EAAE;IACXC,GAAG,EAAE;EACP,CAAC;EACD3B,UAAU,EAAE;IAAE4B,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAM,CAAC;EAC/C5B,SAAS,EAAE;IAAE6B,KAAK,EAAE,MAAM;IAAEC,SAAS,EAAE;EAAS;AAClD,CAAC,CAAC","ignoreList":[]}
@@ -3,9 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.FullScreenVideo = void 0;
6
+ exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
- var _native = _interopRequireDefault(require("styled-components/native"));
9
8
  var _styledModalComponents = require("../styledModalComponents");
10
9
  var _icons = require("../../../assets/icons");
11
10
  var _ModalHeaderComponent = _interopRequireDefault(require("../ModalHeaderComponent"));
@@ -14,20 +13,85 @@ var _Button = _interopRequireDefault(require("../../styled/Button"));
14
13
  var _MediaComponents = require("../../styled/StyledInputComponents/MediaComponents");
15
14
  var _chatSettingsSlice = require("../../../roomStore/chatSettingsSlice");
16
15
  var _reactNative = require("react-native");
17
- var _expoAv = require("expo-av");
16
+ var _expoVideo = require("expo-video");
18
17
  var FileSystem = _interopRequireWildcard(require("expo-file-system/legacy"));
19
18
  var MediaLibrary = _interopRequireWildcard(require("expo-media-library"));
20
19
  var _ToastContext = require("../../../context/ToastContext");
21
20
  var _PdfView = _interopRequireDefault(require("./PdfView"));
21
+ var _DocumentViewer = _interopRequireDefault(require("./DocumentViewer"));
22
+ var _AudioMessage = _interopRequireDefault(require("../../styled/AudioMessage"));
22
23
  var _mimeToExtension = require("../../../helpers/mimeToExtension");
23
24
  var _jsxRuntime = require("react/jsx-runtime");
24
25
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
26
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
26
- const FullScreenVideo = exports.FullScreenVideo = _native.default.View`
27
- width: 100%;
28
- height: 100%;
29
- object-fit: contain;
30
- `;
27
+ // MIME types Google's gview embed renders reliably. Everything else
28
+ // falls through to the info-card so the user can still download.
29
+ const GVIEW_PREVIEWABLE = new Set(['application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'text/plain', 'text/csv', 'application/rtf']);
30
+ const isGviewPreviewable = mime => {
31
+ if (!mime) {
32
+ return false;
33
+ }
34
+ return GVIEW_PREVIEWABLE.has(mime.toLowerCase().split(';')[0].trim());
35
+ };
36
+
37
+ // Full-screen video preview on expo-video (expo-av <Video> is deprecated
38
+ // and rendered blank on Android). `contentFit: contain` fits the clip to
39
+ // the area with the surrounding letterbox painted as the view's own
40
+ // (transparent → theme) background, NOT black. `textureView` so the play
41
+ // overlay composites on top and nothing is clipped on Android.
42
+ const ModalVideo = ({
43
+ uri
44
+ }) => {
45
+ const [showPlay, setShowPlay] = (0, _react.useState)(true);
46
+ const player = (0, _expoVideo.useVideoPlayer)(uri, p => {
47
+ p.muted = false;
48
+ });
49
+ (0, _react.useEffect)(() => {
50
+ const sub = player.addListener('playingChange', ({
51
+ isPlaying
52
+ }) => {
53
+ if (isPlaying) {
54
+ setShowPlay(false);
55
+ }
56
+ });
57
+ return () => sub.remove();
58
+ }, [player]);
59
+ const handlePlay = () => {
60
+ setShowPlay(false);
61
+ player.play();
62
+ };
63
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
64
+ style: {
65
+ flex: 1,
66
+ width: '100%'
67
+ },
68
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_expoVideo.VideoView, {
69
+ player: player,
70
+ style: {
71
+ flex: 1,
72
+ backgroundColor: 'transparent'
73
+ },
74
+ contentFit: "contain",
75
+ nativeControls: true,
76
+ surfaceType: "textureView",
77
+ allowsFullscreen: true
78
+ }), showPlay && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
79
+ activeOpacity: 0.8,
80
+ onPress: handlePlay,
81
+ style: _reactNative.StyleSheet.absoluteFillObject,
82
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
83
+ style: styles.playOverlay,
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
85
+ style: styles.playButton,
86
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.PlayIcon, {
87
+ width: 28,
88
+ height: 28
89
+ })
90
+ })
91
+ })
92
+ })]
93
+ });
94
+ };
31
95
  const FilePreviewModal = ({
32
96
  handleCloseModal
33
97
  }) => {
@@ -39,7 +103,7 @@ const FilePreviewModal = ({
39
103
  activeFile
40
104
  } = (0, _reactRedux.useSelector)(state => state.chatSettingStore);
41
105
  if (!activeFile) {
42
- return;
106
+ return null;
43
107
  }
44
108
  const requestStoragePermission = async () => {
45
109
  try {
@@ -122,25 +186,45 @@ const FilePreviewModal = ({
122
186
  }));
123
187
  handleCloseModal?.();
124
188
  };
125
- const getMediaComponent = (0, _react.useMemo)(() => {
189
+
190
+ // NOTE: plain computed value, NOT useMemo. It sits AFTER the
191
+ // `if (!activeFile) return` guard above, so as a hook it would run
192
+ // conditionally (skipped when activeFile is null) — changing the hook
193
+ // count between renders and throwing "rendered more hooks than during
194
+ // the previous render", which crashed the modal the instant you tapped
195
+ // a video/image to open it. Recomputing this on each render is cheap.
196
+ const getMediaComponent = (() => {
126
197
  switch (true) {
127
198
  case activeFile.mimetype.startsWith('image/'):
128
199
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MediaComponents.FullScreenImage, {
129
- src: activeFile.fileURL || 'https://as2.ftcdn.net/v2/jpg/02/51/95/53/1000_F_251955356_FAQH0U1y1TZw3ZcdPGybwUkH90a3VAhb.jpg',
130
- alt: activeFile.fileName
200
+ source: {
201
+ uri: activeFile.fileURL || 'https://as2.ftcdn.net/v2/jpg/02/51/95/53/1000_F_251955356_FAQH0U1y1TZw3ZcdPGybwUkH90a3VAhb.jpg'
202
+ },
203
+ resizeMode: "contain",
204
+ accessibilityLabel: activeFile.fileName
131
205
  });
132
206
  case activeFile.mimetype.startsWith('video/'):
133
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_expoAv.Video, {
207
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ModalVideo, {
208
+ uri: activeFile.fileURL
209
+ });
210
+ case activeFile.mimetype.startsWith('audio/'):
211
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
134
212
  style: {
135
213
  width: '100%',
136
- height: '100%'
137
- },
138
- source: {
139
- uri: activeFile.fileURL
214
+ padding: 20,
215
+ gap: 12,
216
+ backgroundColor: '#FFF8ED',
217
+ borderRadius: 16
140
218
  },
141
- useNativeControls: true,
142
- resizeMode: _expoAv.ResizeMode.CONTAIN,
143
- shouldPlay: false
219
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
220
+ style: {
221
+ fontSize: 16,
222
+ fontWeight: '600'
223
+ },
224
+ children: (0, _mimeToExtension.ensureFilenameHasExtension)(activeFile.fileName, activeFile.mimetype)
225
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_AudioMessage.default, {
226
+ src: activeFile.fileURL
227
+ })]
144
228
  });
145
229
  case activeFile.mimetype === 'application/pdf':
146
230
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PdfView.default, {
@@ -149,6 +233,18 @@ const FilePreviewModal = ({
149
233
  default:
150
234
  {
151
235
  const displayName = (0, _mimeToExtension.ensureFilenameHasExtension)(activeFile.fileName, activeFile.mimetype);
236
+ // Office docs (.docx / .xlsx / .pptx / .doc / .xls / .ppt /
237
+ // .txt / .csv / .rtf) → render inline via Google's gview embed
238
+ // — fixes the "blank preview" complaint for docs (bug #9).
239
+ if (isGviewPreviewable(activeFile.mimetype)) {
240
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DocumentViewer.default, {
241
+ url: activeFile.fileURL,
242
+ fileName: displayName
243
+ });
244
+ }
245
+ // True last-resort fallback for genuinely unrenderable types
246
+ // (binary blobs, exotic MIMEs). Friendly info card with the
247
+ // filename so the user can still download.
152
248
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
153
249
  style: {
154
250
  backgroundColor: '#FFF8ED',
@@ -176,7 +272,7 @@ const FilePreviewModal = ({
176
272
  });
177
273
  }
178
274
  }
179
- }, [activeFile]);
275
+ })();
180
276
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styledModalComponents.ModalContainerFullScreen, {
181
277
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ModalHeaderComponent.default, {
182
278
  handleCloseModal: closeModal,
@@ -190,14 +286,34 @@ const FilePreviewModal = ({
190
286
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.CenterContainer, {
191
287
  style: {
192
288
  display: 'flex',
193
- height: '100%',
289
+ flex: 1,
194
290
  justifyContent: 'center',
195
- overflow: 'hidden',
196
- padding: 16
291
+ // NOTE: do NOT set overflow:'hidden' here — on Android it clips
292
+ // hardware-accelerated children (expo-av Video TextureView and
293
+ // react-native-webview) to nothing, so video/PDF/doc previews
294
+ // render blank while plain <Image> survives.
295
+ overflow: 'visible',
296
+ padding: 16,
297
+ paddingBottom: 48
197
298
  },
198
299
  children: getMediaComponent
199
300
  })]
200
301
  });
201
302
  };
303
+ const styles = _reactNative.StyleSheet.create({
304
+ playOverlay: {
305
+ ..._reactNative.StyleSheet.absoluteFillObject,
306
+ justifyContent: 'center',
307
+ alignItems: 'center'
308
+ },
309
+ playButton: {
310
+ width: 64,
311
+ height: 64,
312
+ borderRadius: 32,
313
+ backgroundColor: 'rgba(0, 0, 0, 0.55)',
314
+ justifyContent: 'center',
315
+ alignItems: 'center'
316
+ }
317
+ });
202
318
  var _default = exports.default = FilePreviewModal;
203
319
  //# sourceMappingURL=FilePreviewModal.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_native","_interopRequireDefault","_styledModalComponents","_icons","_ModalHeaderComponent","_reactRedux","_Button","_MediaComponents","_chatSettingsSlice","_reactNative","_expoAv","FileSystem","MediaLibrary","_ToastContext","_PdfView","_mimeToExtension","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FullScreenVideo","exports","styled","View","FilePreviewModal","handleCloseModal","dispatch","useDispatch","showToast","useToast","activeFile","useSelector","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","Alert","alert","fileName","ensureFilenameHasExtension","mimetype","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","uri","id","Date","now","toString","title","message","type","err","saveFileToDownloads","Platform","OS","createAssetAsync","saveClick","startsWith","closeModal","setActiveFile","getMediaComponent","useMemo","jsx","FullScreenImage","src","alt","Video","style","width","height","source","useNativeControls","resizeMode","ResizeMode","CONTAIN","shouldPlay","pdfUrl","displayName","jsxs","backgroundColor","borderRadius","padding","gap","children","Text","fontSize","fontWeight","color","marginTop","ModalContainerFullScreen","headerTitle","rightMenu","Fragment","onPress","SaveIcon","CenterContainer","display","justifyContent","overflow","_default"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_styledModalComponents","_icons","_ModalHeaderComponent","_interopRequireDefault","_reactRedux","_Button","_MediaComponents","_chatSettingsSlice","_reactNative","_expoVideo","FileSystem","MediaLibrary","_ToastContext","_PdfView","_DocumentViewer","_AudioMessage","_mimeToExtension","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GVIEW_PREVIEWABLE","Set","isGviewPreviewable","mime","toLowerCase","split","trim","ModalVideo","uri","showPlay","setShowPlay","useState","player","useVideoPlayer","p","muted","useEffect","sub","addListener","isPlaying","remove","handlePlay","play","jsxs","View","style","flex","width","children","jsx","VideoView","backgroundColor","contentFit","nativeControls","surfaceType","allowsFullscreen","TouchableOpacity","activeOpacity","onPress","StyleSheet","absoluteFillObject","styles","playOverlay","playButton","PlayIcon","height","FilePreviewModal","handleCloseModal","dispatch","useDispatch","showToast","useToast","activeFile","useSelector","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","Alert","alert","fileName","ensureFilenameHasExtension","mimetype","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","id","Date","now","toString","title","message","type","err","saveFileToDownloads","Platform","OS","createAssetAsync","saveClick","startsWith","closeModal","setActiveFile","getMediaComponent","FullScreenImage","source","resizeMode","accessibilityLabel","padding","gap","borderRadius","Text","fontSize","fontWeight","src","pdfUrl","displayName","url","color","marginTop","ModalContainerFullScreen","headerTitle","rightMenu","Fragment","SaveIcon","CenterContainer","display","justifyContent","overflow","paddingBottom","create","alignItems","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -15,7 +15,15 @@ const PdfViewer = ({
15
15
  }) => {
16
16
  const [localUri, setLocalUri] = (0, _react.useState)(null);
17
17
  const [error, setError] = (0, _react.useState)(null);
18
+ // Android's WebView has NO native PDF renderer, so a file:// (or direct)
19
+ // PDF loads blank. Route it through Google's gview embed using the
20
+ // (public) remote URL — same approach as DocumentViewer for office docs.
21
+ // iOS WKWebView renders PDFs natively, so we download + show the file.
22
+ const isAndroid = _reactNative.Platform.OS === 'android';
18
23
  (0, _react.useEffect)(() => {
24
+ if (isAndroid) {
25
+ return;
26
+ }
19
27
  let cancelled = false;
20
28
  const run = async () => {
21
29
  try {
@@ -37,7 +45,27 @@ const PdfViewer = ({
37
45
  return () => {
38
46
  cancelled = true;
39
47
  };
40
- }, [pdfUrl]);
48
+ }, [pdfUrl, isAndroid]);
49
+ if (isAndroid) {
50
+ const gviewUrl = `https://docs.google.com/gview?embedded=true&url=${encodeURIComponent(pdfUrl)}`;
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
52
+ style: styles.container,
53
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeWebview.WebView, {
54
+ source: {
55
+ uri: gviewUrl
56
+ },
57
+ style: styles.webview,
58
+ originWhitelist: ['*'],
59
+ startInLoadingState: true,
60
+ renderLoading: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
61
+ style: styles.center,
62
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
63
+ size: "large"
64
+ })
65
+ })
66
+ })
67
+ });
68
+ }
41
69
  if (error) {
42
70
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
43
71
  style: styles.center,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","FileSystem","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PdfViewer","pdfUrl","localUri","setLocalUri","useState","error","setError","useEffect","cancelled","run","target","cacheDirectory","Date","now","result","downloadAsync","uri","console","log","message","jsx","View","style","styles","center","children","jsxs","Text","ActivityIndicator","size","container","WebView","source","webview","originWhitelist","allowFileAccess","allowFileAccessFromFileURLs","allowUniversalAccessFromFileURLs","_default","exports","StyleSheet","create","flex","width","backgroundColor","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/PdfView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","FileSystem","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PdfViewer","pdfUrl","localUri","setLocalUri","useState","error","setError","isAndroid","Platform","OS","useEffect","cancelled","run","target","cacheDirectory","Date","now","result","downloadAsync","uri","console","log","message","gviewUrl","encodeURIComponent","jsx","View","style","styles","container","children","WebView","source","webview","originWhitelist","startInLoadingState","renderLoading","center","ActivityIndicator","size","jsxs","Text","allowFileAccess","allowFileAccessFromFileURLs","allowUniversalAccessFromFileURLs","_default","exports","StyleSheet","create","flex","width","backgroundColor","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/PdfView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAJ,uBAAA,CAAAC,OAAA;AAAsD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAMtD,MAAMkB,SAAmC,GAAGA,CAAC;EAAEC;AAAO,CAAC,KAAK;EAC1D,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAgB,IAAI,CAAC;EAC7D,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAgB,IAAI,CAAC;EACvD;EACA;EACA;EACA;EACA,MAAMG,SAAS,GAAGC,qBAAQ,CAACC,EAAE,KAAK,SAAS;EAE3C,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIH,SAAS,EAAE;MACb;IACF;IACA,IAAII,SAAS,GAAG,KAAK;IACrB,MAAMC,GAAG,GAAG,MAAAA,CAAA,KAAY;MACtB,IAAI;QACF,MAAMC,MAAM,GAAGlC,UAAU,CAACmC,cAAc,GAAG,OAAOC,IAAI,CAACC,GAAG,CAAC,CAAC,MAAM;QAClE,MAAMC,MAAM,GAAG,MAAMtC,UAAU,CAACuC,aAAa,CAACjB,MAAM,EAAEY,MAAM,CAAC;QAC7D,IAAIF,SAAS,EAAE;UAAC;QAAO;QACvBR,WAAW,CAACc,MAAM,CAACE,GAAG,CAAC;MACzB,CAAC,CAAC,OAAOtC,CAAM,EAAE;QACf,IAAI8B,SAAS,EAAE;UAAC;QAAO;QACvBS,OAAO,CAACC,GAAG,CAACxC,CAAC,EAAEyC,OAAO,CAAC;QACvBhB,QAAQ,CAACzB,CAAC,EAAEyC,OAAO,IAAI,iBAAiB,CAAC;MAC3C;IACF,CAAC;IACDV,GAAG,CAAC,CAAC;IACL,OAAO,MAAM;MACXD,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACV,MAAM,EAAEM,SAAS,CAAC,CAAC;EAEvB,IAAIA,SAAS,EAAE;IACb,MAAMgB,QAAQ,GAAG,mDAAmDC,kBAAkB,CACpFvB,MACF,CAAC,EAAE;IACH,oBACE,IAAArB,WAAA,CAAA6C,GAAA,EAAChD,YAAA,CAAAiD,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAC,QAAA,eAC5B,IAAAlD,WAAA,CAAA6C,GAAA,EAAC/C,mBAAA,CAAAqD,OAAO;QACNC,MAAM,EAAE;UAAEb,GAAG,EAAEI;QAAS,CAAE;QAC1BI,KAAK,EAAEC,MAAM,CAACK,OAAQ;QACtBC,eAAe,EAAE,CAAC,GAAG,CAAE;QACvBC,mBAAmB;QACnBC,aAAa,EAAEA,CAAA,kBACb,IAAAxD,WAAA,CAAA6C,GAAA,EAAChD,YAAA,CAAAiD,IAAI;UAACC,KAAK,EAAEC,MAAM,CAACS,MAAO;UAAAP,QAAA,eACzB,IAAAlD,WAAA,CAAA6C,GAAA,EAAChD,YAAA,CAAA6D,iBAAiB;YAACC,IAAI,EAAC;UAAO,CAAE;QAAC,CAC9B;MACN,CACH;IAAC,CACE,CAAC;EAEX;EAEA,IAAIlC,KAAK,EAAE;IACT,oBACE,IAAAzB,WAAA,CAAA6C,GAAA,EAAChD,YAAA,CAAAiD,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACS,MAAO;MAAAP,QAAA,eACzB,IAAAlD,WAAA,CAAA4D,IAAA,EAAC/D,YAAA,CAAAgE,IAAI;QAAAX,QAAA,GAAC,qBAAmB,EAACzB,KAAK;MAAA,CAAO;IAAC,CACnC,CAAC;EAEX;EAEA,IAAI,CAACH,QAAQ,EAAE;IACb,oBACE,IAAAtB,WAAA,CAAA6C,GAAA,EAAChD,YAAA,CAAAiD,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACS,MAAO;MAAAP,QAAA,eACzB,IAAAlD,WAAA,CAAA6C,GAAA,EAAChD,YAAA,CAAA6D,iBAAiB;QAACC,IAAI,EAAC;MAAO,CAAE;IAAC,CAC9B,CAAC;EAEX;EAEA,oBACE,IAAA3D,WAAA,CAAA6C,GAAA,EAAChD,YAAA,CAAAiD,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5B,IAAAlD,WAAA,CAAA6C,GAAA,EAAC/C,mBAAA,CAAAqD,OAAO;MACNC,MAAM,EAAE;QAAEb,GAAG,EAAEjB;MAAS,CAAE;MAC1ByB,KAAK,EAAEC,MAAM,CAACK,OAAQ;MACtBC,eAAe,EAAE,CAAC,GAAG,CAAE;MACvBQ,eAAe;MACfC,2BAA2B;MAC3BC,gCAAgC;IAAA,CACjC;EAAC,CACE,CAAC;AAEX,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAvD,OAAA,GAEaS,SAAS;AAExB,MAAM4B,MAAM,GAAGmB,uBAAU,CAACC,MAAM,CAAC;EAC/BnB,SAAS,EAAE;IAAEoB,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,MAAM;IAAEC,eAAe,EAAE;EAAO,CAAC;EAC9DlB,OAAO,EAAE;IAAEgB,IAAI,EAAE,CAAC;IAAEE,eAAe,EAAE;EAAO,CAAC;EAC7Cd,MAAM,EAAE;IAAEY,IAAI,EAAE,CAAC;IAAEG,UAAU,EAAE,QAAQ;IAAEC,cAAc,EAAE;EAAS;AACpE,CAAC,CAAC","ignoreList":[]}
@@ -36,7 +36,11 @@ const Modal = ({
36
36
  return modal && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styledModalComponents.ModalBackground, {
37
37
  id: "modal-background",
38
38
  style: {
39
- position: 'absolute'
39
+ position: 'absolute',
40
+ top: 0,
41
+ left: 0,
42
+ right: 0,
43
+ bottom: 0
40
44
  },
41
45
  children: [renderModalContent(), children]
42
46
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_styledModalComponents","_reactRedux","_chatSettingsSlice","_MODAL_TYPES","_MODAL_COMPONENTS","_jsxRuntime","e","__esModule","default","Modal","children","modal","setOpenModal","dispatch","useDispatch","handleCloseModal","handleBackButtonClick","setActiveModal","MODAL_TYPES","SETTINGS","renderModalContent","ModalComponent","MODAL_COMPONENTS","handleClose","MANAGE_DATA","VISIBILITY","REFERRALS","DOCUMENT_SHARES","PROFILE_SHARES","BLOCKED_USERS","jsx","jsxs","ModalBackground","id","style","position","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/Modal/Modal.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AAA+E,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQ/E,MAAMG,KAA2B,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAa,CAAC,KAAK;EACzE,MAAMC,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAC9B,MAAMC,gBAAgB,GAAGA,CAAA,KAAMH,YAAY,CAAC,CAAC;EAC7C,MAAMI,qBAAqB,GAAGA,CAAA,KAC5BH,QAAQ,CAAC,IAAAI,iCAAc,EAACC,wBAAW,CAACC,QAAQ,CAAC,CAAC;EAEhD,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,IAAI,CAACT,KAAK,EAAE;MAAC,OAAO,IAAI;IAAC;IAEzB,MAAMU,cAAc,GAAGC,kCAAgB,CAACX,KAAK,CAAC;IAE9C,IAAI,CAACU,cAAc,EAAE;MAAC,OAAO,IAAI;IAAC;IAElC,MAAME,WAAW,GACfZ,KAAK,KAAKO,wBAAW,CAACM,WAAW,IACjCb,KAAK,KAAKO,wBAAW,CAACO,UAAU,IAChCd,KAAK,KAAKO,wBAAW,CAACQ,SAAS,IAC/Bf,KAAK,KAAKO,wBAAW,CAACS,eAAe,IACrChB,KAAK,KAAKO,wBAAW,CAACU,cAAc,IACpCjB,KAAK,KAAKO,wBAAW,CAACW,aAAa,GAC/Bb,qBAAqB,GACrBD,gBAAgB;IAEtB,oBAAO,IAAAV,WAAA,CAAAyB,GAAA,EAACT,cAAc;MAACN,gBAAgB,EAAEQ;IAAY,CAAE,CAAC;EAC1D,CAAC;EACD,OACEZ,KAAK,iBACH,IAAAN,WAAA,CAAA0B,IAAA,EAAC/B,sBAAA,CAAAgC,eAAe;IAACC,EAAE,EAAC,kBAAkB;IAACC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAW,CAAE;IAAAzB,QAAA,GACpEU,kBAAkB,CAAC,CAAC,EACpBV,QAAQ;EAAA,CACM,CAClB;AAEL,CAAC;AAAC,IAAA0B,QAAA,GAAAC,OAAA,CAAA7B,OAAA,GAEaC,KAAK","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_styledModalComponents","_reactRedux","_chatSettingsSlice","_MODAL_TYPES","_MODAL_COMPONENTS","_jsxRuntime","e","__esModule","default","Modal","children","modal","setOpenModal","dispatch","useDispatch","handleCloseModal","handleBackButtonClick","setActiveModal","MODAL_TYPES","SETTINGS","renderModalContent","ModalComponent","MODAL_COMPONENTS","handleClose","MANAGE_DATA","VISIBILITY","REFERRALS","DOCUMENT_SHARES","PROFILE_SHARES","BLOCKED_USERS","jsx","jsxs","ModalBackground","id","style","position","top","left","right","bottom","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/Modal/Modal.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AAA+E,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQ/E,MAAMG,KAA2B,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAa,CAAC,KAAK;EACzE,MAAMC,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAC9B,MAAMC,gBAAgB,GAAGA,CAAA,KAAMH,YAAY,CAAC,CAAC;EAC7C,MAAMI,qBAAqB,GAAGA,CAAA,KAC5BH,QAAQ,CAAC,IAAAI,iCAAc,EAACC,wBAAW,CAACC,QAAQ,CAAC,CAAC;EAEhD,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,IAAI,CAACT,KAAK,EAAE;MAAC,OAAO,IAAI;IAAC;IAEzB,MAAMU,cAAc,GAAGC,kCAAgB,CAACX,KAAK,CAAC;IAE9C,IAAI,CAACU,cAAc,EAAE;MAAC,OAAO,IAAI;IAAC;IAElC,MAAME,WAAW,GACfZ,KAAK,KAAKO,wBAAW,CAACM,WAAW,IACjCb,KAAK,KAAKO,wBAAW,CAACO,UAAU,IAChCd,KAAK,KAAKO,wBAAW,CAACQ,SAAS,IAC/Bf,KAAK,KAAKO,wBAAW,CAACS,eAAe,IACrChB,KAAK,KAAKO,wBAAW,CAACU,cAAc,IACpCjB,KAAK,KAAKO,wBAAW,CAACW,aAAa,GAC/Bb,qBAAqB,GACrBD,gBAAgB;IAEtB,oBAAO,IAAAV,WAAA,CAAAyB,GAAA,EAACT,cAAc;MAACN,gBAAgB,EAAEQ;IAAY,CAAE,CAAC;EAC1D,CAAC;EACD,OACEZ,KAAK,iBACH,IAAAN,WAAA,CAAA0B,IAAA,EAAC/B,sBAAA,CAAAgC,eAAe;IACdC,EAAE,EAAC,kBAAkB;IACrBC,KAAK,EAAE;MAAEC,QAAQ,EAAE,UAAU;MAAEC,GAAG,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAE;IAAA7B,QAAA,GAErEU,kBAAkB,CAAC,CAAC,EACpBV,QAAQ;EAAA,CACM,CAClB;AAEL,CAAC;AAAC,IAAA8B,QAAA,GAAAC,OAAA,CAAAjC,OAAA,GAEaC,KAAK","ignoreList":[]}
@@ -33,64 +33,94 @@ const ModalWrapper = ({
33
33
  // }
34
34
  // };
35
35
 
36
+ const inner = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
37
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.CloseButton, {
38
+ onPress: handleCloseModal,
39
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
40
+ style: {
41
+ fontSize: 24
42
+ },
43
+ children: "\xD7"
44
+ })
45
+ }), IconTitle ? /*#__PURE__*/(0, _jsxRuntime.jsx)(IconTitle, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.ModalTitle, {
46
+ children: title
47
+ }), description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.ModalDescription, {
48
+ children: description
49
+ }), isTextarea && /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.GroupContainer, {
50
+ style: {
51
+ flexDirection: 'column',
52
+ position: 'relative'
53
+ }
54
+ }), !buttonText && /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.GroupContainer, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styledModalComponents.GroupContainer, {
55
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
56
+ onPress: handleCloseModal,
57
+ text: 'Cancel',
58
+ style: {
59
+ width: '100%'
60
+ },
61
+ unstyled: true,
62
+ variant: "outlined"
63
+ }), buttonText && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
64
+ onPress: handleClick,
65
+ text: buttonText
66
+ // White label on the filled (e.g. red Delete) button. Button
67
+ // applies an inline `color: color || 'black'` that overrides
68
+ // the filled-variant white, so pass it explicitly.
69
+ ,
70
+ color: "#FFFFFF",
71
+ style: {
72
+ width: '100%',
73
+ backgroundColor: backgroundColorButton
74
+ },
75
+ unstyled: true,
76
+ variant: "filled"
77
+ })]
78
+ })]
79
+ });
36
80
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
37
81
  transparent: true,
38
82
  animationType: "fade",
39
83
  visible: true,
40
84
  onRequestClose: handleCloseModal,
41
85
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.ModalBackground, {
42
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styledModalComponents.ModalContainer, {
43
- style: compact ? {
44
- flex: 0,
45
- width: '85%',
46
- maxWidth: 360,
47
- height: 'auto',
48
- padding: 24,
49
- borderRadius: 16,
50
- gap: 16
51
- } : {
86
+ children: compact ?
87
+ /*#__PURE__*/
88
+ // Dedicated small centered dialog. The base ModalContainer is
89
+ // flex:1 / width:100% / height:100% (full-screen); style-merge
90
+ // overrides proved unreliable, so confirm-style modals render in
91
+ // their own bounded View instead — never full-screen (#14).
92
+ // (Upstream also shrank this modal; this keeps that intent while
93
+ // adding the white filled-button label via `inner` below.)
94
+ (0, _jsxRuntime.jsx)(_reactNative.View, {
95
+ style: styles.compactDialog,
96
+ children: inner
97
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.ModalContainer, {
98
+ style: {
52
99
  maxWidth: 640
53
100
  },
54
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.CloseButton, {
55
- onPress: handleCloseModal,
56
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
57
- style: {
58
- fontSize: 24
59
- },
60
- children: "\xD7"
61
- })
62
- }), IconTitle ? /*#__PURE__*/(0, _jsxRuntime.jsx)(IconTitle, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.ModalTitle, {
63
- children: title
64
- }), description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.ModalDescription, {
65
- children: description
66
- }), isTextarea && /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.GroupContainer, {
67
- style: {
68
- flexDirection: 'column',
69
- position: 'relative'
70
- }
71
- }), !buttonText && /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.GroupContainer, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styledModalComponents.GroupContainer, {
72
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
73
- onPress: handleCloseModal,
74
- text: 'Cancel',
75
- style: {
76
- width: '100%'
77
- },
78
- unstyled: true,
79
- variant: "outlined"
80
- }), buttonText && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
81
- onPress: handleClick,
82
- text: buttonText,
83
- style: {
84
- width: '100%',
85
- backgroundColor: backgroundColorButton
86
- },
87
- unstyled: true,
88
- variant: "filled"
89
- })]
90
- })]
101
+ children: inner
91
102
  })
92
103
  })
93
104
  });
94
105
  };
95
106
  exports.ModalWrapper = ModalWrapper;
107
+ const styles = _reactNative.StyleSheet.create({
108
+ compactDialog: {
109
+ width: '85%',
110
+ maxWidth: 360,
111
+ alignSelf: 'center',
112
+ backgroundColor: '#fff',
113
+ borderRadius: 16,
114
+ padding: 24,
115
+ gap: 16,
116
+ shadowColor: '#000',
117
+ shadowOffset: {
118
+ width: 0,
119
+ height: 4
120
+ },
121
+ shadowOpacity: 0.2,
122
+ shadowRadius: 12,
123
+ elevation: 8
124
+ }
125
+ });
96
126
  //# sourceMappingURL=ModalWrapper.js.map