@ethora/chat-component-rn 26.5.5 → 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.
- package/CHANGELOG.md +177 -0
- package/README.md +67 -10
- package/index.js +24 -0
- package/lib/commonjs/assets/icons.js +5 -1
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +11 -5
- package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +7 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +66 -34
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +59 -14
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +15 -7
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js +2 -2
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +175 -30
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js +17 -8
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/SystemMessage.js +34 -22
- package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/Message.js +117 -19
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +82 -22
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +16 -4
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +104 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +175 -40
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +29 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js +5 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +78 -39
- package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/styledModalComponents.js +4 -9
- package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/commonjs/components/styled/MediaFilePreview.js +115 -5
- package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +49 -10
- package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
- package/lib/commonjs/components/styled/NewMessageLabel.js +8 -6
- package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +53 -29
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +14 -4
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/commonjs/components/styled/UnsupportedType.js +5 -1
- package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +60 -22
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/MessageNotificationContext.js +7 -7
- package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +315 -34
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/chatAutoEnterer.js +2 -7
- package/lib/commonjs/helpers/chatAutoEnterer.js.map +1 -1
- package/lib/commonjs/helpers/historyPreloadScheduler.js +4 -1
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +15 -5
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/keyboardLayout.js +18 -0
- package/lib/commonjs/helpers/keyboardLayout.js.map +1 -0
- package/lib/commonjs/helpers/mediaDimensions.js +51 -0
- package/lib/commonjs/helpers/mediaDimensions.js.map +1 -0
- package/lib/commonjs/helpers/mimeToExtension.js +131 -0
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -0
- package/lib/commonjs/helpers/normalizeRoomJid.js +20 -0
- package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +73 -1
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
- package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
- package/lib/commonjs/hooks/useChatWrapperInit.js +22 -10
- package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/commonjs/hooks/useEventHandlers.js +9 -1
- package/lib/commonjs/hooks/useEventHandlers.js.map +1 -1
- package/lib/commonjs/hooks/useHeapSender.js +1 -1
- package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
- package/lib/commonjs/hooks/useLogout.js +3 -3
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/hooks/useMessageHeapState.js +6 -2
- package/lib/commonjs/hooks/useMessageHeapState.js.map +1 -1
- package/lib/commonjs/hooks/usePushNotifications.js +6 -2
- package/lib/commonjs/hooks/usePushNotifications.js.map +1 -1
- package/lib/commonjs/hooks/useRoomState.js +2 -0
- package/lib/commonjs/hooks/useRoomState.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +249 -14
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js +12 -14
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/commonjs/main.js +7 -0
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/networking/api-requests/auth.api.js +74 -1
- package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
- package/lib/commonjs/networking/apiClient.js +2 -1
- package/lib/commonjs/networking/apiClient.js.map +1 -1
- package/lib/commonjs/networking/outboundQueue.js +92 -0
- package/lib/commonjs/networking/outboundQueue.js.map +1 -0
- package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
- package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
- package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +26 -8
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +2 -1
- package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +371 -26
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +22 -6
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/commonjs/roomStore/roomHeapSlice.js +26 -8
- package/lib/commonjs/roomStore/roomHeapSlice.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +157 -23
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/commonjs/utils/installPromiseRejectionTracker.js +83 -0
- package/lib/commonjs/utils/installPromiseRejectionTracker.js.map +1 -0
- package/lib/commonjs/utils/resendMessage.js +1 -1
- package/lib/commonjs/utils/resendMessage.js.map +1 -1
- package/lib/module/assets/icons.js +5 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/ContextMenu/ContextMenuComponents.js +11 -5
- package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +7 -1
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +67 -35
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +59 -14
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +15 -7
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/MessageContainer.js +2 -2
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +176 -31
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/ReduxWrapper.js +18 -8
- package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/SystemMessage.js +33 -21
- package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
- package/lib/module/components/MessageBubble/Message.js +118 -20
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +84 -24
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +15 -3
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +99 -0
- package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +179 -42
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js +31 -3
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/module/components/Modals/Modal/Modal.js +5 -1
- package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +80 -41
- package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/module/components/Modals/styledModalComponents.js +4 -9
- package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/module/components/styled/MediaFilePreview.js +116 -6
- package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +51 -12
- package/lib/module/components/styled/MessageImage.js.map +1 -1
- package/lib/module/components/styled/NewMessageLabel.js +8 -6
- package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +54 -30
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +14 -4
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/module/components/styled/UnsupportedType.js +5 -1
- package/lib/module/components/styled/UnsupportedType.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +61 -23
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/MessageNotificationContext.js +7 -7
- package/lib/module/context/MessageNotificationContext.js.map +1 -1
- package/lib/module/context/xmppProvider.js +319 -37
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/chatAutoEnterer.js +2 -7
- package/lib/module/helpers/chatAutoEnterer.js.map +1 -1
- package/lib/module/helpers/historyPreloadScheduler.js +4 -1
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js +15 -5
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/keyboardLayout.js +12 -0
- package/lib/module/helpers/keyboardLayout.js.map +1 -0
- package/lib/module/helpers/mediaDimensions.js +46 -0
- package/lib/module/helpers/mediaDimensions.js.map +1 -0
- package/lib/module/helpers/mimeToExtension.js +124 -0
- package/lib/module/helpers/mimeToExtension.js.map +1 -0
- package/lib/module/helpers/normalizeRoomJid.js +15 -0
- package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
- package/lib/module/helpers/resolveInitBeforeLoadUser.js +71 -0
- package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/module/hooks/useChatRoomFocus.js +82 -0
- package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
- package/lib/module/hooks/useChatWrapperInit.js +22 -10
- package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/module/hooks/useEventHandlers.js +9 -1
- package/lib/module/hooks/useEventHandlers.js.map +1 -1
- package/lib/module/hooks/useHeapSender.js +1 -1
- package/lib/module/hooks/useHeapSender.js.map +1 -1
- package/lib/module/hooks/useLogout.js +3 -3
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/hooks/useMessageHeapState.js +6 -2
- package/lib/module/hooks/useMessageHeapState.js.map +1 -1
- package/lib/module/hooks/usePushNotifications.js +6 -2
- package/lib/module/hooks/usePushNotifications.js.map +1 -1
- package/lib/module/hooks/useRoomState.js +2 -0
- package/lib/module/hooks/useRoomState.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +252 -17
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js +12 -14
- package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/module/main.js +1 -0
- package/lib/module/main.js.map +1 -1
- package/lib/module/networking/api-requests/auth.api.js +74 -2
- package/lib/module/networking/api-requests/auth.api.js.map +1 -1
- package/lib/module/networking/apiClient.js +2 -1
- package/lib/module/networking/apiClient.js.map +1 -1
- package/lib/module/networking/outboundQueue.js +84 -0
- package/lib/module/networking/outboundQueue.js.map +1 -0
- package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
- package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
- package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +26 -8
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +2 -1
- package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
- package/lib/module/networking/xmppClient.js +371 -26
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/Middleware/unreadMidlleware.js +22 -6
- package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/module/roomStore/roomHeapSlice.js +24 -7
- package/lib/module/roomStore/roomHeapSlice.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +154 -22
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/utils/installPromiseRejectionTracker.js +78 -0
- package/lib/module/utils/installPromiseRejectionTracker.js.map +1 -0
- package/lib/module/utils/resendMessage.js +1 -1
- package/lib/module/utils/resendMessage.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts +8 -4
- package/lib/typescript/assets/icons.d.ts.map +1 -1
- package/lib/typescript/components/ContextMenu/ContextMenuComponents.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts +1 -0
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts +1 -0
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/SystemMessage.d.ts +0 -7
- package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +4 -2
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +29 -0
- package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -0
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +0 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
- package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts +6 -0
- package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
- package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
- package/lib/typescript/components/styled/NewMessageLabel.d.ts +1 -5
- package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +9 -1
- package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/UnsupportedType.d.ts +1 -0
- package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts +1 -0
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/chatAutoEnterer.d.ts.map +1 -1
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts +9 -0
- package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -0
- package/lib/typescript/helpers/mediaDimensions.d.ts +9 -0
- package/lib/typescript/helpers/mediaDimensions.d.ts.map +1 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts +37 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -0
- package/lib/typescript/helpers/normalizeRoomJid.d.ts +2 -0
- package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
- package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts +18 -0
- package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
- package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
- package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
- package/lib/typescript/hooks/useEventHandlers.d.ts +6 -0
- package/lib/typescript/hooks/useEventHandlers.d.ts.map +1 -1
- package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
- package/lib/typescript/hooks/useMessageHeapState.d.ts +2 -0
- package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
- package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
- package/lib/typescript/hooks/useRoomState.d.ts +1 -0
- package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts +2 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
- package/lib/typescript/main.d.ts +1 -0
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -0
- package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
- package/lib/typescript/networking/apiClient.d.ts.map +1 -1
- package/lib/typescript/networking/outboundQueue.d.ts +57 -0
- package/lib/typescript/networking/outboundQueue.d.ts.map +1 -0
- package/lib/typescript/networking/xmpp/createTimeoutPromise.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts +1 -1
- package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +58 -5
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomHeapSlice.d.ts +22 -1
- package/lib/typescript/roomStore/roomHeapSlice.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +8 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/types/models/media.model.d.ts +1 -0
- package/lib/typescript/types/models/media.model.d.ts.map +1 -1
- package/lib/typescript/types/models/xmpp.model.d.ts +1 -1
- package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +10 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/utils/installPromiseRejectionTracker.d.ts +20 -0
- package/lib/typescript/utils/installPromiseRejectionTracker.d.ts.map +1 -0
- package/lib/typescript/utils/resendMessage.d.ts.map +1 -1
- package/package.json +18 -2
- package/src/assets/icons.tsx +23 -14
- package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
- package/src/components/MainComponents/ChatHeader.tsx +5 -1
- package/src/components/MainComponents/ChatRoom.tsx +81 -61
- package/src/components/MainComponents/ChatWrapper.tsx +100 -21
- package/src/components/MainComponents/MediaMessage.tsx +18 -8
- package/src/components/MainComponents/MessageContainer.tsx +4 -2
- package/src/components/MainComponents/MessageList.tsx +185 -31
- package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
- package/src/components/MainComponents/SystemMessage.tsx +38 -26
- package/src/components/MessageBubble/Message.tsx +110 -27
- package/src/components/MessageBubble/MessageInteractions.tsx +98 -29
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +17 -3
- package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +182 -37
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
- package/src/components/Modals/Modal/Modal.tsx +4 -1
- package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +77 -44
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
- package/src/components/Modals/styledModalComponents.tsx +4 -9
- package/src/components/styled/MediaFilePreview.tsx +111 -5
- package/src/components/styled/MessageImage.tsx +58 -14
- package/src/components/styled/NewMessageLabel.tsx +8 -5
- package/src/components/styled/SendInput.tsx +67 -29
- package/src/components/styled/StyledInputComponents/MediaComponents.tsx +15 -5
- package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +7 -2
- package/src/components/styled/UnsupportedType.tsx +7 -1
- package/src/components/styled/VideoMessage.tsx +59 -18
- package/src/context/MessageNotificationContext.tsx +8 -8
- package/src/context/xmppProvider.tsx +337 -32
- package/src/helpers/chatAutoEnterer.ts +2 -8
- package/src/helpers/historyPreloadScheduler.ts +4 -1
- package/src/helpers/insertMessageWithDelimiter.ts +22 -15
- package/src/helpers/keyboardLayout.ts +18 -0
- package/src/helpers/mediaDimensions.ts +47 -0
- package/src/helpers/mimeToExtension.ts +135 -0
- package/src/helpers/normalizeRoomJid.ts +6 -0
- package/src/helpers/resolveInitBeforeLoadUser.ts +79 -0
- package/src/hooks/useChatRoomFocus.ts +95 -0
- package/src/hooks/useChatWrapperInit.ts +51 -46
- package/src/hooks/useEventHandlers.tsx +24 -1
- package/src/hooks/useHeapSender.tsx +2 -1
- package/src/hooks/useLogout.tsx +3 -3
- package/src/hooks/useMessageHeapState.tsx +6 -2
- package/src/hooks/usePushNotifications.ts +21 -8
- package/src/hooks/useRoomState.tsx +4 -0
- package/src/hooks/useSendMessage.tsx +333 -17
- package/src/hooks/useUnreadMessagesCounter.ts +13 -16
- package/src/main.ts +1 -0
- package/src/networking/api-requests/auth.api.ts +60 -2
- package/src/networking/apiClient.ts +2 -1
- package/src/networking/outboundQueue.ts +98 -0
- package/src/networking/xmpp/createTimeoutPromise.xmpp.ts +5 -1
- package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +11 -13
- package/src/networking/xmpp/getRoomsPaged.xmpp.ts +27 -3
- package/src/networking/xmpp/presenceInRoom.xmpp.ts +24 -9
- package/src/networking/xmpp/sendTextMessage.xmpp.ts +2 -1
- package/src/networking/xmppClient.ts +399 -31
- package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
- package/src/roomStore/roomHeapSlice.ts +47 -4
- package/src/roomStore/roomsSlice.ts +177 -27
- package/src/types/models/media.model.ts +3 -0
- package/src/types/models/xmpp.model.ts +2 -1
- package/src/types/types.ts +25 -0
- package/src/utils/installPromiseRejectionTracker.ts +91 -0
- package/src/utils/resendMessage.ts +2 -1
|
@@ -1,34 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import {
|
|
5
|
-
import styled from 'styled-components/native';
|
|
4
|
+
import { View, Text, StyleSheet } from 'react-native';
|
|
6
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
export const CustomSystemMessageText = styled.Text`
|
|
8
|
-
margin: 0;
|
|
9
|
-
color: ${props => props.primary || '#0052cd'};
|
|
10
|
-
border-radius: 118px;
|
|
11
|
-
padding: 5px 8px;
|
|
12
|
-
display: flex;
|
|
13
|
-
align-items: center;
|
|
14
|
-
justify-content: center;
|
|
15
|
-
font-size: 12px;
|
|
16
|
-
line-height: 14px;
|
|
17
|
-
font-weight: 600;
|
|
18
|
-
background-color: ${props => props.secondary || '#e7edf9'};
|
|
19
|
-
height: 24px;
|
|
20
|
-
white-space: nowrap;
|
|
21
|
-
`;
|
|
22
6
|
const SystemMessage = ({
|
|
23
7
|
messageText,
|
|
24
8
|
colors
|
|
25
9
|
}) => {
|
|
26
|
-
return /*#__PURE__*/_jsx(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
10
|
+
return /*#__PURE__*/_jsx(View, {
|
|
11
|
+
style: styles.container,
|
|
12
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
13
|
+
style: [styles.bubble, {
|
|
14
|
+
backgroundColor: colors?.secondary || '#e7edf9'
|
|
15
|
+
}],
|
|
16
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
17
|
+
style: [styles.text, {
|
|
18
|
+
color: colors?.primary || '#0052cd'
|
|
19
|
+
}],
|
|
20
|
+
children: messageText
|
|
21
|
+
})
|
|
30
22
|
})
|
|
31
23
|
});
|
|
32
24
|
};
|
|
33
25
|
export default SystemMessage;
|
|
26
|
+
const styles = StyleSheet.create({
|
|
27
|
+
container: {
|
|
28
|
+
width: '100%',
|
|
29
|
+
alignItems: 'center',
|
|
30
|
+
paddingVertical: 8,
|
|
31
|
+
paddingHorizontal: 16
|
|
32
|
+
},
|
|
33
|
+
bubble: {
|
|
34
|
+
maxWidth: '85%',
|
|
35
|
+
borderRadius: 12,
|
|
36
|
+
paddingVertical: 6,
|
|
37
|
+
paddingHorizontal: 12
|
|
38
|
+
},
|
|
39
|
+
text: {
|
|
40
|
+
fontSize: 12,
|
|
41
|
+
lineHeight: 16,
|
|
42
|
+
fontWeight: '600',
|
|
43
|
+
textAlign: 'center'
|
|
44
|
+
}
|
|
45
|
+
});
|
|
34
46
|
//# sourceMappingURL=SystemMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","jsx","_jsx","SystemMessage","messageText","colors","style","styles","container","children","bubble","backgroundColor","secondary","text","color","primary","create","width","alignItems","paddingVertical","paddingHorizontal","maxWidth","borderRadius","fontSize","lineHeight","fontWeight","textAlign"],"sourceRoot":"../../../../src","sources":["components/MainComponents/SystemMessage.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOtD,MAAMC,aAA2C,GAAGA,CAAC;EACnDC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,oBACEH,IAAA,CAACJ,IAAI;IAACQ,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAK5BP,IAAA,CAACJ,IAAI;MACHQ,KAAK,EAAE,CACLC,MAAM,CAACG,MAAM,EACb;QAAEC,eAAe,EAAEN,MAAM,EAAEO,SAAS,IAAI;MAAU,CAAC,CACnD;MAAAH,QAAA,eAEFP,IAAA,CAACH,IAAI;QAACO,KAAK,EAAE,CAACC,MAAM,CAACM,IAAI,EAAE;UAAEC,KAAK,EAAET,MAAM,EAAEU,OAAO,IAAI;QAAU,CAAC,CAAE;QAAAN,QAAA,EACjEL;MAAW,CACR;IAAC,CACH;EAAC,CACH,CAAC;AAEX,CAAC;AAED,eAAeD,aAAa;AAE5B,MAAMI,MAAM,GAAGP,UAAU,CAACgB,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,KAAK,EAAE,MAAM;IACbC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDV,MAAM,EAAE;IACNW,QAAQ,EAAE,KAAK;IACfC,YAAY,EAAE,EAAE;IAChBH,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDP,IAAI,EAAE;IACJU,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,EAAE;IACdC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useRef, useState } from 'react';
|
|
4
|
-
import { View, Pressable, StyleSheet, findNodeHandle, UIManager,
|
|
4
|
+
import { View, Pressable, StyleSheet, findNodeHandle, UIManager, Text } from 'react-native';
|
|
5
5
|
import { useDispatch } from 'react-redux';
|
|
6
6
|
import { Avatar } from './Avatar';
|
|
7
7
|
import MessageInteractions from './MessageInteractions';
|
|
@@ -19,6 +19,7 @@ import { parseMessageBody } from '../../helpers/parseMessageBody';
|
|
|
19
19
|
import { useMessageHeapState } from '../../hooks/useMessageHeapState';
|
|
20
20
|
import { DoubleTick } from '../../assets/icons';
|
|
21
21
|
import { useXmppClient } from '../../context/xmppProvider';
|
|
22
|
+
import { useSendMessage } from '../../hooks/useSendMessage';
|
|
22
23
|
import { MessageReaction } from './MessageReaction';
|
|
23
24
|
import { MessageFooter } from '../styled/StyledComponents';
|
|
24
25
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -34,8 +35,19 @@ const CustomMessageContainer = styled.View`
|
|
|
34
35
|
const CustomMessageBubble = styled.View`
|
|
35
36
|
position: relative;
|
|
36
37
|
max-width: 85%;
|
|
37
|
-
min-width:
|
|
38
|
-
|
|
38
|
+
min-width: ${({
|
|
39
|
+
isMedia
|
|
40
|
+
}) => isMedia ? '0' : '30%'};
|
|
41
|
+
align-items: ${({
|
|
42
|
+
isMedia,
|
|
43
|
+
isUser
|
|
44
|
+
}) => isMedia ? isUser ? 'flex-end' : 'flex-start' : 'stretch'};
|
|
45
|
+
padding: ${({
|
|
46
|
+
isMedia
|
|
47
|
+
}) => isMedia ? '0' : '10'}px;
|
|
48
|
+
padding-bottom: ${({
|
|
49
|
+
isMedia
|
|
50
|
+
}) => isMedia ? '6' : '10'}px;
|
|
39
51
|
margin-right: ${({
|
|
40
52
|
isUser
|
|
41
53
|
}) => isUser ? '0' : '10px'};
|
|
@@ -43,6 +55,7 @@ const CustomMessageBubble = styled.View`
|
|
|
43
55
|
isUser
|
|
44
56
|
}) => isUser ? '10px' : '0'};
|
|
45
57
|
border-radius: 10px;
|
|
58
|
+
overflow: hidden;
|
|
46
59
|
border-bottom-left-radius: ${({
|
|
47
60
|
isUser
|
|
48
61
|
}) => isUser ? '10' : '0'}px;
|
|
@@ -75,6 +88,13 @@ const CustomMessagePhotoContainer = styled.TouchableOpacity`
|
|
|
75
88
|
const CustomUserName = styled.Text`
|
|
76
89
|
font-size: 14px;
|
|
77
90
|
font-weight: 500;
|
|
91
|
+
padding-bottom: 8px;
|
|
92
|
+
padding-left: ${({
|
|
93
|
+
media
|
|
94
|
+
}) => media ? '16px' : 0};
|
|
95
|
+
padding-top: ${({
|
|
96
|
+
media
|
|
97
|
+
}) => media ? '8px' : 0};
|
|
78
98
|
color: ${({
|
|
79
99
|
color
|
|
80
100
|
}) => color || '#333'};
|
|
@@ -90,6 +110,16 @@ const CustomMessageTimestamp = styled.Text`
|
|
|
90
110
|
margin-top: 5px;
|
|
91
111
|
align-self: flex-end;
|
|
92
112
|
`;
|
|
113
|
+
const CustomTimestampRow = styled.View`
|
|
114
|
+
flex-direction: row;
|
|
115
|
+
align-items: center;
|
|
116
|
+
align-self: flex-end;
|
|
117
|
+
margin-top: 4;
|
|
118
|
+
gap: 4;
|
|
119
|
+
padding-right: ${({
|
|
120
|
+
media
|
|
121
|
+
}) => media ? '10px' : 0};
|
|
122
|
+
`;
|
|
93
123
|
const Message = ({
|
|
94
124
|
message,
|
|
95
125
|
isUser,
|
|
@@ -105,8 +135,12 @@ const Message = ({
|
|
|
105
135
|
user
|
|
106
136
|
} = useChatSettingState();
|
|
107
137
|
const {
|
|
108
|
-
idSet
|
|
138
|
+
idSet,
|
|
139
|
+
failedIdSet
|
|
109
140
|
} = useMessageHeapState();
|
|
141
|
+
const {
|
|
142
|
+
retryMessage
|
|
143
|
+
} = useSendMessage();
|
|
110
144
|
const [isPressed, setIsPressed] = useState(false);
|
|
111
145
|
if (__DEV__ && message.id && !globalThis.__loggedMsg?.[message.id]) {
|
|
112
146
|
(globalThis.__loggedMsg ||= {})[message.id] = true;
|
|
@@ -114,6 +148,7 @@ const Message = ({
|
|
|
114
148
|
const [contextMenuPosition, setContextMenuPosition] = useState(null);
|
|
115
149
|
const timerRef = useRef(null);
|
|
116
150
|
const messageRef = useRef(null);
|
|
151
|
+
const bubbleRef = useRef(null);
|
|
117
152
|
const handleUserAvatarClick = user => {
|
|
118
153
|
dispatch(setActiveModal(MODAL_TYPES.PROFILE));
|
|
119
154
|
dispatch(setSelectedUser(user));
|
|
@@ -169,16 +204,23 @@ const Message = ({
|
|
|
169
204
|
}
|
|
170
205
|
client?.sendMessageReactionStanza(message.id, message.roomJid, [...(message.reaction[user.xmppUsername || '']?.emoji || []), emoji], `${user.firstName} ${user.lastName}`);
|
|
171
206
|
};
|
|
207
|
+
|
|
208
|
+
// Long-press → capture the bubble's on-screen bounding box. The actual
|
|
209
|
+
// menu placement (above / below, clamped to the viewport) is done in
|
|
210
|
+
// MessageInteractions, which measures the rendered menu height via
|
|
211
|
+
// onLayout — more accurate than estimating it here, and it's what keeps
|
|
212
|
+
// the menu adjacent to the message instead of floating far above (#13).
|
|
172
213
|
const handleLongPress = () => {
|
|
173
|
-
|
|
174
|
-
|
|
214
|
+
const target = bubbleRef.current ?? messageRef.current;
|
|
215
|
+
if (target) {
|
|
216
|
+
const nodeHandle = findNodeHandle(target);
|
|
175
217
|
if (nodeHandle) {
|
|
176
|
-
UIManager.measure(nodeHandle, (
|
|
177
|
-
const screenHeight = Dimensions.get('window').height;
|
|
178
|
-
const enoughSpaceBelow = screenHeight - pageY - height > 150;
|
|
218
|
+
UIManager.measure(nodeHandle, (_x, _y, width, height, pageX, pageY) => {
|
|
179
219
|
setContextMenuPosition({
|
|
180
|
-
|
|
181
|
-
|
|
220
|
+
left: pageX,
|
|
221
|
+
right: pageX + width,
|
|
222
|
+
top: pageY,
|
|
223
|
+
bottom: pageY + height
|
|
182
224
|
});
|
|
183
225
|
});
|
|
184
226
|
}
|
|
@@ -186,7 +228,13 @@ const Message = ({
|
|
|
186
228
|
setIsPressed(true);
|
|
187
229
|
};
|
|
188
230
|
const messageText = config?.messageTextFilter?.enabled ? parseMessageBody(config?.messageTextFilter.filterFunction(message.body)) : parseMessageBody(message.body);
|
|
189
|
-
const
|
|
231
|
+
const isFailed = failedIdSet.has(message.id);
|
|
232
|
+
const isPending = !isFailed && (idSet.has(message.id) || message?.pending || false);
|
|
233
|
+
const onRetryPress = () => {
|
|
234
|
+
if (isFailed) {
|
|
235
|
+
retryMessage(message.id);
|
|
236
|
+
}
|
|
237
|
+
};
|
|
190
238
|
return /*#__PURE__*/_jsxs(View, {
|
|
191
239
|
children: [isPressed && /*#__PURE__*/_jsx(View, {
|
|
192
240
|
style: styles.overlay
|
|
@@ -214,18 +262,32 @@ const Message = ({
|
|
|
214
262
|
username: message.user.name
|
|
215
263
|
})
|
|
216
264
|
}), /*#__PURE__*/_jsx(Pressable
|
|
217
|
-
//
|
|
218
|
-
//
|
|
265
|
+
// The Pressable fills the row's content area, so the bubble
|
|
266
|
+
// inside must be aligned to the sender's side — otherwise it
|
|
267
|
+
// hugs the left and own media bubbles sit with a right-side
|
|
268
|
+
// gap (text bubbles only looked right because they're narrow).
|
|
269
|
+
// flex-end for own, flex-start for others.
|
|
219
270
|
, {
|
|
271
|
+
style: {
|
|
272
|
+
flex: 1,
|
|
273
|
+
alignItems: isUser ? 'flex-end' : 'flex-start'
|
|
274
|
+
}
|
|
275
|
+
// disableInteractions hides the long-press → context menu
|
|
276
|
+
// (delete / edit / reply / react). Mirrors web's config gate.
|
|
277
|
+
,
|
|
220
278
|
onLongPress: config?.disableInteractions ? undefined : handleLongPress,
|
|
221
279
|
delayLongPress: 500,
|
|
222
280
|
children: /*#__PURE__*/_jsxs(CustomMessageBubble, {
|
|
281
|
+
ref: bubbleRef,
|
|
282
|
+
collapsable: false,
|
|
223
283
|
isUser: isUser,
|
|
224
284
|
deleted: message.isDeleted,
|
|
285
|
+
isMedia: message?.isMediafile === 'true' && !message?.isDeleted,
|
|
225
286
|
backgroundMessageUser: config?.messageColor?.backgroundMessageUser,
|
|
226
287
|
backgroundMessage: config?.messageColor?.backgroundMessage,
|
|
227
288
|
children: [!isUser && /*#__PURE__*/_jsx(CustomUserName, {
|
|
228
289
|
color: config?.colors?.primary,
|
|
290
|
+
media: message?.isMediafile === 'true',
|
|
229
291
|
children: message.user.name
|
|
230
292
|
}), !isReply && message.mainMessage && /*#__PURE__*/_jsx(MessageReply, {
|
|
231
293
|
handleReplyMessage: handleReplyMessage,
|
|
@@ -236,7 +298,8 @@ const Message = ({
|
|
|
236
298
|
mimeType: message.mimetype,
|
|
237
299
|
messageText: message.locationPreview,
|
|
238
300
|
location: message?.location,
|
|
239
|
-
message: message
|
|
301
|
+
message: message,
|
|
302
|
+
isUser: isUser
|
|
240
303
|
}) : /*#__PURE__*/_jsx(_Fragment, {
|
|
241
304
|
children: message.isDeleted && message.id !== 'delimiter-new' ? /*#__PURE__*/_jsx(DeletedMessage, {}) : /*#__PURE__*/_jsx(CustomMessageText, {
|
|
242
305
|
isUser: isUser,
|
|
@@ -250,13 +313,24 @@ const Message = ({
|
|
|
250
313
|
message: message,
|
|
251
314
|
config: config,
|
|
252
315
|
langSource: langSource
|
|
253
|
-
}), /*#__PURE__*/_jsxs(
|
|
316
|
+
}), /*#__PURE__*/_jsxs(CustomTimestampRow, {
|
|
317
|
+
media: message?.isMediafile === 'true',
|
|
254
318
|
children: [!config?.disableSentLogic && isUser && isPending && /*#__PURE__*/_jsx(Text, {
|
|
319
|
+
style: styles.timestampText,
|
|
255
320
|
children: "sending..."
|
|
256
|
-
}),
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
321
|
+
}), !config?.disableSentLogic && isUser && isFailed && /*#__PURE__*/_jsx(Text, {
|
|
322
|
+
onPress: onRetryPress,
|
|
323
|
+
style: styles.failedText,
|
|
324
|
+
accessibilityRole: "button",
|
|
325
|
+
accessibilityLabel: "Retry sending message",
|
|
326
|
+
children: "! Failed \u2014 tap to retry"
|
|
327
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
328
|
+
style: styles.timestampText,
|
|
329
|
+
children: new Date(message.date).toLocaleTimeString([], {
|
|
330
|
+
hour: '2-digit',
|
|
331
|
+
minute: '2-digit'
|
|
332
|
+
})
|
|
333
|
+
}), !config?.disableSentLogic && isUser && !isPending && !isFailed && /*#__PURE__*/_jsx(DoubleTick, {})]
|
|
260
334
|
}), message?.reply?.length && message?.reply?.length > 0 ? /*#__PURE__*/_jsx(BottomReplyContainer, {
|
|
261
335
|
isUser: isUser,
|
|
262
336
|
onClick: handleReplyMessage,
|
|
@@ -307,6 +381,30 @@ const styles = StyleSheet.create({
|
|
|
307
381
|
color: '#999',
|
|
308
382
|
marginTop: 5,
|
|
309
383
|
alignSelf: 'flex-end'
|
|
384
|
+
},
|
|
385
|
+
failedText: {
|
|
386
|
+
color: '#E53935',
|
|
387
|
+
fontWeight: '600',
|
|
388
|
+
marginRight: 6
|
|
389
|
+
},
|
|
390
|
+
// Row keeps the time text and the DoubleTick SVG on the same line.
|
|
391
|
+
// The time Text gets an explicit lineHeight equal to the 16px tick so
|
|
392
|
+
// both occupy the same-height box; with alignItems center they line up
|
|
393
|
+
// exactly. Without the lineHeight the Text's natural line box was
|
|
394
|
+
// shorter than the icon, so the centred tick floated above the digits.
|
|
395
|
+
timestampRow: {
|
|
396
|
+
flexDirection: 'row',
|
|
397
|
+
alignItems: 'center',
|
|
398
|
+
alignSelf: 'flex-end',
|
|
399
|
+
marginTop: 4,
|
|
400
|
+
gap: 4
|
|
401
|
+
},
|
|
402
|
+
timestampText: {
|
|
403
|
+
fontSize: 12,
|
|
404
|
+
lineHeight: 16,
|
|
405
|
+
color: '#999',
|
|
406
|
+
includeFontPadding: false,
|
|
407
|
+
textAlignVertical: 'center'
|
|
310
408
|
}
|
|
311
409
|
});
|
|
312
410
|
//# sourceMappingURL=Message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","useState","View","Pressable","StyleSheet","findNodeHandle","UIManager","Dimensions","Text","useDispatch","Avatar","MessageInteractions","BottomReplyContainer","MessageReply","DeletedMessage","setActiveModal","setDeleteModal","setSelectedUser","MODAL_TYPES","setActiveMessage","setEditAction","styled","MediaMessage","MessageTranslations","useChatSettingState","parseMessageBody","useMessageHeapState","DoubleTick","useXmppClient","MessageReaction","MessageFooter","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","CustomMessageContainer","isUser","props","reply","CustomMessageBubble","deleted","backgroundMessageUser","backgroundMessage","CustomMessageText","color","colorUser","CustomMessagePhoto","Image","CustomMessagePhotoContainer","TouchableOpacity","CustomUserName","CustomMessageTimestamp","Message","message","isReply","dispatch","client","config","langSource","user","idSet","isPressed","setIsPressed","__DEV__","id","globalThis","__loggedMsg","contextMenuPosition","setContextMenuPosition","timerRef","messageRef","handleUserAvatarClick","PROFILE","handleReplyMessage","isEdit","mainMessage","messageCore","JSON","parse","chatJID","roomJid","handleDeleteMessage","isDeleteModal","messageId","handleEditMessage","text","body","handleReactionMessage","emoji","reaction","sendMessageReactionStanza","firstName","lastName","xmppUsername","includes","filterEmoji","filter","handleLongPress","current","nodeHandle","measure","x","y","width","height","pageX","pageY","screenHeight","get","enoughSpaceBelow","messageText","messageTextFilter","enabled","filterFunction","isPending","has","pending","children","style","styles","overlay","ref","customMessageContainer","justifyContent","marginBottom","length","Object","keys","transform","scale","paddingRight","undefined","onPress","profileImage","source","uri","username","name","onLongPress","disableInteractions","delayLongPress","isDeleted","messageColor","colors","primary","isMediafile","mimeType","mimetype","locationPreview","location","enableTranslates","disableSentLogic","Date","date","toLocaleTimeString","hour","minute","onClick","disableReactions","changeReaction","userName","position","closeMenu","create","flexDirection","padding","alignItems","absoluteFillObject","top","left","timestamp","fontSize","marginTop","alignSelf"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/Message.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC/C,SACEC,IAAI,EACJC,SAAS,EACTC,UAAU,EACVC,cAAc,EACdC,SAAS,EACTC,UAAU,EACVC,IAAI,QACC,cAAc;AACrB,SAASC,WAAW,QAAqB,aAAa;AAEtD,SAASC,MAAM,QAAQ,UAAU;AACjC,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SACEC,cAAc,EACdC,cAAc,EACdC,eAAe,QACV,mCAAmC;AAC1C,SAASC,WAAW,QAAQ,qCAAqC;AACjE,SAASC,gBAAgB,EAAEC,aAAa,QAAQ,4BAA4B;AAC5E,OAAOC,MAAM,MAAM,0BAA0B;AAE7C,OAAOC,YAAY,MAAM,gCAAgC;AACzD,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,aAAa,QAAQ,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3D,MAAMC,sBAAsB,GAAGhB,MAAM,CAACnB,IAAyC;AAC/E;AACA;AACA;AACA,qBAAqB,CAAC;EAAEoC;AAAO,CAAC,KAAMA,MAAM,GAAG,UAAU,GAAG,YAAa;AACzE,mBAAoBC,KAAK,IAAMA,KAAK,CAACC,KAAK,GAAG,MAAM,GAAG,KAAM;AAC5D,CAAC;AAED,MAAMC,mBAAmB,GAAGpB,MAAM,CAACnB,IAKjC;AACF;AACA;AACA;AACA;AACA,kBAAkB,CAAC;EAACoC;AAAM,CAAC,KAAKA,MAAM,GAAG,GAAG,GAAG,MAAM;AACrD,iBAAiB,CAAC;EAACA;AAAM,CAAC,KAAKA,MAAM,GAAG,MAAM,GAAG,GAAG;AACpD;AACA,+BAA+B,CAAC;EAAEA;AAAO,CAAC,KAAMA,MAAM,GAAG,IAAI,GAAG,GAAI;AACpE,gCAAgC,CAAC;EAAEA;AAAO,CAAC,KAAMA,MAAM,GAAG,GAAG,GAAG,IAAK;AACrE,sBAAsB,CAAC;EACnBA,MAAM;EACNI,OAAO;EACPC,qBAAqB;EACrBC;AACF,CAAC,KACCF,OAAO,GACH,SAAS,GACTJ,MAAM,GACNK,qBAAqB,IAAI,SAAS,GAClCC,iBAAiB,IAAI,MAAM;AACnC,CAAC;AAED,MAAMC,iBAAiB,GAAGxB,MAAM,CAACb,IAI/B;AACF;AACA,WAAW,CAAC;EAAEsC,KAAK;EAAEC,SAAS;EAAET;AAAO,CAAC,KACpCA,MAAM,GAAGS,SAAS,IAAI,MAAM,GAAGD,KAAK,IAAI,MAAM;AAClD,CAAC;AAED,MAAME,kBAAkB,GAAG3B,MAAM,CAAC4B,KAAK;AACvC;AACA;AACA;AACA,CAAC;AAED,MAAMC,2BAA2B,GAAG7B,MAAM,CAAC8B,gBAAgB;AAC3D;AACA,CAAC;AAED,MAAMC,cAAc,GAAG/B,MAAM,CAACb,IAAwB;AACtD;AACA;AACA,WAAW,CAAC;EAAEsC;AAAM,CAAC,KAAKA,KAAK,IAAI,MAAM;AACzC,CAAC;AAED,MAAMO,sBAAsB,GAAGhC,MAAM,CAACb,IAIpC;AACF;AACA;AACA,WAAW,CAAC;EAAE8B,MAAM;EAAEQ,KAAK;EAAEC;AAAU,CAAC,KACpCT,MAAM,GAAGS,SAAS,IAAI,MAAM,GAAGD,KAAK,IAAI,MAAM;AAClD;AACA;AACA,CAAC;AAED,MAAMQ,OAA+B,GAAGA,CAAC;EAAEC,OAAO;EAAEjB,MAAM;EAAEkB;AAAQ,CAAC,KAAK;EACxE,MAAMC,QAAQ,GAAGhD,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEiD;EAAO,CAAC,GAAG9B,aAAa,CAAC,CAAC;EAClC,MAAM;IAAE+B,MAAM;IAAEC,UAAU;IAAEC;EAAI,CAAC,GAAGrC,mBAAmB,CAAC,CAAC;EACzD,MAAM;IAAEsC;EAAM,CAAC,GAAGpC,mBAAmB,CAAC,CAAC;EAEvC,MAAM,CAACqC,SAAS,EAAEC,YAAY,CAAC,GAAG/D,QAAQ,CAAC,KAAK,CAAC;EAEjD,IAAIgE,OAAO,IAAIV,OAAO,CAACW,EAAE,IAAI,CAAEC,UAAU,CAASC,WAAW,GAAGb,OAAO,CAACW,EAAE,CAAC,EAAE;IAC3E,CAAEC,UAAU,CAASC,WAAW,KAAK,CAAC,CAAC,EAAEb,OAAO,CAACW,EAAE,CAAC,GAAG,IAAI;EAC7D;EAEA,MAAM,CAACG,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGrE,QAAQ,CAGpD,IAAI,CAAC;EAEf,MAAMsE,QAAQ,GAAGvE,MAAM,CAAwB,IAAI,CAAC;EACpD,MAAMwE,UAAU,GAAGxE,MAAM,CAAO,IAAI,CAAC;EAErC,MAAMyE,qBAAqB,GAAIZ,IAAW,IAAW;IACnDJ,QAAQ,CAAC1C,cAAc,CAACG,WAAW,CAACwD,OAAO,CAAC,CAAC;IAC7CjB,QAAQ,CAACxC,eAAe,CAAC4C,IAAI,CAAC,CAAC;EACjC,CAAC;EAED,MAAMc,kBAAkB,GAAGA,CAAA,KAAM;IAC/BlB,QAAQ,CAACrC,aAAa,CAAC;MAAEwD,MAAM,EAAE;IAAM,CAAC,CAAC,CAAC;IAE1C,IAAI,CAACpB,OAAO,IAAID,OAAO,CAACsB,WAAW,EAAE;MACnC,MAAMC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACzB,OAAO,CAACsB,WAAW,CAAC;MACnDpB,QAAQ,CACNtC,gBAAgB,CAAC;QAAE+C,EAAE,EAAEY,WAAW,CAACZ,EAAE;QAAEe,OAAO,EAAEH,WAAW,CAACI;MAAQ,CAAC,CACvE,CAAC;MAED,OAAOlB,YAAY,CAAC,KAAK,CAAC;IAC5B;IAEAP,QAAQ,CAACtC,gBAAgB,CAAC;MAAE+C,EAAE,EAAEX,OAAO,CAACW,EAAE;MAAEe,OAAO,EAAE1B,OAAO,CAAC2B;IAAQ,CAAC,CAAC,CAAC;IAExE,OAAOlB,YAAY,CAAC,KAAK,CAAC;EAC5B,CAAC;EAED,MAAMmB,mBAAmB,GAAGA,CAAA,KAAM;IAChC1B,QAAQ,CACNzC,cAAc,CAAC;MACboE,aAAa,EAAE,IAAI;MACnBF,OAAO,EAAE3B,OAAO,CAAC2B,OAAO;MACxBG,SAAS,EAAE9B,OAAO,CAACW;IACrB,CAAC,CACH,CAAC;IACDF,YAAY,CAAC,KAAK,CAAC;EACrB,CAAC;EAED,MAAMsB,iBAAiB,GAAGA,CAAA,KAAM;IAC9B7B,QAAQ,CACNrC,aAAa,CAAC;MACZwD,MAAM,EAAE,IAAI;MACZM,OAAO,EAAE3B,OAAO,CAAC2B,OAAO;MACxBG,SAAS,EAAE9B,OAAO,CAACW,EAAE;MACrBqB,IAAI,EAAEhC,OAAO,CAACiC;IAChB,CAAC,CACH,CAAC;IAED,OAAOxB,YAAY,CAAC,KAAK,CAAC;EAC5B,CAAC;;EAED;EACA;EACA;EACA;;EAEA,MAAMyB,qBAAqB,GAAIC,KAAa,IAAK;IAC/C,IAAI,CAACnC,OAAO,CAACoC,QAAQ,EAAE;MACrB,OAAOjC,MAAM,EAAEkC,yBAAyB,CACtCrC,OAAO,CAACW,EAAE,EACVX,OAAO,CAAC2B,OAAO,EACf,CAACQ,KAAK,CAAC,EACP,GAAG7B,IAAI,CAACgC,SAAS,IAAIhC,IAAI,CAACiC,QAAQ,EACpC,CAAC;IACH;IACA,IACEvC,OAAO,CAACoC,QAAQ,IAChBpC,OAAO,CAACoC,QAAQ,CAAC9B,IAAI,CAACkC,YAAY,IAAI,EAAE,CAAC,IACzCxC,OAAO,CAACoC,QAAQ,CAAC9B,IAAI,CAACkC,YAAY,IAAI,EAAE,CAAC,EAAEL,KAAK,CAACM,QAAQ,CAACN,KAAK,CAAC,EAChE;MACA,MAAMO,WAAW,GAAG1C,OAAO,CAACoC,QAAQ,CAAC9B,IAAI,CAACkC,YAAY,IAAI,EAAE,CAAC,EAAEL,KAAK,CAACQ,MAAM,CACxEP,QAAa,IAAKA,QAAQ,KAAKD,KAClC,CAAC;MAED,OAAOhC,MAAM,EAAEkC,yBAAyB,CACtCrC,OAAO,CAACW,EAAE,EACVX,OAAO,CAAC2B,OAAO,EACfe,WAAW,EACX,GAAGpC,IAAI,CAACgC,SAAS,IAAIhC,IAAI,CAACiC,QAAQ,EACpC,CAAC;IACH;IAEApC,MAAM,EAAEkC,yBAAyB,CAC/BrC,OAAO,CAACW,EAAE,EACVX,OAAO,CAAC2B,OAAO,EACf,CAAC,IAAI3B,OAAO,CAACoC,QAAQ,CAAC9B,IAAI,CAACkC,YAAY,IAAI,EAAE,CAAC,EAAEL,KAAK,IAAI,EAAE,CAAC,EAAEA,KAAK,CAAC,EACpE,GAAG7B,IAAI,CAACgC,SAAS,IAAIhC,IAAI,CAACiC,QAAQ,EACpC,CAAC;EACH,CAAC;EAED,MAAMK,eAAe,GAAGA,CAAA,KAAM;IAC5B,IAAI3B,UAAU,CAAC4B,OAAO,EAAE;MACtB,MAAMC,UAAU,GAAGhG,cAAc,CAACmE,UAAU,CAAC4B,OAAO,CAAC;MACrD,IAAIC,UAAU,EAAE;QACd/F,SAAS,CAACgG,OAAO,CAACD,UAAU,EAAE,CAACE,CAAC,EAAEC,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAEC,KAAK,EAAEC,KAAK,KAAK;UACnE,MAAMC,YAAY,GAAGtG,UAAU,CAACuG,GAAG,CAAC,QAAQ,CAAC,CAACJ,MAAM;UAEpD,MAAMK,gBAAgB,GAAGF,YAAY,GAAGD,KAAK,GAAGF,MAAM,GAAG,GAAG;UAC5DpC,sBAAsB,CAAC;YACrBiC,CAAC,EAAEI,KAAK;YACRH,CAAC,EAAEO,gBAAgB,GAAGH,KAAK,GAAGF,MAAM,GAAGE,KAAK,GAAG;UACjD,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ;IACF;IACA5C,YAAY,CAAC,IAAI,CAAC;EACpB,CAAC;EAED,MAAMgD,WAAW,GAAGrD,MAAM,EAAEsD,iBAAiB,EAAEC,OAAO,GAClDzF,gBAAgB,CAACkC,MAAM,EAAEsD,iBAAiB,CAACE,cAAc,CAAC5D,OAAO,CAACiC,IAAI,CAAC,CAAC,GACxE/D,gBAAgB,CAAC8B,OAAO,CAACiC,IAAI,CAAC;EAElC,MAAM4B,SAAS,GAAGtD,KAAK,CAACuD,GAAG,CAAC9D,OAAO,CAACW,EAAE,CAAC,IAAIX,OAAO,EAAE+D,OAAO,IAAI,KAAK;EAEpE,oBACElF,KAAA,CAAClC,IAAI;IAAAqH,QAAA,GACFxD,SAAS,iBAAI/B,IAAA,CAAC9B,IAAI;MAACsH,KAAK,EAAEC,MAAM,CAACC;IAAQ,CAAE,CAAC,eAC7CtF,KAAA,CAAClC,IAAI;MACHyH,GAAG,EAAEnD,UAAW;MAChBgD,KAAK,EAAE,CACLC,MAAM,CAACG,sBAAsB,EAC7B;QACEC,cAAc,EAAEvF,MAAM,GAAG,UAAU,GAAG,YAAY;QAClDwF,YAAY,EAAE,CAAC,CAACvE,OAAO,EAAEf,KAAK,EAAEuF,MAAM,IAAIxE,OAAO,EAAEoC,QAAQ,IAAI,CAAC,CAACqC,MAAM,CAACC,IAAI,CAAC1E,OAAO,EAAEoC,QAAQ,CAAC,EAAEoC,MAAM,GACpG,EAAE,GAAG;MACV,CAAC,EACDhE,SAAS,GACL;QAAEmE,SAAS,EAAE,CAAC;UAAEC,KAAK,EAAE;QAAK,CAAC,CAAC;QAAEC,YAAY,EAAE;MAAG,CAAC,GAClDC;MACJ;MACA;MAAA,CACA;MAAAd,QAAA,GAED,CAACjF,MAAM,iBACNN,IAAA,CAACkB,2BAA2B;QAC1BoF,OAAO,EAAEA,CAAA,KAAM7D,qBAAqB,CAAClB,OAAO,CAACM,IAAI,CAAE;QAAA0D,QAAA,EAElDhE,OAAO,CAACM,IAAI,EAAE0E,YAAY,gBACzBvG,IAAA,CAACgB,kBAAkB;UAACwF,MAAM,EAAE;YAAEC,GAAG,EAAElF,OAAO,CAACM,IAAI,CAAC0E;UAAa;QAAE,CAAE,CAAC,gBAElEvG,IAAA,CAACtB,MAAM;UAACgI,QAAQ,EAAEnF,OAAO,CAACM,IAAI,CAAC8E;QAAK,CAAE;MACvC,CAC0B,CAC9B,eACD3G,IAAA,CAAC7B;MACC;MACA;MAAA;QACAyI,WAAW,EACTjF,MAAM,EAAEkF,mBAAmB,GAAGR,SAAS,GAAGlC,eAC3C;QACD2C,cAAc,EAAE,GAAI;QAAAvB,QAAA,eAEpBnF,KAAA,CAACK,mBAAmB;UAClBH,MAAM,EAAEA,MAAO;UACfI,OAAO,EAAEa,OAAO,CAACwF,SAAU;UAC3BpG,qBAAqB,EAAEgB,MAAM,EAAEqF,YAAY,EAAErG,qBAAsB;UACnEC,iBAAiB,EAAEe,MAAM,EAAEqF,YAAY,EAAEpG,iBAAkB;UAAA2E,QAAA,GAE1D,CAACjF,MAAM,iBACNN,IAAA,CAACoB,cAAc;YAACN,KAAK,EAAEa,MAAM,EAAEsF,MAAM,EAAEC,OAAQ;YAAA3B,QAAA,EAC5ChE,OAAO,CAACM,IAAI,CAAC8E;UAAI,CACJ,CACjB,EACA,CAACnF,OAAO,IAAID,OAAO,CAACsB,WAAW,iBAC9B7C,IAAA,CAACnB,YAAY;YACX8D,kBAAkB,EAAEA,kBAAmB;YACvCrC,MAAM,EAAEA,MAAO;YACfiD,IAAI,EAAER,IAAI,CAACC,KAAK,CAACzB,OAAO,CAACsB,WAAW,CAAC,CAACU,IAAK;YAC3CzC,KAAK,EAAEa,MAAM,EAAEsF,MAAM,EAAEC;UAAQ,CAChC,CACF,EAEA3F,OAAO,EAAE4F,WAAW,KAAK,MAAM,IAAI,CAAC5F,OAAO,EAAEwF,SAAS,gBACrD/G,IAAA,CAACV,YAAY;YACX8H,QAAQ,EAAE7F,OAAO,CAAC8F,QAAS;YAC3BrC,WAAW,EAAEzD,OAAO,CAAC+F,eAAgB;YACrCC,QAAQ,EAAEhG,OAAO,EAAEgG,QAAS;YAC5BhG,OAAO,EAAEA;UAAQ,CAClB,CAAC,gBAEFvB,IAAA,CAAAE,SAAA;YAAAqF,QAAA,EACGhE,OAAO,CAACwF,SAAS,IAAIxF,OAAO,CAACW,EAAE,KAAK,eAAe,gBAClDlC,IAAA,CAAClB,cAAc,IAAE,CAAC,gBAElBkB,IAAA,CAACa,iBAAiB;cAChBP,MAAM,EAAEA,MAAO;cACfS,SAAS,EAAEY,MAAM,EAAEqF,YAAY,EAAEjG,SAAU;cAC3CD,KAAK,EAAEa,MAAM,EAAEqF,YAAY,EAAElG,KAAM;cAAAyE,QAAA,eAEnCvF,IAAA,CAACxB,IAAI;gBAAA+G,QAAA,EAAEP;cAAW,CAAO;YAAC,CACT;UACpB,CACD,CACH,EACArD,MAAM,EAAE6F,gBAAgB,iBACvBxH,IAAA,CAACT,mBAAmB;YAClBgC,OAAO,EAAEA,OAAQ;YACjBI,MAAM,EAAEA,MAAO;YACfC,UAAU,EAAEA;UAAW,CACxB,CACF,eACDxB,KAAA,CAACiB,sBAAsB;YAAAkE,QAAA,GACtB,CAAC5D,MAAM,EAAE8F,gBAAgB,IAAInH,MAAM,IAAI8E,SAAS,iBAAIpF,IAAA,CAACxB,IAAI;cAAA+G,QAAA,EAAC;YAAU,CAAM,CAAC,EAC3E,IAAImC,IAAI,CAACnG,OAAO,CAACoG,IAAI,CAAC,CAACC,kBAAkB,CAAC,EAAE,EAAE;cAC7CC,IAAI,EAAE,SAAS;cACfC,MAAM,EAAE;YACV,CAAC,CAAC,EACD,CAACnG,MAAM,EAAE8F,gBAAgB,IAAInH,MAAM,IAAI,CAAC8E,SAAS,iBAChDpF,IAAA,CAACL,UAAU,IAAE,CACd;UAAA,CACqB,CAAC,EAExB4B,OAAO,EAAEf,KAAK,EAAEuF,MAAM,IAAIxE,OAAO,EAAEf,KAAK,EAAEuF,MAAM,GAAG,CAAC,gBACjD/F,IAAA,CAACpB,oBAAoB;YACnB0B,MAAM,EAAEA,MAAO;YACfyH,OAAO,EAAEpF,kBAAmB;YAC5BnC,KAAK,EAAEe,OAAO,EAAEf;UAAM,CACvB,CAAC,gBAEFR,IAAA,CAAC9B,IAAI,IAAE,CACR,eAEH8B,IAAA,CAACF,aAAa;YAACQ,MAAM,EAAEA,MAAO;YAAAiF,QAAA,EAE3BhE,OAAO,CAACoC,QAAQ,IAAI,CAAChC,MAAM,EAAEqG,gBAAgB,iBAC5ChI,IAAA,CAACH,eAAe;cACd8D,QAAQ,EAAEpC,OAAO,CAACoC,QAAS;cAC3BsE,cAAc,EAAExE,qBAAsB;cACtC3C,KAAK,EAAEa,MAAM,EAAEsF,MAAM,EAAEC,OAAO,IAAI,SAAU;cAC5CgB,QAAQ,EAAE,GAAGrG,IAAI,CAACgC,SAAS,IAAIhC,IAAI,CAACiC,QAAQ;YAAG,CAChD;UACF,CACY,CAAC;QAAA,CACK;MAAC,CACb,CAAC;IAAA,CACR,CAAC,EACN,CAACnC,MAAM,EAAEkF,mBAAmB,IAAI9E,SAAS,iBACxC/B,IAAA,CAACrB,mBAAmB;MAClBwJ,QAAQ,EAAE9F,mBAAoB;MAC9Bb,OAAO,EAAEA,OAAQ;MACjBlB,MAAM,EAAEA,MAAO;MACfiB,OAAO,EAAEA,OAAQ;MACjB6G,SAAS,EAAEA,CAAA,KAAMpG,YAAY,CAAC,KAAK,CAAE;MACrCW,kBAAkB,EAAEA,kBAAmB;MACvCQ,mBAAmB,EAAEA,mBAAoB;MACzCG,iBAAiB,EAAEA,iBAAkB;MACrCG,qBAAqB,EAAEA;IAAsB,CAC9C,CACF;EAAA,CACG,CAAC;AAEX,CAAC;AAED,SAASnC,OAAO;AAEhB,MAAMmE,MAAM,GAAGrH,UAAU,CAACiK,MAAM,CAAC;EAC/BzC,sBAAsB,EAAE;IACtB0C,aAAa,EAAE,KAAK;IACpBC,OAAO,EAAE,EAAE;IACXC,UAAU,EAAE,UAAU;IACtBL,QAAQ,EAAE;EACZ,CAAC;EACDzC,OAAO,EAAE;IACP,GAAGtH,UAAU,CAACqK,kBAAkB;IAChCN,QAAQ,EAAE,UAAU;IACpBO,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPlE,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;IACR;EACF,CAAC;EACDkE,SAAS,EAAE;IACTC,QAAQ,EAAE,EAAE;IACZ/H,KAAK,EAAE,MAAM;IACbgI,SAAS,EAAE,CAAC;IACZC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useRef","useState","View","Pressable","StyleSheet","findNodeHandle","UIManager","Text","useDispatch","Avatar","MessageInteractions","BottomReplyContainer","MessageReply","DeletedMessage","setActiveModal","setDeleteModal","setSelectedUser","MODAL_TYPES","setActiveMessage","setEditAction","styled","MediaMessage","MessageTranslations","useChatSettingState","parseMessageBody","useMessageHeapState","DoubleTick","useXmppClient","useSendMessage","MessageReaction","MessageFooter","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","CustomMessageContainer","isUser","props","reply","CustomMessageBubble","isMedia","deleted","backgroundMessageUser","backgroundMessage","CustomMessageText","color","colorUser","CustomMessagePhoto","Image","CustomMessagePhotoContainer","TouchableOpacity","CustomUserName","media","CustomMessageTimestamp","CustomTimestampRow","Message","message","isReply","dispatch","client","config","langSource","user","idSet","failedIdSet","retryMessage","isPressed","setIsPressed","__DEV__","id","globalThis","__loggedMsg","contextMenuPosition","setContextMenuPosition","timerRef","messageRef","bubbleRef","handleUserAvatarClick","PROFILE","handleReplyMessage","isEdit","mainMessage","messageCore","JSON","parse","chatJID","roomJid","handleDeleteMessage","isDeleteModal","messageId","handleEditMessage","text","body","handleReactionMessage","emoji","reaction","sendMessageReactionStanza","firstName","lastName","xmppUsername","includes","filterEmoji","filter","handleLongPress","target","current","nodeHandle","measure","_x","_y","width","height","pageX","pageY","left","right","top","bottom","messageText","messageTextFilter","enabled","filterFunction","isFailed","has","isPending","pending","onRetryPress","children","style","styles","overlay","ref","customMessageContainer","justifyContent","marginBottom","length","Object","keys","transform","scale","paddingRight","undefined","onPress","profileImage","source","uri","username","name","flex","alignItems","onLongPress","disableInteractions","delayLongPress","collapsable","isDeleted","isMediafile","messageColor","colors","primary","mimeType","mimetype","locationPreview","location","enableTranslates","disableSentLogic","timestampText","failedText","accessibilityRole","accessibilityLabel","Date","date","toLocaleTimeString","hour","minute","onClick","disableReactions","changeReaction","userName","position","closeMenu","create","flexDirection","padding","absoluteFillObject","timestamp","fontSize","marginTop","alignSelf","fontWeight","marginRight","timestampRow","gap","lineHeight","includeFontPadding","textAlignVertical"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/Message.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC/C,SACEC,IAAI,EACJC,SAAS,EACTC,UAAU,EACVC,cAAc,EACdC,SAAS,EACTC,IAAI,QACC,cAAc;AACrB,SAASC,WAAW,QAAqB,aAAa;AAEtD,SAASC,MAAM,QAAQ,UAAU;AACjC,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SACEC,cAAc,EACdC,cAAc,EACdC,eAAe,QACV,mCAAmC;AAC1C,SAASC,WAAW,QAAQ,qCAAqC;AACjE,SAASC,gBAAgB,EAAEC,aAAa,QAAQ,4BAA4B;AAC5E,OAAOC,MAAM,MAAM,0BAA0B;AAE7C,OAAOC,YAAY,MAAM,gCAAgC;AACzD,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,aAAa,QAAQ,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3D,MAAMC,sBAAsB,GAAGjB,MAAM,CAAClB,IAAyC;AAC/E;AACA;AACA;AACA,qBAAqB,CAAC;EAAEoC;AAAO,CAAC,KAAMA,MAAM,GAAG,UAAU,GAAG,YAAa;AACzE,mBAAoBC,KAAK,IAAMA,KAAK,CAACC,KAAK,GAAG,MAAM,GAAG,KAAM;AAC5D,CAAC;AAED,MAAMC,mBAAmB,GAAGrB,MAAM,CAAClB,IAMjC;AACF;AACA;AACA,eAAe,CAAC;EAAEwC;AAAQ,CAAC,KAAMA,OAAO,GAAG,GAAG,GAAG,KAAM;AACvD,iBAAiB,CAAC;EAAEA,OAAO;EAAEJ;AAAO,CAAC,KACjCI,OAAO,GAAIJ,MAAM,GAAG,UAAU,GAAG,YAAY,GAAI,SAAS;AAC9D,aAAa,CAAC;EAACI;AAAO,CAAC,KAAKA,OAAO,GAAG,GAAG,GAAG,IAAI;AAChD,oBAAoB,CAAC;EAACA;AAAO,CAAC,KAAKA,OAAO,GAAG,GAAG,GAAG,IAAI;AACvD,kBAAkB,CAAC;EAACJ;AAAM,CAAC,KAAKA,MAAM,GAAG,GAAG,GAAG,MAAM;AACrD,iBAAiB,CAAC;EAACA;AAAM,CAAC,KAAKA,MAAM,GAAG,MAAM,GAAG,GAAG;AACpD;AACA;AACA,+BAA+B,CAAC;EAAEA;AAAO,CAAC,KAAMA,MAAM,GAAG,IAAI,GAAG,GAAI;AACpE,gCAAgC,CAAC;EAAEA;AAAO,CAAC,KAAMA,MAAM,GAAG,GAAG,GAAG,IAAK;AACrE,sBAAsB,CAAC;EACnBA,MAAM;EACNK,OAAO;EACPC,qBAAqB;EACrBC;AACF,CAAC,KACCF,OAAO,GACH,SAAS,GACTL,MAAM,GACNM,qBAAqB,IAAI,SAAS,GAClCC,iBAAiB,IAAI,MAAM;AACnC,CAAC;AAED,MAAMC,iBAAiB,GAAG1B,MAAM,CAACb,IAI/B;AACF;AACA,WAAW,CAAC;EAAEwC,KAAK;EAAEC,SAAS;EAAEV;AAAO,CAAC,KACpCA,MAAM,GAAGU,SAAS,IAAI,MAAM,GAAGD,KAAK,IAAI,MAAM;AAClD,CAAC;AAED,MAAME,kBAAkB,GAAG7B,MAAM,CAAC8B,KAAK;AACvC;AACA;AACA;AACA,CAAC;AAED,MAAMC,2BAA2B,GAAG/B,MAAM,CAACgC,gBAAgB;AAC3D;AACA,CAAC;AAED,MAAMC,cAAc,GAAGjC,MAAM,CAACb,IAAwC;AACtE;AACA;AACA;AACA,kBAAkB,CAAC;EAAC+C;AAAK,CAAC,KAAKA,KAAK,GAAG,MAAM,GAAE,CAAC;AAChD,iBAAiB,CAAC;EAACA;AAAK,CAAC,KAAKA,KAAK,GAAG,KAAK,GAAE,CAAC;AAC9C,WAAW,CAAC;EAAEP;AAAM,CAAC,KAAKA,KAAK,IAAI,MAAM;AACzC,CAAC;AAED,MAAMQ,sBAAsB,GAAGnC,MAAM,CAACb,IAIpC;AACF;AACA;AACA,WAAW,CAAC;EAAE+B,MAAM;EAAES,KAAK;EAAEC;AAAU,CAAC,KACpCV,MAAM,GAAGU,SAAS,IAAI,MAAM,GAAGD,KAAK,IAAI,MAAM;AAClD;AACA;AACA,CAAC;AAED,MAAMS,kBAAkB,GAAGpC,MAAM,CAAClB,IAAsB;AACxD;AACA;AACA;AACA;AACA;AACA,mBAAmB,CAAC;EAACoD;AAAK,CAAC,KAAKA,KAAK,GAAG,MAAM,GAAE,CAAC;AACjD,CAAC;AAED,MAAMG,OAA+B,GAAGA,CAAC;EAAEC,OAAO;EAAEpB,MAAM;EAAEqB;AAAQ,CAAC,KAAK;EACxE,MAAMC,QAAQ,GAAGpD,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEqD;EAAO,CAAC,GAAGlC,aAAa,CAAC,CAAC;EAClC,MAAM;IAAEmC,MAAM;IAAEC,UAAU;IAAEC;EAAI,CAAC,GAAGzC,mBAAmB,CAAC,CAAC;EACzD,MAAM;IAAE0C,KAAK;IAAEC;EAAY,CAAC,GAAGzC,mBAAmB,CAAC,CAAC;EACpD,MAAM;IAAE0C;EAAa,CAAC,GAAGvC,cAAc,CAAC,CAAC;EAEzC,MAAM,CAACwC,SAAS,EAAEC,YAAY,CAAC,GAAGpE,QAAQ,CAAC,KAAK,CAAC;EAEjD,IAAIqE,OAAO,IAAIZ,OAAO,CAACa,EAAE,IAAI,CAAEC,UAAU,CAASC,WAAW,GAAGf,OAAO,CAACa,EAAE,CAAC,EAAE;IAC3E,CAAEC,UAAU,CAASC,WAAW,KAAK,CAAC,CAAC,EAAEf,OAAO,CAACa,EAAE,CAAC,GAAG,IAAI;EAC7D;EAEA,MAAM,CAACG,mBAAmB,EAAEC,sBAAsB,CAAC,GAAG1E,QAAQ,CAKpD,IAAI,CAAC;EAEf,MAAM2E,QAAQ,GAAG5E,MAAM,CAAwB,IAAI,CAAC;EACpD,MAAM6E,UAAU,GAAG7E,MAAM,CAAO,IAAI,CAAC;EACrC,MAAM8E,SAAS,GAAG9E,MAAM,CAAO,IAAI,CAAC;EAEpC,MAAM+E,qBAAqB,GAAIf,IAAW,IAAW;IACnDJ,QAAQ,CAAC9C,cAAc,CAACG,WAAW,CAAC+D,OAAO,CAAC,CAAC;IAC7CpB,QAAQ,CAAC5C,eAAe,CAACgD,IAAI,CAAC,CAAC;EACjC,CAAC;EAED,MAAMiB,kBAAkB,GAAGA,CAAA,KAAM;IAC/BrB,QAAQ,CAACzC,aAAa,CAAC;MAAE+D,MAAM,EAAE;IAAM,CAAC,CAAC,CAAC;IAE1C,IAAI,CAACvB,OAAO,IAAID,OAAO,CAACyB,WAAW,EAAE;MACnC,MAAMC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAAC5B,OAAO,CAACyB,WAAW,CAAC;MACnDvB,QAAQ,CACN1C,gBAAgB,CAAC;QAAEqD,EAAE,EAAEa,WAAW,CAACb,EAAE;QAAEgB,OAAO,EAAEH,WAAW,CAACI;MAAQ,CAAC,CACvE,CAAC;MAED,OAAOnB,YAAY,CAAC,KAAK,CAAC;IAC5B;IAEAT,QAAQ,CAAC1C,gBAAgB,CAAC;MAAEqD,EAAE,EAAEb,OAAO,CAACa,EAAE;MAAEgB,OAAO,EAAE7B,OAAO,CAAC8B;IAAQ,CAAC,CAAC,CAAC;IAExE,OAAOnB,YAAY,CAAC,KAAK,CAAC;EAC5B,CAAC;EAED,MAAMoB,mBAAmB,GAAGA,CAAA,KAAM;IAChC7B,QAAQ,CACN7C,cAAc,CAAC;MACb2E,aAAa,EAAE,IAAI;MACnBF,OAAO,EAAE9B,OAAO,CAAC8B,OAAO;MACxBG,SAAS,EAAEjC,OAAO,CAACa;IACrB,CAAC,CACH,CAAC;IACDF,YAAY,CAAC,KAAK,CAAC;EACrB,CAAC;EAED,MAAMuB,iBAAiB,GAAGA,CAAA,KAAM;IAC9BhC,QAAQ,CACNzC,aAAa,CAAC;MACZ+D,MAAM,EAAE,IAAI;MACZM,OAAO,EAAE9B,OAAO,CAAC8B,OAAO;MACxBG,SAAS,EAAEjC,OAAO,CAACa,EAAE;MACrBsB,IAAI,EAAEnC,OAAO,CAACoC;IAChB,CAAC,CACH,CAAC;IAED,OAAOzB,YAAY,CAAC,KAAK,CAAC;EAC5B,CAAC;;EAED;EACA;EACA;EACA;;EAEA,MAAM0B,qBAAqB,GAAIC,KAAa,IAAK;IAC/C,IAAI,CAACtC,OAAO,CAACuC,QAAQ,EAAE;MACrB,OAAOpC,MAAM,EAAEqC,yBAAyB,CACtCxC,OAAO,CAACa,EAAE,EACVb,OAAO,CAAC8B,OAAO,EACf,CAACQ,KAAK,CAAC,EACP,GAAGhC,IAAI,CAACmC,SAAS,IAAInC,IAAI,CAACoC,QAAQ,EACpC,CAAC;IACH;IACA,IACE1C,OAAO,CAACuC,QAAQ,IAChBvC,OAAO,CAACuC,QAAQ,CAACjC,IAAI,CAACqC,YAAY,IAAI,EAAE,CAAC,IACzC3C,OAAO,CAACuC,QAAQ,CAACjC,IAAI,CAACqC,YAAY,IAAI,EAAE,CAAC,EAAEL,KAAK,CAACM,QAAQ,CAACN,KAAK,CAAC,EAChE;MACA,MAAMO,WAAW,GAAG7C,OAAO,CAACuC,QAAQ,CAACjC,IAAI,CAACqC,YAAY,IAAI,EAAE,CAAC,EAAEL,KAAK,CAACQ,MAAM,CACxEP,QAAa,IAAKA,QAAQ,KAAKD,KAClC,CAAC;MAED,OAAOnC,MAAM,EAAEqC,yBAAyB,CACtCxC,OAAO,CAACa,EAAE,EACVb,OAAO,CAAC8B,OAAO,EACfe,WAAW,EACX,GAAGvC,IAAI,CAACmC,SAAS,IAAInC,IAAI,CAACoC,QAAQ,EACpC,CAAC;IACH;IAEAvC,MAAM,EAAEqC,yBAAyB,CAC/BxC,OAAO,CAACa,EAAE,EACVb,OAAO,CAAC8B,OAAO,EACf,CAAC,IAAI9B,OAAO,CAACuC,QAAQ,CAACjC,IAAI,CAACqC,YAAY,IAAI,EAAE,CAAC,EAAEL,KAAK,IAAI,EAAE,CAAC,EAAEA,KAAK,CAAC,EACpE,GAAGhC,IAAI,CAACmC,SAAS,IAAInC,IAAI,CAACoC,QAAQ,EACpC,CAAC;EACH,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA,MAAMK,eAAe,GAAGA,CAAA,KAAM;IAC5B,MAAMC,MAAM,GAAG5B,SAAS,CAAC6B,OAAO,IAAI9B,UAAU,CAAC8B,OAAO;IACtD,IAAID,MAAM,EAAE;MACV,MAAME,UAAU,GAAGvG,cAAc,CAACqG,MAAM,CAAC;MACzC,IAAIE,UAAU,EAAE;QACdtG,SAAS,CAACuG,OAAO,CAACD,UAAU,EAAE,CAACE,EAAE,EAAEC,EAAE,EAAEC,KAAK,EAAEC,MAAM,EAAEC,KAAK,EAAEC,KAAK,KAAK;UACrExC,sBAAsB,CAAC;YACrByC,IAAI,EAAEF,KAAK;YACXG,KAAK,EAAEH,KAAK,GAAGF,KAAK;YACpBM,GAAG,EAAEH,KAAK;YACVI,MAAM,EAAEJ,KAAK,GAAGF;UAClB,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ;IACF;IACA5C,YAAY,CAAC,IAAI,CAAC;EACpB,CAAC;EAED,MAAMmD,WAAW,GAAG1D,MAAM,EAAE2D,iBAAiB,EAAEC,OAAO,GAClDlG,gBAAgB,CAACsC,MAAM,EAAE2D,iBAAiB,CAACE,cAAc,CAACjE,OAAO,CAACoC,IAAI,CAAC,CAAC,GACxEtE,gBAAgB,CAACkC,OAAO,CAACoC,IAAI,CAAC;EAElC,MAAM8B,QAAQ,GAAG1D,WAAW,CAAC2D,GAAG,CAACnE,OAAO,CAACa,EAAE,CAAC;EAC5C,MAAMuD,SAAS,GACb,CAACF,QAAQ,KAAK3D,KAAK,CAAC4D,GAAG,CAACnE,OAAO,CAACa,EAAE,CAAC,IAAIb,OAAO,EAAEqE,OAAO,IAAI,KAAK,CAAC;EAEnE,MAAMC,YAAY,GAAGA,CAAA,KAAM;IACzB,IAAIJ,QAAQ,EAAE;MAACzD,YAAY,CAACT,OAAO,CAACa,EAAE,CAAC;IAAC;EAC1C,CAAC;EAED,oBACEnC,KAAA,CAAClC,IAAI;IAAA+H,QAAA,GACF7D,SAAS,iBAAIpC,IAAA,CAAC9B,IAAI;MAACgI,KAAK,EAAEC,MAAM,CAACC;IAAQ,CAAE,CAAC,eAC7ChG,KAAA,CAAClC,IAAI;MACHmI,GAAG,EAAExD,UAAW;MAChBqD,KAAK,EAAE,CACLC,MAAM,CAACG,sBAAsB,EAC7B;QACEC,cAAc,EAAEjG,MAAM,GAAG,UAAU,GAAG,YAAY;QAClDkG,YAAY,EAAE,CAAC,CAAC9E,OAAO,EAAElB,KAAK,EAAEiG,MAAM,IAAI/E,OAAO,EAAEuC,QAAQ,IAAI,CAAC,CAACyC,MAAM,CAACC,IAAI,CAACjF,OAAO,EAAEuC,QAAQ,CAAC,EAAEwC,MAAM,GACpG,EAAE,GAAG;MACV,CAAC,EACDrE,SAAS,GACL;QAAEwE,SAAS,EAAE,CAAC;UAAEC,KAAK,EAAE;QAAK,CAAC,CAAC;QAAEC,YAAY,EAAE;MAAG,CAAC,GAClDC;MACJ;MACA;MAAA,CACA;MAAAd,QAAA,GAED,CAAC3F,MAAM,iBACNN,IAAA,CAACmB,2BAA2B;QAC1B6F,OAAO,EAAEA,CAAA,KAAMjE,qBAAqB,CAACrB,OAAO,CAACM,IAAI,CAAE;QAAAiE,QAAA,EAElDvE,OAAO,CAACM,IAAI,EAAEiF,YAAY,gBACzBjH,IAAA,CAACiB,kBAAkB;UAACiG,MAAM,EAAE;YAAEC,GAAG,EAAEzF,OAAO,CAACM,IAAI,CAACiF;UAAa;QAAE,CAAE,CAAC,gBAElEjH,IAAA,CAACvB,MAAM;UAAC2I,QAAQ,EAAE1F,OAAO,CAACM,IAAI,CAACqF;QAAK,CAAE;MACvC,CAC0B,CAC9B,eACDrH,IAAA,CAAC7B;MACC;MACA;MACA;MACA;MACA;MAAA;QACA+H,KAAK,EAAE;UACLoB,IAAI,EAAE,CAAC;UACPC,UAAU,EAAEjH,MAAM,GAAG,UAAU,GAAG;QACpC;QACA;QACA;QAAA;QACAkH,WAAW,EACT1F,MAAM,EAAE2F,mBAAmB,GAAGV,SAAS,GAAGtC,eAC3C;QACDiD,cAAc,EAAE,GAAI;QAAAzB,QAAA,eAEpB7F,KAAA,CAACK,mBAAmB;UACX4F,GAAG,EAAEvD,SAAS;UAAE6E,WAAW,EAAE,KAAK;UACzCrH,MAAM,EAAEA,MAAO;UACfK,OAAO,EAAEe,OAAO,CAACkG,SAAU;UAC3BlH,OAAO,EAAEgB,OAAO,EAAEmG,WAAW,KAAK,MAAM,IAAI,CAACnG,OAAO,EAAEkG,SAAU;UAChEhH,qBAAqB,EAAEkB,MAAM,EAAEgG,YAAY,EAAElH,qBAAsB;UACnEC,iBAAiB,EAAEiB,MAAM,EAAEgG,YAAY,EAAEjH,iBAAkB;UAAAoF,QAAA,GAE1D,CAAC3F,MAAM,iBACNN,IAAA,CAACqB,cAAc;YAACN,KAAK,EAAEe,MAAM,EAAEiG,MAAM,EAAEC,OAAQ;YAAC1G,KAAK,EAAEI,OAAO,EAAEmG,WAAW,KAAK,MAAO;YAAA5B,QAAA,EACpFvE,OAAO,CAACM,IAAI,CAACqF;UAAI,CACJ,CACjB,EACA,CAAC1F,OAAO,IAAID,OAAO,CAACyB,WAAW,iBAC9BnD,IAAA,CAACpB,YAAY;YACXqE,kBAAkB,EAAEA,kBAAmB;YACvC3C,MAAM,EAAEA,MAAO;YACfuD,IAAI,EAAER,IAAI,CAACC,KAAK,CAAC5B,OAAO,CAACyB,WAAW,CAAC,CAACU,IAAK;YAC3C9C,KAAK,EAAEe,MAAM,EAAEiG,MAAM,EAAEC;UAAQ,CAChC,CACF,EAEAtG,OAAO,EAAEmG,WAAW,KAAK,MAAM,IAAI,CAACnG,OAAO,EAAEkG,SAAS,gBACrD5H,IAAA,CAACX,YAAY;YACX4I,QAAQ,EAAEvG,OAAO,CAACwG,QAAS;YAC3B1C,WAAW,EAAE9D,OAAO,CAACyG,eAAgB;YACrCC,QAAQ,EAAE1G,OAAO,EAAE0G,QAAS;YAC5B1G,OAAO,EAAEA,OAAQ;YACjBpB,MAAM,EAAEA;UAAO,CAChB,CAAC,gBAEFN,IAAA,CAAAE,SAAA;YAAA+F,QAAA,EACGvE,OAAO,CAACkG,SAAS,IAAIlG,OAAO,CAACa,EAAE,KAAK,eAAe,gBAClDvC,IAAA,CAACnB,cAAc,IAAE,CAAC,gBAElBmB,IAAA,CAACc,iBAAiB;cAChBR,MAAM,EAAEA,MAAO;cACfU,SAAS,EAAEc,MAAM,EAAEgG,YAAY,EAAE9G,SAAU;cAC3CD,KAAK,EAAEe,MAAM,EAAEgG,YAAY,EAAE/G,KAAM;cAAAkF,QAAA,eAEnCjG,IAAA,CAACzB,IAAI;gBAAA0H,QAAA,EAAET;cAAW,CAAO;YAAC,CACT;UACpB,CACD,CACH,EACA1D,MAAM,EAAEuG,gBAAgB,iBACvBrI,IAAA,CAACV,mBAAmB;YAClBoC,OAAO,EAAEA,OAAQ;YACjBI,MAAM,EAAEA,MAAO;YACfC,UAAU,EAAEA;UAAW,CACxB,CACF,eAED3B,KAAA,CAACoB,kBAAkB;YAACF,KAAK,EAAEI,OAAO,EAAEmG,WAAW,KAAK,MAAO;YAAA5B,QAAA,GACxD,CAACnE,MAAM,EAAEwG,gBAAgB,IAAIhI,MAAM,IAAIwF,SAAS,iBAC/C9F,IAAA,CAACzB,IAAI;cAAC2H,KAAK,EAAEC,MAAM,CAACoC,aAAc;cAAAtC,QAAA,EAAC;YAAU,CAAM,CACpD,EACA,CAACnE,MAAM,EAAEwG,gBAAgB,IAAIhI,MAAM,IAAIsF,QAAQ,iBAC9C5F,IAAA,CAACzB,IAAI;cACHyI,OAAO,EAAEhB,YAAa;cACtBE,KAAK,EAAEC,MAAM,CAACqC,UAAW;cACzBC,iBAAiB,EAAC,QAAQ;cAC1BC,kBAAkB,EAAC,uBAAuB;cAAAzC,QAAA,EAC3C;YAED,CAAM,CACP,eACDjG,IAAA,CAACzB,IAAI;cAAC2H,KAAK,EAAEC,MAAM,CAACoC,aAAc;cAAAtC,QAAA,EAC/B,IAAI0C,IAAI,CAACjH,OAAO,CAACkH,IAAI,CAAC,CAACC,kBAAkB,CAAC,EAAE,EAAE;gBAC7CC,IAAI,EAAE,SAAS;gBACfC,MAAM,EAAE;cACV,CAAC;YAAC,CACE,CAAC,EACN,CAACjH,MAAM,EAAEwG,gBAAgB,IAAIhI,MAAM,IAAI,CAACwF,SAAS,IAAI,CAACF,QAAQ,iBAC7D5F,IAAA,CAACN,UAAU,IAAE,CACd;UAAA,CACiB,CAAC,EAEtBgC,OAAO,EAAElB,KAAK,EAAEiG,MAAM,IAAI/E,OAAO,EAAElB,KAAK,EAAEiG,MAAM,GAAG,CAAC,gBACjDzG,IAAA,CAACrB,oBAAoB;YACnB2B,MAAM,EAAEA,MAAO;YACf0I,OAAO,EAAE/F,kBAAmB;YAC5BzC,KAAK,EAAEkB,OAAO,EAAElB;UAAM,CACvB,CAAC,gBAEFR,IAAA,CAAC9B,IAAI,IAAE,CACR,eAEH8B,IAAA,CAACF,aAAa;YAACQ,MAAM,EAAEA,MAAO;YAAA2F,QAAA,EAE3BvE,OAAO,CAACuC,QAAQ,IAAI,CAACnC,MAAM,EAAEmH,gBAAgB,iBAC5CjJ,IAAA,CAACH,eAAe;cACdoE,QAAQ,EAAEvC,OAAO,CAACuC,QAAS;cAC3BiF,cAAc,EAAEnF,qBAAsB;cACtChD,KAAK,EAAEe,MAAM,EAAEiG,MAAM,EAAEC,OAAO,IAAI,SAAU;cAC5CmB,QAAQ,EAAE,GAAGnH,IAAI,CAACmC,SAAS,IAAInC,IAAI,CAACoC,QAAQ;YAAG,CAChD;UACF,CACY,CAAC;QAAA,CACK;MAAC,CACb,CAAC;IAAA,CACR,CAAC,EACN,CAACtC,MAAM,EAAE2F,mBAAmB,IAAIrF,SAAS,iBACxCpC,IAAA,CAACtB,mBAAmB;MAClB0K,QAAQ,EAAE1G,mBAAoB;MAC9Bf,OAAO,EAAEA,OAAQ;MACjBrB,MAAM,EAAEA,MAAO;MACfoB,OAAO,EAAEA,OAAQ;MACjB2H,SAAS,EAAEA,CAAA,KAAMhH,YAAY,CAAC,KAAK,CAAE;MACrCY,kBAAkB,EAAEA,kBAAmB;MACvCQ,mBAAmB,EAAEA,mBAAoB;MACzCG,iBAAiB,EAAEA,iBAAkB;MACrCG,qBAAqB,EAAEA;IAAsB,CAC9C,CACF;EAAA,CACG,CAAC;AAEX,CAAC;AAED,SAAStC,OAAO;AAEhB,MAAM0E,MAAM,GAAG/H,UAAU,CAACkL,MAAM,CAAC;EAC/BhD,sBAAsB,EAAE;IACtBiD,aAAa,EAAE,KAAK;IACpBC,OAAO,EAAE,EAAE;IACXjC,UAAU,EAAE,UAAU;IACtB6B,QAAQ,EAAE;EACZ,CAAC;EACDhD,OAAO,EAAE;IACP,GAAGhI,UAAU,CAACqL,kBAAkB;IAChCL,QAAQ,EAAE,UAAU;IACpB9D,GAAG,EAAE,CAAC;IACNF,IAAI,EAAE,CAAC;IACPJ,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;IACR;EACF,CAAC;EACDyE,SAAS,EAAE;IACTC,QAAQ,EAAE,EAAE;IACZ5I,KAAK,EAAE,MAAM;IACb6I,SAAS,EAAE,CAAC;IACZC,SAAS,EAAE;EACb,CAAC;EACDrB,UAAU,EAAE;IACVzH,KAAK,EAAE,SAAS;IAChB+I,UAAU,EAAE,KAAK;IACjBC,WAAW,EAAE;EACf,CAAC;EACD;EACA;EACA;EACA;EACA;EACAC,YAAY,EAAE;IACZT,aAAa,EAAE,KAAK;IACpBhC,UAAU,EAAE,QAAQ;IACpBsC,SAAS,EAAE,UAAU;IACrBD,SAAS,EAAE,CAAC;IACZK,GAAG,EAAE;EACP,CAAC;EACD1B,aAAa,EAAE;IACboB,QAAQ,EAAE,EAAE;IACZO,UAAU,EAAE,EAAE;IACdnJ,KAAK,EAAE,MAAM;IACboJ,kBAAkB,EAAE,KAAK;IACzBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useMemo } from 'react';
|
|
3
|
+
import React, { useMemo, useState } from 'react';
|
|
4
4
|
import { Delimeter, MenuItem } from '../ContextMenu/ContextMenuComponents';
|
|
5
5
|
import { useSelector } from 'react-redux';
|
|
6
6
|
import { MESSAGE_INTERACTIONS, MESSAGE_INTERACTIONS_ICONS } from '../../helpers/constants/MESSAGE_INTERACTIONS';
|
|
7
|
-
import { Modal, Text, StyleSheet, View, Pressable } from 'react-native';
|
|
7
|
+
import { Modal, Text, StyleSheet, View, Pressable, Dimensions } from 'react-native';
|
|
8
8
|
import * as Clipboard from 'expo-clipboard';
|
|
9
9
|
import { useToast } from '../../context/ToastContext';
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -22,6 +22,22 @@ const MessageInteractions = ({
|
|
|
22
22
|
showToast
|
|
23
23
|
} = useToast();
|
|
24
24
|
const config = useSelector(state => state.chatSettingStore.config);
|
|
25
|
+
const [menuSize, setMenuSize] = useState({
|
|
26
|
+
width: 0,
|
|
27
|
+
height: 0
|
|
28
|
+
});
|
|
29
|
+
const handleMenuLayout = e => {
|
|
30
|
+
const {
|
|
31
|
+
width,
|
|
32
|
+
height
|
|
33
|
+
} = e.nativeEvent.layout;
|
|
34
|
+
if (width && height && (width !== menuSize.width || height !== menuSize.height)) {
|
|
35
|
+
setMenuSize({
|
|
36
|
+
width,
|
|
37
|
+
height
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
25
41
|
const handleCopyMessage = async text => {
|
|
26
42
|
try {
|
|
27
43
|
await Clipboard.setStringAsync(text);
|
|
@@ -46,19 +62,43 @@ const MessageInteractions = ({
|
|
|
46
62
|
replyMessage();
|
|
47
63
|
};
|
|
48
64
|
const memoPosition = useMemo(() => {
|
|
49
|
-
if (position) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
right: 10
|
|
54
|
-
};
|
|
55
|
-
}
|
|
65
|
+
if (!position) {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
if (!menuSize.width || !menuSize.height) {
|
|
56
69
|
return {
|
|
57
|
-
top: position.
|
|
58
|
-
left:
|
|
70
|
+
top: position.bottom,
|
|
71
|
+
left: position.left,
|
|
72
|
+
opacity: 0
|
|
59
73
|
};
|
|
60
74
|
}
|
|
61
|
-
|
|
75
|
+
const {
|
|
76
|
+
width: screenWidth,
|
|
77
|
+
height: screenHeight
|
|
78
|
+
} = Dimensions.get('window');
|
|
79
|
+
const bottomReserve = (config?.keyboardVerticalOffset ?? 0) + 24;
|
|
80
|
+
const topReserve = 16;
|
|
81
|
+
const sideMargin = 8;
|
|
82
|
+
const spaceBelow = screenHeight - position.bottom - bottomReserve;
|
|
83
|
+
const spaceAbove = position.top - topReserve;
|
|
84
|
+
let top;
|
|
85
|
+
if (spaceBelow >= menuSize.height) {
|
|
86
|
+
top = position.bottom;
|
|
87
|
+
} else if (spaceAbove >= menuSize.height) {
|
|
88
|
+
top = position.top - menuSize.height;
|
|
89
|
+
} else {
|
|
90
|
+
top = Math.max(topReserve, screenHeight - menuSize.height - bottomReserve);
|
|
91
|
+
}
|
|
92
|
+
const leftMargin = position.left;
|
|
93
|
+
const rightMargin = screenWidth - position.right;
|
|
94
|
+
const rightAligned = rightMargin < leftMargin;
|
|
95
|
+
let left = rightAligned ? position.right - menuSize.width : position.left;
|
|
96
|
+
left = Math.max(sideMargin, Math.min(left, screenWidth - menuSize.width - sideMargin));
|
|
97
|
+
return {
|
|
98
|
+
top,
|
|
99
|
+
left
|
|
100
|
+
};
|
|
101
|
+
}, [position, menuSize, config?.keyboardVerticalOffset]);
|
|
62
102
|
if (config?.disableInteractions) {
|
|
63
103
|
return null;
|
|
64
104
|
}
|
|
@@ -74,20 +114,26 @@ const MessageInteractions = ({
|
|
|
74
114
|
onPress: closeMenu
|
|
75
115
|
}), /*#__PURE__*/_jsxs(View, {
|
|
76
116
|
style: [styles.contextMenu, memoPosition],
|
|
117
|
+
onLayout: handleMenuLayout,
|
|
77
118
|
children: [/*#__PURE__*/_jsxs(MenuItem, {
|
|
78
119
|
onPress: () => handleCopyMessage(message.body),
|
|
79
120
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
121
|
+
style: styles.menuText,
|
|
80
122
|
children: MESSAGE_INTERACTIONS.COPY
|
|
81
123
|
}), /*#__PURE__*/_jsx(MESSAGE_INTERACTIONS_ICONS.COPY, {})]
|
|
82
124
|
}), isUser && /*#__PURE__*/_jsxs(_Fragment, {
|
|
83
|
-
children: [
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
children:
|
|
87
|
-
|
|
125
|
+
children: [message?.isMediafile !== 'true' && /*#__PURE__*/_jsxs(_Fragment, {
|
|
126
|
+
children: [/*#__PURE__*/_jsx(Delimeter, {}), /*#__PURE__*/_jsxs(MenuItem, {
|
|
127
|
+
onPress: handleEditMessage,
|
|
128
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
129
|
+
style: styles.menuText,
|
|
130
|
+
children: MESSAGE_INTERACTIONS.EDIT
|
|
131
|
+
}), /*#__PURE__*/_jsx(MESSAGE_INTERACTIONS_ICONS.EDIT, {})]
|
|
132
|
+
})]
|
|
88
133
|
}), /*#__PURE__*/_jsx(Delimeter, {}), /*#__PURE__*/_jsxs(MenuItem, {
|
|
89
134
|
onPress: handleDeleteMessage,
|
|
90
135
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
136
|
+
style: styles.menuText,
|
|
91
137
|
children: MESSAGE_INTERACTIONS.DELETE
|
|
92
138
|
}), /*#__PURE__*/_jsx(MESSAGE_INTERACTIONS_ICONS.DELETE, {})]
|
|
93
139
|
})]
|
|
@@ -105,18 +151,32 @@ const styles = StyleSheet.create({
|
|
|
105
151
|
contextMenu: {
|
|
106
152
|
position: 'absolute',
|
|
107
153
|
backgroundColor: 'white',
|
|
108
|
-
paddingVertical:
|
|
109
|
-
paddingHorizontal:
|
|
110
|
-
borderRadius:
|
|
154
|
+
paddingVertical: 4,
|
|
155
|
+
paddingHorizontal: 8,
|
|
156
|
+
borderRadius: 12,
|
|
111
157
|
shadowColor: '#000',
|
|
112
158
|
shadowOffset: {
|
|
113
159
|
width: 0,
|
|
114
160
|
height: 2
|
|
115
161
|
},
|
|
116
|
-
shadowOpacity: 0.
|
|
117
|
-
shadowRadius:
|
|
118
|
-
elevation:
|
|
119
|
-
minWidth: 180
|
|
162
|
+
shadowOpacity: 0.18,
|
|
163
|
+
shadowRadius: 8,
|
|
164
|
+
elevation: 6,
|
|
165
|
+
minWidth: 180,
|
|
166
|
+
// Clip the children to the rounded corners (the hairline dividers
|
|
167
|
+
// run full width; without this they'd poke past the rounding on
|
|
168
|
+
// Android).
|
|
169
|
+
overflow: 'hidden'
|
|
170
|
+
},
|
|
171
|
+
// Explicit label styling so rows are the same height on both platforms
|
|
172
|
+
// — Android's default includeFontPadding made the menu rows taller and
|
|
173
|
+
// misaligned vs iOS. marginRight keeps the label off the trailing icon.
|
|
174
|
+
menuText: {
|
|
175
|
+
fontSize: 16,
|
|
176
|
+
color: '#141414',
|
|
177
|
+
includeFontPadding: false,
|
|
178
|
+
textAlignVertical: 'center',
|
|
179
|
+
marginRight: 16
|
|
120
180
|
}
|
|
121
181
|
});
|
|
122
182
|
//# sourceMappingURL=MessageInteractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","Delimeter","MenuItem","useSelector","MESSAGE_INTERACTIONS","MESSAGE_INTERACTIONS_ICONS","Modal","Text","StyleSheet","View","Pressable","Clipboard","useToast","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MessageInteractions","isReply","isUser","message","closeMenu","position","handleReplyMessage","replyMessage","handleDeleteMessage","handleEditMessage","showToast","config","state","chatSettingStore","handleCopyMessage","text","setStringAsync","id","Date","now","toString","title","type","err","console","log","memoPosition","top","
|
|
1
|
+
{"version":3,"names":["React","useMemo","useState","Delimeter","MenuItem","useSelector","MESSAGE_INTERACTIONS","MESSAGE_INTERACTIONS_ICONS","Modal","Text","StyleSheet","View","Pressable","Dimensions","Clipboard","useToast","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MessageInteractions","isReply","isUser","message","closeMenu","position","handleReplyMessage","replyMessage","handleDeleteMessage","handleEditMessage","showToast","config","state","chatSettingStore","menuSize","setMenuSize","width","height","handleMenuLayout","e","nativeEvent","layout","handleCopyMessage","text","setStringAsync","id","Date","now","toString","title","type","err","console","log","memoPosition","undefined","top","bottom","left","opacity","screenWidth","screenHeight","get","bottomReserve","keyboardVerticalOffset","topReserve","sideMargin","spaceBelow","spaceAbove","Math","max","leftMargin","rightMargin","right","rightAligned","min","disableInteractions","transparent","animationType","visible","onRequestClose","children","isDeleted","style","styles","overlayFill","absoluteFill","onPress","contextMenu","onLayout","body","menuText","COPY","isMediafile","EDIT","DELETE","create","absoluteFillObject","backgroundColor","paddingVertical","paddingHorizontal","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","minWidth","overflow","fontSize","color","includeFontPadding","textAlignVertical","marginRight"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/MessageInteractions.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
/** @format */
|
|
4
4
|
|
|
5
|
-
import React from 'react';
|
|
5
|
+
import React, { useRef } from 'react';
|
|
6
6
|
import { Modal, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
7
7
|
import { CameraIcon, DocumentIcon, MediaIcon } from '../../../assets/icons';
|
|
8
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -14,9 +14,20 @@ const AttachSheet = ({
|
|
|
14
14
|
onDocument,
|
|
15
15
|
primaryColor = '#0052CD'
|
|
16
16
|
}) => {
|
|
17
|
+
const pendingRef = useRef(null);
|
|
18
|
+
const runPending = () => {
|
|
19
|
+
const fn = pendingRef.current;
|
|
20
|
+
pendingRef.current = null;
|
|
21
|
+
fn?.();
|
|
22
|
+
};
|
|
17
23
|
const trigger = handler => () => {
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
if (Platform.OS === 'ios') {
|
|
25
|
+
pendingRef.current = handler;
|
|
26
|
+
onClose();
|
|
27
|
+
} else {
|
|
28
|
+
onClose();
|
|
29
|
+
setTimeout(handler, 150);
|
|
30
|
+
}
|
|
20
31
|
};
|
|
21
32
|
const rows = [{
|
|
22
33
|
label: 'Take photo',
|
|
@@ -39,6 +50,7 @@ const AttachSheet = ({
|
|
|
39
50
|
visible: visible,
|
|
40
51
|
animationType: "slide",
|
|
41
52
|
onRequestClose: onClose,
|
|
53
|
+
onDismiss: runPending,
|
|
42
54
|
children: /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
43
55
|
style: styles.backdrop,
|
|
44
56
|
activeOpacity: 1,
|