@ethora/chat-component-rn 26.5.7 → 26.5.11
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 +191 -0
- package/README.md +95 -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 +31 -16
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +78 -38
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +74 -27
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +16 -11
- 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 +165 -28
- 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/InteractionsOverlay.js +119 -0
- package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js.map +1 -0
- package/lib/commonjs/components/MessageBubble/Message.js +122 -41
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +132 -44
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +155 -52
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.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 +144 -24
- 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/ModalHeaderComponent.js +10 -0
- package/lib/commonjs/components/Modals/ModalHeaderComponent.js.map +1 -1
- package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +77 -47
- 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 +17 -13
- package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/commonjs/components/styled/MediaFilePreview.js +47 -28
- package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +49 -9
- 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 +49 -27
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledComponents.js +6 -3
- package/lib/commonjs/components/styled/StyledComponents.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 +81 -16
- 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 +244 -32
- 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 +56 -0
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
- package/lib/commonjs/helpers/normalizeRoomJid.js +20 -0
- package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
- package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
- package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
- package/lib/commonjs/hooks/useHeapSender.js +1 -1
- package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
- package/lib/commonjs/hooks/useLogout.js +36 -11
- package/lib/commonjs/hooks/useLogout.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 +201 -10
- 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 +67 -0
- package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +29 -4
- package/lib/commonjs/networking/api-requests/rooms.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 +294 -35
- 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/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 +31 -16
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +80 -40
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +74 -27
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +17 -12
- 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 +166 -29
- 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/InteractionsOverlay.js +112 -0
- package/lib/module/components/MessageBubble/InteractionsOverlay.js.map +1 -0
- package/lib/module/components/MessageBubble/Message.js +123 -42
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +134 -46
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +155 -52
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.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 +148 -26
- 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/ModalHeaderComponent.js +10 -0
- package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
- package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +79 -49
- 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 +17 -13
- package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/module/components/styled/MediaFilePreview.js +47 -28
- package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +51 -11
- 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 +50 -28
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledComponents.js +6 -3
- package/lib/module/components/styled/StyledComponents.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 +82 -17
- 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 +246 -34
- 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 +55 -0
- package/lib/module/helpers/mimeToExtension.js.map +1 -1
- package/lib/module/helpers/normalizeRoomJid.js +15 -0
- package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
- package/lib/module/hooks/useChatRoomFocus.js +82 -0
- package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
- package/lib/module/hooks/useHeapSender.js +1 -1
- package/lib/module/hooks/useHeapSender.js.map +1 -1
- package/lib/module/hooks/useLogout.js +36 -11
- package/lib/module/hooks/useLogout.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 +203 -12
- 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 +67 -1
- package/lib/module/networking/api-requests/auth.api.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +29 -4
- package/lib/module/networking/api-requests/rooms.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 +294 -35
- 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/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/InteractionsOverlay.d.ts +13 -0
- package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts.map +1 -0
- 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/ChatProfileModal/ChatProfileModal.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/ModalHeaderComponent.d.ts.map +1 -1
- 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/StyledComponents.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 +8 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
- package/lib/typescript/helpers/normalizeRoomJid.d.ts +2 -0
- package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
- package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
- package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
- package/lib/typescript/hooks/useLogout.d.ts +23 -1
- package/lib/typescript/hooks/useLogout.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.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/api-requests/rooms.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 +33 -4
- 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/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 +20 -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 +23 -4
- package/src/assets/icons.tsx +23 -14
- package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
- package/src/components/MainComponents/ChatHeader.tsx +46 -15
- package/src/components/MainComponents/ChatRoom.tsx +95 -66
- package/src/components/MainComponents/ChatWrapper.tsx +127 -42
- package/src/components/MainComponents/MediaMessage.tsx +14 -8
- package/src/components/MainComponents/MessageContainer.tsx +4 -2
- package/src/components/MainComponents/MessageList.tsx +175 -28
- package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
- package/src/components/MainComponents/SystemMessage.tsx +38 -26
- package/src/components/MessageBubble/InteractionsOverlay.tsx +121 -0
- package/src/components/MessageBubble/Message.tsx +133 -63
- package/src/components/MessageBubble/MessageInteractions.tsx +146 -58
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +146 -39
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +25 -3
- package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +161 -26
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
- package/src/components/Modals/Modal/Modal.tsx +4 -1
- package/src/components/Modals/ModalHeaderComponent.tsx +8 -1
- package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +70 -58
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
- package/src/components/Modals/styledModalComponents.tsx +17 -13
- package/src/components/styled/MediaFilePreview.tsx +46 -26
- package/src/components/styled/MessageImage.tsx +58 -13
- package/src/components/styled/NewMessageLabel.tsx +8 -5
- package/src/components/styled/SendInput.tsx +64 -29
- package/src/components/styled/StyledComponents.ts +6 -3
- 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 +76 -12
- package/src/context/MessageNotificationContext.tsx +8 -8
- package/src/context/xmppProvider.tsx +247 -30
- 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 +64 -0
- package/src/helpers/normalizeRoomJid.ts +6 -0
- package/src/hooks/useChatRoomFocus.ts +95 -0
- package/src/hooks/useHeapSender.tsx +2 -1
- package/src/hooks/useLogout.tsx +36 -13
- package/src/hooks/usePushNotifications.ts +21 -8
- package/src/hooks/useRoomState.tsx +4 -0
- package/src/hooks/useSendMessage.tsx +258 -13
- package/src/hooks/useUnreadMessagesCounter.ts +13 -16
- package/src/main.ts +1 -0
- package/src/networking/api-requests/auth.api.ts +55 -1
- package/src/networking/api-requests/rooms.api.ts +31 -7
- 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 +317 -43
- package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
- 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 +31 -0
- package/src/utils/installPromiseRejectionTracker.ts +91 -0
- package/src/utils/resendMessage.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","FlatList","Image","TouchableOpacity","Composing","TreadLabel","MessageContainer","useRoomState","Loader","ArowDownIcon","CustomTypingIndicator","jsx","_jsx","jsxs","_jsxs","MessageList","CustomMessage","CustomDaySeparator","CustomNewMessageLabel","user","loadMoreMessages","roomJID","config","loading","isReply","activeMessage","composing","messages","composingList","room","isUserAtBottom","setIsUserAtBottom","showNewMessageIndicator","setShowNewMessageIndicator","isContentOffset","setIsContentOffset","isLoadingMore","setIsLoadingMore","isScrollBlocked","setIsScrollBlocked","hasUserScrolled","setHasUserScrolled","flatListRef","addReplyMessages","map","message","newMessage","reply","filter","mess","mainMessage","JSON","parse","id","isDeleted","memoizedMessages","nonDeletedMessages","item","filtered","roomJid","showInChannel","sorted","slice","sort","a","b","aNum","Date","date","getTime","bNum","deduped","Array","from","Map","m","values","handleLoadMore","length","oldestMessage","Number","error","console","setTimeout","dataMessages","reverse","renderMessage","index","messageDate","toDateString","showDateLabel","nextMessage","nextMessageDate","walletAddress","xmppUsername","scrollToBottom","current","scrollToOffset","offset","animated","handleContentSizeChange","handleScroll","event","contentOffset","nativeEvent","y","handleLayout","handleNewMessageIndicatorPress","BackgroundImage","image","backgroundChat","SvgComponent","width","source","style","styles","container","backgroundColor","color","children","backgroundImageContainer","isUser","colors","ref","data","renderItem","keyExtractor","toString","onEndReached","onScroll","onContentSizeChange","onEndReachedThreshold","scrollEventThrottle","onLayout","inverted","keyboardShouldPersistTaps","keyboardDismissMode","contentContainerStyle","flatListContent","ListFooterComponent","primary","newMessageIndicator","secondary","onPress","customTypingIndicator","enabled","usersTyping","text","position","customComponent","isVisible","disableHeader","create","flex","paddingHorizontal","paddingBottom","messageList","flexGrow","top","left","right","bottom","zIndex","height","padding","borderRadius","newMessageText","fontWeight"],"sourceRoot":"../../../../src","sources":["components/MainComponents/MessageList.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","Text","StyleSheet","FlatList","Image","TouchableOpacity","msgSortableMs","Composing","TreadLabel","MessageContainer","useRoomState","Loader","ArowDownIcon","CustomTypingIndicator","jsx","_jsx","jsxs","_jsxs","MessageList","CustomMessage","CustomDaySeparator","CustomNewMessageLabel","user","loadMoreMessages","roomJID","config","loading","isReply","activeMessage","composing","messages","composingList","room","isUserAtBottom","setIsUserAtBottom","showNewMessageIndicator","setShowNewMessageIndicator","isLoadingMore","setIsLoadingMore","isScrollBlocked","setIsScrollBlocked","unreadWhileScrolledUp","setUnreadWhileScrolledUp","newestSeenTsRef","isUserAtBottomRef","hasUserScrolledRef","flatListRef","addReplyMessages","map","message","newMessage","reply","filter","mess","mainMessage","JSON","parse","id","isDeleted","memoizedMessages","nonDeletedMessages","item","filtered","roomJid","showInChannel","sorted","slice","sort","a","b","aNum","Date","date","getTime","bNum","deduped","Array","from","Map","m","values","handleLoadMore","length","oldestMessage","Number","error","console","setTimeout","dataMessages","base","reverse","boundaryTs","current","lastNewIndex","i","withDivider","splice","name","undefined","token","refreshToken","toISOString","body","renderMessage","index","String","startsWith","walletAddress","xmppUsername","showDateLabel","messageDate","toDateString","nextMessage","candidate","nextMessageDate","scrollToBottom","scrollToOffset","offset","animated","handleContentSizeChange","handleScroll","event","contentOffset","nativeEvent","y","reduce","mx","t","since","count","n","handleLayout","handleNewMessageIndicatorPress","BackgroundImage","image","backgroundChat","SvgComponent","width","source","style","styles","container","backgroundColor","color","children","backgroundImageContainer","isUser","colors","ref","data","renderItem","keyExtractor","toString","onEndReached","onScroll","onContentSizeChange","onEndReachedThreshold","scrollEventThrottle","onLayout","inverted","keyboardShouldPersistTaps","keyboardDismissMode","contentContainerStyle","flatListContent","ListFooterComponent","primary","newMessageIndicator","onPress","height","newMessageBadge","newMessageBadgeText","customTypingIndicator","enabled","usersTyping","text","position","customComponent","isVisible","disableHeader","create","flex","paddingHorizontal","paddingBottom","messageList","flexGrow","top","left","right","bottom","zIndex","borderRadius","justifyContent","alignItems","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","newMessageText","fontWeight","minWidth","borderWidth","borderColor","fontSize"],"sourceRoot":"../../../../src","sources":["components/MainComponents/MessageList.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,13 +3,20 @@
|
|
|
3
3
|
import React, { useMemo } from 'react';
|
|
4
4
|
import { Provider } from 'react-redux';
|
|
5
5
|
import { KeyboardProvider } from 'react-native-keyboard-controller';
|
|
6
|
+
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
6
7
|
import { store } from '../../roomStore';
|
|
7
8
|
import { XmppProvider } from '../../context/xmppProvider';
|
|
8
9
|
import { MessageNotificationProvider } from '../../context/MessageNotificationContext';
|
|
9
10
|
import { ToastProvider } from '../../context/ToastContext';
|
|
10
11
|
import LoginWrapper from './LoginWrapper';
|
|
11
12
|
import '../../helpers/storeConsole';
|
|
13
|
+
import { installPromiseRejectionTracker } from '../../utils/installPromiseRejectionTracker';
|
|
14
|
+
|
|
15
|
+
// Mount-time, dev-only — wire a global unhandled-promise-rejection
|
|
16
|
+
// tracker so any future leak surfaces with a real stack trace in Metro
|
|
17
|
+
// logs (bug #4 follow-up). No-op in production.
|
|
12
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
|
+
installPromiseRejectionTracker();
|
|
13
20
|
export const ReduxWrapper = /*#__PURE__*/React.memo(({
|
|
14
21
|
...props
|
|
15
22
|
}) => {
|
|
@@ -18,15 +25,18 @@ export const ReduxWrapper = /*#__PURE__*/React.memo(({
|
|
|
18
25
|
}, [props.config]);
|
|
19
26
|
return /*#__PURE__*/_jsx(Provider, {
|
|
20
27
|
store: store,
|
|
21
|
-
children: /*#__PURE__*/_jsx(
|
|
22
|
-
children: /*#__PURE__*/_jsx(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
children: /*#__PURE__*/_jsx(
|
|
28
|
+
children: /*#__PURE__*/_jsx(SafeAreaProvider, {
|
|
29
|
+
children: /*#__PURE__*/_jsx(KeyboardProvider, {
|
|
30
|
+
children: /*#__PURE__*/_jsx(XmppProvider, {
|
|
31
|
+
config: memoizedConfig,
|
|
32
|
+
isVisible: props.isVisible,
|
|
33
|
+
children: /*#__PURE__*/_jsx(ToastProvider, {
|
|
34
|
+
children: /*#__PURE__*/_jsx(MessageNotificationProvider, {
|
|
28
35
|
config: memoizedConfig,
|
|
29
|
-
|
|
36
|
+
children: /*#__PURE__*/_jsx(LoginWrapper, {
|
|
37
|
+
config: memoizedConfig,
|
|
38
|
+
...props
|
|
39
|
+
})
|
|
30
40
|
})
|
|
31
41
|
})
|
|
32
42
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","Provider","KeyboardProvider","store","XmppProvider","MessageNotificationProvider","ToastProvider","LoginWrapper","jsx","_jsx","ReduxWrapper","memo","props","memoizedConfig","config","children"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ReduxWrapper.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAGC,OAAO,QAAO,OAAO;AACpC,SAAQC,QAAQ,QAAO,aAAa;AACpC,SAAQC,gBAAgB,QAAO,kCAAkC;AACjE,SAAQC,KAAK,QAAO,iBAAiB;AAErC,SAAQC,YAAY,QAAO,4BAA4B;AACvD,SAAQC,2BAA2B,QAAO,0CAA0C;AACpF,SAAQC,aAAa,QAAO,4BAA4B;AACxD,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAO,4BAA4B;
|
|
1
|
+
{"version":3,"names":["React","useMemo","Provider","KeyboardProvider","SafeAreaProvider","store","XmppProvider","MessageNotificationProvider","ToastProvider","LoginWrapper","installPromiseRejectionTracker","jsx","_jsx","ReduxWrapper","memo","props","memoizedConfig","config","children","isVisible"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ReduxWrapper.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAGC,OAAO,QAAO,OAAO;AACpC,SAAQC,QAAQ,QAAO,aAAa;AACpC,SAAQC,gBAAgB,QAAO,kCAAkC;AACjE,SAAQC,gBAAgB,QAAO,gCAAgC;AAC/D,SAAQC,KAAK,QAAO,iBAAiB;AAErC,SAAQC,YAAY,QAAO,4BAA4B;AACvD,SAAQC,2BAA2B,QAAO,0CAA0C;AACpF,SAAQC,aAAa,QAAO,4BAA4B;AACxD,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAO,4BAA4B;AACnC,SAAQC,8BAA8B,QAAO,4CAA4C;;AAEzF;AACA;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACAF,8BAA8B,CAAC,CAAC;AAahC,OAAO,MAAMG,YAAwC,gBAAGb,KAAK,CAACc,IAAI,CAChE,CAAC;EAAC,GAAGC;AAAK,CAAC,KAAK;EACd,MAAMC,cAAc,GAAGf,OAAO,CAAC,MAAM;IACnC,OAAOc,KAAK,CAACE,MAAM;EACrB,CAAC,EAAE,CAACF,KAAK,CAACE,MAAM,CAAC,CAAC;EAElB,oBACEL,IAAA,CAACV,QAAQ;IAACG,KAAK,EAAEA,KAAM;IAAAa,QAAA,eACrBN,IAAA,CAACR,gBAAgB;MAAAc,QAAA,eACfN,IAAA,CAACT,gBAAgB;QAAAe,QAAA,eACfN,IAAA,CAACN,YAAY;UAACW,MAAM,EAAED,cAAe;UAACG,SAAS,EAAEJ,KAAK,CAACI,SAAU;UAAAD,QAAA,eAC/DN,IAAA,CAACJ,aAAa;YAAAU,QAAA,eACZN,IAAA,CAACL,2BAA2B;cAACU,MAAM,EAAED,cAAe;cAAAE,QAAA,eAClDN,IAAA,CAACH,YAAY;gBAACQ,MAAM,EAAED,cAAe;gBAAA,GAAKD;cAAK,CAAG;YAAC,CACxB;UAAC,CACjB;QAAC,CACJ;MAAC,CACC;IAAC,CACH;EAAC,CACX,CAAC;AAEf,CACF,CAAC","ignoreList":[]}
|
|
@@ -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":[]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { createContext, useCallback, useContext, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { StyleSheet, View } from 'react-native';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* In-tree overlay host for the message context menu (MessageInteractions).
|
|
8
|
+
*
|
|
9
|
+
* Why this exists: MessageInteractions used to render inside a React Native
|
|
10
|
+
* `<Modal>`. On Android a Modal opens its own window, which steals focus
|
|
11
|
+
* from the chat input — so opening the menu dismissed the keyboard. Hosting
|
|
12
|
+
* the menu in the SAME view tree (no extra window) keeps the keyboard up.
|
|
13
|
+
*
|
|
14
|
+
* Coordinate note: the menu is positioned from `UIManager.measure` WINDOW
|
|
15
|
+
* coordinates (pageX/pageY), but this host sits below the status bar / any
|
|
16
|
+
* safe-area + header insets, so its own origin is offset from the window.
|
|
17
|
+
* The host measures that offset (`measureInWindow`) and exposes it so the
|
|
18
|
+
* menu can convert window coords → host-local coords. The host is mounted
|
|
19
|
+
* ABOVE ChatRoom's KeyboardAvoidingView, so its origin doesn't move when the
|
|
20
|
+
* keyboard opens (only the measured bubble's pageY does).
|
|
21
|
+
*/
|
|
22
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
|
+
const Ctx = /*#__PURE__*/createContext({
|
|
24
|
+
present: () => {},
|
|
25
|
+
dismiss: () => {},
|
|
26
|
+
originX: 0,
|
|
27
|
+
originY: 0
|
|
28
|
+
});
|
|
29
|
+
export const useInteractionsOverlay = () => useContext(Ctx);
|
|
30
|
+
export const InteractionsOverlayProvider = ({
|
|
31
|
+
children
|
|
32
|
+
}) => {
|
|
33
|
+
const [entries, setEntries] = useState([]);
|
|
34
|
+
const [origin, setOrigin] = useState({
|
|
35
|
+
x: 0,
|
|
36
|
+
y: 0
|
|
37
|
+
});
|
|
38
|
+
const hostRef = useRef(null);
|
|
39
|
+
const measure = useCallback(() => {
|
|
40
|
+
hostRef.current?.measureInWindow?.((x, y) => {
|
|
41
|
+
if (typeof x !== 'number' || typeof y !== 'number') {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
setOrigin(prev => prev.x === x && prev.y === y ? prev : {
|
|
45
|
+
x,
|
|
46
|
+
y
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}, []);
|
|
50
|
+
const present = useCallback((id, node) => {
|
|
51
|
+
// Re-measure on present: the keyboard / layout may have shifted us
|
|
52
|
+
// since the last onLayout.
|
|
53
|
+
measure();
|
|
54
|
+
setEntries(prev => {
|
|
55
|
+
const next = prev.filter(e => e.id !== id);
|
|
56
|
+
next.push({
|
|
57
|
+
id,
|
|
58
|
+
node
|
|
59
|
+
});
|
|
60
|
+
return next;
|
|
61
|
+
});
|
|
62
|
+
}, [measure]);
|
|
63
|
+
const dismiss = useCallback(id => {
|
|
64
|
+
setEntries(prev => prev.some(e => e.id === id) ? prev.filter(e => e.id !== id) : prev);
|
|
65
|
+
}, []);
|
|
66
|
+
|
|
67
|
+
// MUST be memoized. Otherwise every host re-render (e.g. from present()'s
|
|
68
|
+
// setEntries) creates a new context value → all consumers re-render →
|
|
69
|
+
// MessageInteractions' present-effect fires again → setEntries → … →
|
|
70
|
+
// "Maximum update depth exceeded". present/dismiss are stable (useCallback)
|
|
71
|
+
// and origin rarely changes, so this value is stable across entry changes.
|
|
72
|
+
const ctxValue = useMemo(() => ({
|
|
73
|
+
present,
|
|
74
|
+
dismiss,
|
|
75
|
+
originX: origin.x,
|
|
76
|
+
originY: origin.y
|
|
77
|
+
}), [present, dismiss, origin.x, origin.y]);
|
|
78
|
+
return (
|
|
79
|
+
/*#__PURE__*/
|
|
80
|
+
// `children` is a stable element from the caller, so re-rendering this
|
|
81
|
+
// host (present/dismiss/origin state) does NOT re-render the chat
|
|
82
|
+
// subtree — React reconciliation skips the unchanged children element.
|
|
83
|
+
_jsx(View, {
|
|
84
|
+
ref: hostRef,
|
|
85
|
+
style: styles.host,
|
|
86
|
+
onLayout: measure,
|
|
87
|
+
collapsable: false,
|
|
88
|
+
children: /*#__PURE__*/_jsxs(Ctx.Provider, {
|
|
89
|
+
value: ctxValue,
|
|
90
|
+
children: [children, entries.length > 0 && /*#__PURE__*/_jsx(View, {
|
|
91
|
+
style: styles.overlay,
|
|
92
|
+
pointerEvents: "box-none",
|
|
93
|
+
children: entries.map(e => /*#__PURE__*/_jsx(React.Fragment, {
|
|
94
|
+
children: e.node
|
|
95
|
+
}, e.id))
|
|
96
|
+
})]
|
|
97
|
+
})
|
|
98
|
+
})
|
|
99
|
+
);
|
|
100
|
+
};
|
|
101
|
+
const styles = StyleSheet.create({
|
|
102
|
+
host: {
|
|
103
|
+
flex: 1
|
|
104
|
+
},
|
|
105
|
+
overlay: {
|
|
106
|
+
...StyleSheet.absoluteFillObject,
|
|
107
|
+
zIndex: 9999,
|
|
108
|
+
elevation: 9999
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
export default InteractionsOverlayProvider;
|
|
112
|
+
//# sourceMappingURL=InteractionsOverlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useContext","useMemo","useRef","useState","StyleSheet","View","jsx","_jsx","jsxs","_jsxs","Ctx","present","dismiss","originX","originY","useInteractionsOverlay","InteractionsOverlayProvider","children","entries","setEntries","origin","setOrigin","x","y","hostRef","measure","current","measureInWindow","prev","id","node","next","filter","e","push","some","ctxValue","ref","style","styles","host","onLayout","collapsable","Provider","value","length","overlay","pointerEvents","map","Fragment","create","flex","absoluteFillObject","zIndex","elevation"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/InteractionsOverlay.tsx"],"mappings":"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","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, Keyboard } from 'react-native';
|
|
5
5
|
import { useDispatch } from 'react-redux';
|
|
6
6
|
import { Avatar } from './Avatar';
|
|
7
7
|
import MessageInteractions from './MessageInteractions';
|
|
@@ -35,7 +35,13 @@ const CustomMessageContainer = styled.View`
|
|
|
35
35
|
const CustomMessageBubble = styled.View`
|
|
36
36
|
position: relative;
|
|
37
37
|
max-width: 85%;
|
|
38
|
-
min-width:
|
|
38
|
+
min-width: ${({
|
|
39
|
+
isMedia
|
|
40
|
+
}) => isMedia ? '0' : '30%'};
|
|
41
|
+
align-items: ${({
|
|
42
|
+
isMedia,
|
|
43
|
+
isUser
|
|
44
|
+
}) => isMedia ? isUser ? 'flex-end' : 'flex-start' : 'stretch'};
|
|
39
45
|
padding: ${({
|
|
40
46
|
isMedia
|
|
41
47
|
}) => isMedia ? '0' : '10'}px;
|
|
@@ -82,6 +88,13 @@ const CustomMessagePhotoContainer = styled.TouchableOpacity`
|
|
|
82
88
|
const CustomUserName = styled.Text`
|
|
83
89
|
font-size: 14px;
|
|
84
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};
|
|
85
98
|
color: ${({
|
|
86
99
|
color
|
|
87
100
|
}) => color || '#333'};
|
|
@@ -97,6 +110,16 @@ const CustomMessageTimestamp = styled.Text`
|
|
|
97
110
|
margin-top: 5px;
|
|
98
111
|
align-self: flex-end;
|
|
99
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
|
+
`;
|
|
100
123
|
const Message = ({
|
|
101
124
|
message,
|
|
102
125
|
isUser,
|
|
@@ -125,6 +148,7 @@ const Message = ({
|
|
|
125
148
|
const [contextMenuPosition, setContextMenuPosition] = useState(null);
|
|
126
149
|
const timerRef = useRef(null);
|
|
127
150
|
const messageRef = useRef(null);
|
|
151
|
+
const bubbleRef = useRef(null);
|
|
128
152
|
const handleUserAvatarClick = user => {
|
|
129
153
|
dispatch(setActiveModal(MODAL_TYPES.PROFILE));
|
|
130
154
|
dispatch(setSelectedUser(user));
|
|
@@ -180,40 +204,38 @@ const Message = ({
|
|
|
180
204
|
}
|
|
181
205
|
client?.sendMessageReactionStanza(message.id, message.roomJid, [...(message.reaction[user.xmppUsername || '']?.emoji || []), emoji], `${user.firstName} ${user.lastName}`);
|
|
182
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).
|
|
183
213
|
const handleLongPress = () => {
|
|
184
|
-
|
|
185
|
-
|
|
214
|
+
const target = bubbleRef.current ?? messageRef.current;
|
|
215
|
+
if (target?.measureInWindow) {
|
|
216
|
+
// Use measureInWindow — the SAME API the overlay host uses to find
|
|
217
|
+
// its own window origin. Both are then in identical window
|
|
218
|
+
// coordinates, so MessageInteractions' host-local conversion
|
|
219
|
+
// (subtract origin) is exact. Mixing this with UIManager.measure
|
|
220
|
+
// (pageX/pageY) drifted on Android (status-bar offset) and pushed the
|
|
221
|
+
// "below" menu too far from the message.
|
|
222
|
+
target.measureInWindow((x, y, width, height) => {
|
|
223
|
+
setContextMenuPosition({
|
|
224
|
+
left: x,
|
|
225
|
+
right: x + width,
|
|
226
|
+
top: y,
|
|
227
|
+
bottom: y + height
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
} else if (target) {
|
|
231
|
+
const nodeHandle = findNodeHandle(target);
|
|
186
232
|
if (nodeHandle) {
|
|
187
|
-
UIManager.measure(nodeHandle, (_x, _y,
|
|
188
|
-
const screenHeight = Dimensions.get('window').height;
|
|
189
|
-
// MessageInteractions is ~5 rows (delete/edit/reply/react/copy)
|
|
190
|
-
// at ~48px each + padding, plus emoji bar on top. 280 covers
|
|
191
|
-
// both even with a couple of long labels. The legacy 150
|
|
192
|
-
// figure assumed a much shorter menu and stranded the popup
|
|
193
|
-
// off-screen on the last message of the room.
|
|
194
|
-
const MENU_HEIGHT = 280;
|
|
195
|
-
// Treat the consumer-supplied keyboardVerticalOffset as a
|
|
196
|
-
// proxy for tab bar + bottom safe-area when present; falls
|
|
197
|
-
// back to a reasonable default so the menu doesn't bump into
|
|
198
|
-
// the nav bar on phones without one in config.
|
|
199
|
-
const bottomReserve = (config?.keyboardVerticalOffset ?? 0) + 24;
|
|
200
|
-
const topReserve = 16;
|
|
201
|
-
const spaceBelow = screenHeight - (pageY + height) - bottomReserve;
|
|
202
|
-
const spaceAbove = pageY - topReserve;
|
|
203
|
-
let menuY;
|
|
204
|
-
if (spaceBelow >= MENU_HEIGHT) {
|
|
205
|
-
menuY = pageY + height;
|
|
206
|
-
} else if (spaceAbove >= MENU_HEIGHT) {
|
|
207
|
-
menuY = pageY - MENU_HEIGHT;
|
|
208
|
-
} else {
|
|
209
|
-
// Neither side has room (e.g. very small phone, large
|
|
210
|
-
// menu) — clamp to the visible region so at least the
|
|
211
|
-
// top of the menu is reachable.
|
|
212
|
-
menuY = Math.max(topReserve, screenHeight - MENU_HEIGHT - bottomReserve);
|
|
213
|
-
}
|
|
233
|
+
UIManager.measure(nodeHandle, (_x, _y, width, height, pageX, pageY) => {
|
|
214
234
|
setContextMenuPosition({
|
|
215
|
-
|
|
216
|
-
|
|
235
|
+
left: pageX,
|
|
236
|
+
right: pageX + width,
|
|
237
|
+
top: pageY,
|
|
238
|
+
bottom: pageY + height
|
|
217
239
|
});
|
|
218
240
|
});
|
|
219
241
|
}
|
|
@@ -245,8 +267,17 @@ const Message = ({
|
|
|
245
267
|
// justify-content: ${({ isUser }) => (isUser ? "flex-end" : "flex-start")},
|
|
246
268
|
// margin-bottom: ${(props) => !!props.reply && "20px"},
|
|
247
269
|
],
|
|
248
|
-
children: [!isUser && /*#__PURE__*/_jsx(CustomMessagePhotoContainer
|
|
249
|
-
|
|
270
|
+
children: [!isUser && /*#__PURE__*/_jsx(CustomMessagePhotoContainer
|
|
271
|
+
// `disableProfilesInteractions` gates every entry point to the
|
|
272
|
+
// user-profile popup: this in-bubble avatar AND the chat-title
|
|
273
|
+
// press in ChatHeader. When disabled we still render the avatar
|
|
274
|
+
// visually but make it non-interactive (no press, no a11y
|
|
275
|
+
// affordance) — consumers who want it gone entirely can return
|
|
276
|
+
// null from a custom message component.
|
|
277
|
+
, {
|
|
278
|
+
onPress: config?.disableProfilesInteractions ? undefined : () => handleUserAvatarClick(message.user),
|
|
279
|
+
disabled: !!config?.disableProfilesInteractions,
|
|
280
|
+
accessible: !config?.disableProfilesInteractions,
|
|
250
281
|
children: message.user?.profileImage ? /*#__PURE__*/_jsx(CustomMessagePhoto, {
|
|
251
282
|
source: {
|
|
252
283
|
uri: message.user.profileImage
|
|
@@ -255,12 +286,36 @@ const Message = ({
|
|
|
255
286
|
username: message.user.name
|
|
256
287
|
})
|
|
257
288
|
}), /*#__PURE__*/_jsx(Pressable
|
|
258
|
-
//
|
|
259
|
-
//
|
|
289
|
+
// The Pressable fills the row's content area, so the bubble
|
|
290
|
+
// inside must be aligned to the sender's side — otherwise it
|
|
291
|
+
// hugs the left and own media bubbles sit with a right-side
|
|
292
|
+
// gap (text bubbles only looked right because they're narrow).
|
|
293
|
+
// flex-end for own, flex-start for others.
|
|
260
294
|
, {
|
|
295
|
+
style: {
|
|
296
|
+
flex: 1,
|
|
297
|
+
alignItems: isUser ? 'flex-end' : 'flex-start'
|
|
298
|
+
}
|
|
299
|
+
// A plain tap anywhere on a message bubble dismisses the
|
|
300
|
+
// keyboard. The FlatList's keyboardShouldPersistTaps="handled"
|
|
301
|
+
// already dismisses taps on the empty GAPS between bubbles, but
|
|
302
|
+
// the bubble Pressable itself is a touch responder, so taps that
|
|
303
|
+
// landed on a message were "handled" and the keyboard stayed —
|
|
304
|
+
// which is exactly the "closes only every other time" symptom
|
|
305
|
+
// (hit a gap → close, hit a bubble → stay). Explicitly dismissing
|
|
306
|
+
// here makes it reliable across the whole list. onPress does NOT
|
|
307
|
+
// fire when onLongPress fires, so opening MessageInteractions via
|
|
308
|
+
// long-press never triggers this dismiss.
|
|
309
|
+
,
|
|
310
|
+
onPress: () => Keyboard.dismiss()
|
|
311
|
+
// disableInteractions hides the long-press → context menu
|
|
312
|
+
// (delete / edit / reply / react). Mirrors web's config gate.
|
|
313
|
+
,
|
|
261
314
|
onLongPress: config?.disableInteractions ? undefined : handleLongPress,
|
|
262
315
|
delayLongPress: 500,
|
|
263
316
|
children: /*#__PURE__*/_jsxs(CustomMessageBubble, {
|
|
317
|
+
ref: bubbleRef,
|
|
318
|
+
collapsable: false,
|
|
264
319
|
isUser: isUser,
|
|
265
320
|
deleted: message.isDeleted,
|
|
266
321
|
isMedia: message?.isMediafile === 'true' && !message?.isDeleted,
|
|
@@ -268,6 +323,7 @@ const Message = ({
|
|
|
268
323
|
backgroundMessage: config?.messageColor?.backgroundMessage,
|
|
269
324
|
children: [!isUser && /*#__PURE__*/_jsx(CustomUserName, {
|
|
270
325
|
color: config?.colors?.primary,
|
|
326
|
+
media: message?.isMediafile === 'true',
|
|
271
327
|
children: message.user.name
|
|
272
328
|
}), !isReply && message.mainMessage && /*#__PURE__*/_jsx(MessageReply, {
|
|
273
329
|
handleReplyMessage: handleReplyMessage,
|
|
@@ -278,7 +334,8 @@ const Message = ({
|
|
|
278
334
|
mimeType: message.mimetype,
|
|
279
335
|
messageText: message.locationPreview,
|
|
280
336
|
location: message?.location,
|
|
281
|
-
message: message
|
|
337
|
+
message: message,
|
|
338
|
+
isUser: isUser
|
|
282
339
|
}) : /*#__PURE__*/_jsx(_Fragment, {
|
|
283
340
|
children: message.isDeleted && message.id !== 'delimiter-new' ? /*#__PURE__*/_jsx(DeletedMessage, {}) : /*#__PURE__*/_jsx(CustomMessageText, {
|
|
284
341
|
isUser: isUser,
|
|
@@ -292,8 +349,10 @@ const Message = ({
|
|
|
292
349
|
message: message,
|
|
293
350
|
config: config,
|
|
294
351
|
langSource: langSource
|
|
295
|
-
}), /*#__PURE__*/_jsxs(
|
|
352
|
+
}), /*#__PURE__*/_jsxs(CustomTimestampRow, {
|
|
353
|
+
media: message?.isMediafile === 'true',
|
|
296
354
|
children: [!config?.disableSentLogic && isUser && isPending && /*#__PURE__*/_jsx(Text, {
|
|
355
|
+
style: styles.timestampText,
|
|
297
356
|
children: "sending..."
|
|
298
357
|
}), !config?.disableSentLogic && isUser && isFailed && /*#__PURE__*/_jsx(Text, {
|
|
299
358
|
onPress: onRetryPress,
|
|
@@ -301,9 +360,12 @@ const Message = ({
|
|
|
301
360
|
accessibilityRole: "button",
|
|
302
361
|
accessibilityLabel: "Retry sending message",
|
|
303
362
|
children: "! Failed \u2014 tap to retry"
|
|
304
|
-
}),
|
|
305
|
-
|
|
306
|
-
|
|
363
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
364
|
+
style: styles.timestampText,
|
|
365
|
+
children: new Date(message.date).toLocaleTimeString([], {
|
|
366
|
+
hour: '2-digit',
|
|
367
|
+
minute: '2-digit'
|
|
368
|
+
})
|
|
307
369
|
}), !config?.disableSentLogic && isUser && !isPending && !isFailed && /*#__PURE__*/_jsx(DoubleTick, {})]
|
|
308
370
|
}), message?.reply?.length && message?.reply?.length > 0 ? /*#__PURE__*/_jsx(BottomReplyContainer, {
|
|
309
371
|
isUser: isUser,
|
|
@@ -360,6 +422,25 @@ const styles = StyleSheet.create({
|
|
|
360
422
|
color: '#E53935',
|
|
361
423
|
fontWeight: '600',
|
|
362
424
|
marginRight: 6
|
|
425
|
+
},
|
|
426
|
+
// Row keeps the time text and the DoubleTick SVG on the same line.
|
|
427
|
+
// The time Text gets an explicit lineHeight equal to the 16px tick so
|
|
428
|
+
// both occupy the same-height box; with alignItems center they line up
|
|
429
|
+
// exactly. Without the lineHeight the Text's natural line box was
|
|
430
|
+
// shorter than the icon, so the centred tick floated above the digits.
|
|
431
|
+
timestampRow: {
|
|
432
|
+
flexDirection: 'row',
|
|
433
|
+
alignItems: 'center',
|
|
434
|
+
alignSelf: 'flex-end',
|
|
435
|
+
marginTop: 4,
|
|
436
|
+
gap: 4
|
|
437
|
+
},
|
|
438
|
+
timestampText: {
|
|
439
|
+
fontSize: 12,
|
|
440
|
+
lineHeight: 16,
|
|
441
|
+
color: '#999',
|
|
442
|
+
includeFontPadding: false,
|
|
443
|
+
textAlignVertical: 'center'
|
|
363
444
|
}
|
|
364
445
|
});
|
|
365
446
|
//# sourceMappingURL=Message.js.map
|