@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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_ContextMenuComponents","_reactRedux","_MESSAGE_INTERACTIONS","_reactNative","Clipboard","_ToastContext","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MessageInteractions","isReply","isUser","message","closeMenu","position","handleReplyMessage","replyMessage","handleDeleteMessage","handleEditMessage","showToast","useToast","config","useSelector","state","chatSettingStore","handleCopyMessage","text","setStringAsync","id","Date","now","toString","title","type","err","console","log","memoPosition","useMemo","top","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_ContextMenuComponents","_reactRedux","_MESSAGE_INTERACTIONS","_reactNative","Clipboard","_ToastContext","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MessageInteractions","isReply","isUser","message","closeMenu","position","handleReplyMessage","replyMessage","handleDeleteMessage","handleEditMessage","showToast","useToast","config","useSelector","state","chatSettingStore","menuSize","setMenuSize","useState","width","height","handleMenuLayout","nativeEvent","layout","handleCopyMessage","text","setStringAsync","id","Date","now","toString","title","type","err","console","log","memoPosition","useMemo","undefined","top","bottom","left","opacity","screenWidth","screenHeight","Dimensions","bottomReserve","keyboardVerticalOffset","topReserve","sideMargin","spaceBelow","spaceAbove","Math","max","leftMargin","rightMargin","right","rightAligned","min","disableInteractions","jsx","Modal","transparent","animationType","visible","onRequestClose","children","isDeleted","jsxs","View","style","styles","overlayFill","Pressable","StyleSheet","absoluteFill","onPress","contextMenu","onLayout","MenuItem","body","Text","menuText","MESSAGE_INTERACTIONS","COPY","MESSAGE_INTERACTIONS_ICONS","Fragment","isMediafile","Delimeter","EDIT","DELETE","_default","exports","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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,qBAAA,GAAAH,OAAA;AAKA,IAAAI,YAAA,GAAAJ,OAAA;AASA,IAAAK,SAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AAAsD,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAmBtD,MAAMkB,mBAAuD,GAAGA,CAAC;EAC/DC,OAAO;EACPC,MAAM;EACNC,OAAO;EACPC,SAAS;EACTC,QAAQ;EACRC,kBAAkB,EAAEC,YAAY;EAChCC,mBAAmB;EACnBC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,sBAAQ,EAAC,CAAC;EAEhC,MAAMC,MAAM,GAAG,IAAAC,uBAAW,EACvBC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACH,MAC/C,CAAC;EAED,MAAM,CAACI,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC;IAAEC,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAE,CAAC,CAAC;EAEjE,MAAMC,gBAAgB,GAAIxC,CAAoB,IAAK;IACjD,MAAM;MAAEsC,KAAK;MAAEC;IAAO,CAAC,GAAGvC,CAAC,CAACyC,WAAW,CAACC,MAAM;IAC9C,IACEJ,KAAK,IACLC,MAAM,KACLD,KAAK,KAAKH,QAAQ,CAACG,KAAK,IAAIC,MAAM,KAAKJ,QAAQ,CAACI,MAAM,CAAC,EACxD;MACAH,WAAW,CAAC;QAAEE,KAAK;QAAEC;MAAO,CAAC,CAAC;IAChC;EACF,CAAC;EAED,MAAMI,iBAAiB,GAAG,MAAOC,IAAY,IAAK;IAChD,IAAI;MACF,MAAM/C,SAAS,CAACgD,cAAc,CAACD,IAAI,CAAC;MACpCf,SAAS,CAAC;QACRiB,EAAE,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;QACzBC,KAAK,EAAE,SAAS;QAChB5B,OAAO,EAAE,sBAAsB;QAC/B6B,IAAI,EAAE;MACR,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOC,GAAG,EAAE;MACZC,OAAO,CAACC,GAAG,CAACF,GAAG,CAAC;MAChBvB,SAAS,CAAC;QACRiB,EAAE,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;QACzBC,KAAK,EAAE,aAAa;QACpB5B,OAAO,EAAG8B,GAAG,EAAY9B,OAAO,IAAI,eAAe;QACnD6B,IAAI,EAAE;MACR,CAAC,CAAC;IACJ;IACA5B,SAAS,CAAC,CAAC;EACb,CAAC;EAED,MAAME,kBAAkB,GAAGA,CAAA,KAAM;IAC/BC,YAAY,CAAC,CAAC;EAChB,CAAC;EAED,MAAM6B,YAAY,GAAG,IAAAC,cAAO,EAAC,MAAM;IACjC,IAAI,CAAChC,QAAQ,EAAE;MACb,OAAOiC,SAAS;IAClB;IAEA,IAAI,CAACtB,QAAQ,CAACG,KAAK,IAAI,CAACH,QAAQ,CAACI,MAAM,EAAE;MACvC,OAAO;QAAEmB,GAAG,EAAElC,QAAQ,CAACmC,MAAM;QAAEC,IAAI,EAAEpC,QAAQ,CAACoC,IAAI;QAAEC,OAAO,EAAE;MAAE,CAAC;IAClE;IAEA,MAAM;MAAEvB,KAAK,EAAEwB,WAAW;MAAEvB,MAAM,EAAEwB;IAAa,CAAC,GAChDC,uBAAU,CAACpD,GAAG,CAAC,QAAQ,CAAC;IAC1B,MAAMqD,aAAa,GAAG,CAAClC,MAAM,EAAEmC,sBAAsB,IAAI,CAAC,IAAI,EAAE;IAChE,MAAMC,UAAU,GAAG,EAAE;IACrB,MAAMC,UAAU,GAAG,CAAC;IAEpB,MAAMC,UAAU,GAAGN,YAAY,GAAGvC,QAAQ,CAACmC,MAAM,GAAGM,aAAa;IACjE,MAAMK,UAAU,GAAG9C,QAAQ,CAACkC,GAAG,GAAGS,UAAU;IAE5C,IAAIT,GAAW;IACf,IAAIW,UAAU,IAAIlC,QAAQ,CAACI,MAAM,EAAE;MACjCmB,GAAG,GAAGlC,QAAQ,CAACmC,MAAM;IACvB,CAAC,MAAM,IAAIW,UAAU,IAAInC,QAAQ,CAACI,MAAM,EAAE;MACxCmB,GAAG,GAAGlC,QAAQ,CAACkC,GAAG,GAAGvB,QAAQ,CAACI,MAAM;IACtC,CAAC,MAAM;MACLmB,GAAG,GAAGa,IAAI,CAACC,GAAG,CAACL,UAAU,EAAEJ,YAAY,GAAG5B,QAAQ,CAACI,MAAM,GAAG0B,aAAa,CAAC;IAC5E;IAEA,MAAMQ,UAAU,GAAGjD,QAAQ,CAACoC,IAAI;IAChC,MAAMc,WAAW,GAAGZ,WAAW,GAAGtC,QAAQ,CAACmD,KAAK;IAChD,MAAMC,YAAY,GAAGF,WAAW,GAAGD,UAAU;IAE7C,IAAIb,IAAI,GAAGgB,YAAY,GAAGpD,QAAQ,CAACmD,KAAK,GAAGxC,QAAQ,CAACG,KAAK,GAAGd,QAAQ,CAACoC,IAAI;IACzEA,IAAI,GAAGW,IAAI,CAACC,GAAG,CACbJ,UAAU,EACVG,IAAI,CAACM,GAAG,CAACjB,IAAI,EAAEE,WAAW,GAAG3B,QAAQ,CAACG,KAAK,GAAG8B,UAAU,CAC1D,CAAC;IAED,OAAO;MAAEV,GAAG;MAAEE;IAAK,CAAC;EACtB,CAAC,EAAE,CAACpC,QAAQ,EAAEW,QAAQ,EAAEJ,MAAM,EAAEmC,sBAAsB,CAAC,CAAC;EAExD,IAAInC,MAAM,EAAE+C,mBAAmB,EAAE;IAAC,OAAO,IAAI;EAAC;EAE9C,oBACE,IAAA/E,WAAA,CAAAgF,GAAA,EAACnF,YAAA,CAAAoF,KAAK;IACJC,WAAW;IACXC,aAAa,EAAC,MAAM;IACpBC,OAAO,EAAE,IAAK;IACdC,cAAc,EAAE7D,SAAU;IAAA8D,QAAA,EAEzB,CAAC/D,OAAO,CAACgE,SAAS,iBACjB,IAAAvF,WAAA,CAAAwF,IAAA,EAAC3F,YAAA,CAAA4F,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACC,WAAY;MAAAN,QAAA,gBAC9B,IAAAtF,WAAA,CAAAgF,GAAA,EAACnF,YAAA,CAAAgG,SAAS;QAACH,KAAK,EAAEI,uBAAU,CAACC,YAAa;QAACC,OAAO,EAAExE;MAAU,CAAE,CAAC,eACjE,IAAAxB,WAAA,CAAAwF,IAAA,EAAC3F,YAAA,CAAA4F,IAAI;QACHC,KAAK,EAAE,CAACC,MAAM,CAACM,WAAW,EAAEzC,YAAY,CAAE;QAC1C0C,QAAQ,EAAEzD,gBAAiB;QAAA6C,QAAA,gBAE3B,IAAAtF,WAAA,CAAAwF,IAAA,EAAC9F,sBAAA,CAAAyG,QAAQ;UAACH,OAAO,EAAEA,CAAA,KAAMpD,iBAAiB,CAACrB,OAAO,CAAC6E,IAAK,CAAE;UAAAd,QAAA,gBACxD,IAAAtF,WAAA,CAAAgF,GAAA,EAACnF,YAAA,CAAAwG,IAAI;YAACX,KAAK,EAAEC,MAAM,CAACW,QAAS;YAAAhB,QAAA,EAAEiB,0CAAoB,CAACC;UAAI,CAAO,CAAC,eAChE,IAAAxG,WAAA,CAAAgF,GAAA,EAACpF,qBAAA,CAAA6G,0BAA0B,CAACD,IAAI,IAAE,CAAC;QAAA,CAC3B,CAAC,EACVlF,MAAM,iBACL,IAAAtB,WAAA,CAAAwF,IAAA,EAAAxF,WAAA,CAAA0G,QAAA;UAAApB,QAAA,GAGG/D,OAAO,EAAEoF,WAAW,KAAK,MAAM,iBAC9B,IAAA3G,WAAA,CAAAwF,IAAA,EAAAxF,WAAA,CAAA0G,QAAA;YAAApB,QAAA,gBACE,IAAAtF,WAAA,CAAAgF,GAAA,EAACtF,sBAAA,CAAAkH,SAAS,IAAE,CAAC,eACb,IAAA5G,WAAA,CAAAwF,IAAA,EAAC9F,sBAAA,CAAAyG,QAAQ;cAACH,OAAO,EAAEnE,iBAAkB;cAAAyD,QAAA,gBACnC,IAAAtF,WAAA,CAAAgF,GAAA,EAACnF,YAAA,CAAAwG,IAAI;gBAACX,KAAK,EAAEC,MAAM,CAACW,QAAS;gBAAAhB,QAAA,EAC1BiB,0CAAoB,CAACM;cAAI,CACtB,CAAC,eACP,IAAA7G,WAAA,CAAAgF,GAAA,EAACpF,qBAAA,CAAA6G,0BAA0B,CAACI,IAAI,IAAE,CAAC;YAAA,CAC3B,CAAC;UAAA,CACX,CACH,eACD,IAAA7G,WAAA,CAAAgF,GAAA,EAACtF,sBAAA,CAAAkH,SAAS,IAAE,CAAC,eACb,IAAA5G,WAAA,CAAAwF,IAAA,EAAC9F,sBAAA,CAAAyG,QAAQ;YAACH,OAAO,EAAEpE,mBAAoB;YAAA0D,QAAA,gBACrC,IAAAtF,WAAA,CAAAgF,GAAA,EAACnF,YAAA,CAAAwG,IAAI;cAACX,KAAK,EAAEC,MAAM,CAACW,QAAS;cAAAhB,QAAA,EAAEiB,0CAAoB,CAACO;YAAM,CAAO,CAAC,eAClE,IAAA9G,WAAA,CAAAgF,GAAA,EAACpF,qBAAA,CAAA6G,0BAA0B,CAACK,MAAM,IAAE,CAAC;UAAA,CAC7B,CAAC;QAAA,CACX,CACH;MAAA,CACG,CAAC;IAAA,CACH;EACP,CAEI,CAAC;AAEZ,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAArG,OAAA,GAEaS,mBAAmB;AAElC,MAAMuE,MAAM,GAAGG,uBAAU,CAACmB,MAAM,CAAC;EAC/BrB,WAAW,EAAE;IACX,GAAGE,uBAAU,CAACoB,kBAAkB;IAChCC,eAAe,EAAE;EACnB,CAAC;EACDlB,WAAW,EAAE;IACXxE,QAAQ,EAAE,UAAU;IACpB0F,eAAe,EAAE,OAAO;IACxBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE,CAAC;IACpBC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEjF,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCiF,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE,CAAC;IACZC,QAAQ,EAAE,GAAG;IACb;IACA;IACA;IACAC,QAAQ,EAAE;EACZ,CAAC;EACD;EACA;EACA;EACAvB,QAAQ,EAAE;IACRwB,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAE,SAAS;IAChBC,kBAAkB,EAAE,KAAK;IACzBC,iBAAiB,EAAE,QAAQ;IAC3BC,WAAW,EAAE;EACf;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _react =
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _icons = require("../../../assets/icons");
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
function
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
12
|
/** @format */
|
|
13
13
|
|
|
14
14
|
const AttachSheet = ({
|
|
@@ -19,9 +19,20 @@ const AttachSheet = ({
|
|
|
19
19
|
onDocument,
|
|
20
20
|
primaryColor = '#0052CD'
|
|
21
21
|
}) => {
|
|
22
|
+
const pendingRef = (0, _react.useRef)(null);
|
|
23
|
+
const runPending = () => {
|
|
24
|
+
const fn = pendingRef.current;
|
|
25
|
+
pendingRef.current = null;
|
|
26
|
+
fn?.();
|
|
27
|
+
};
|
|
22
28
|
const trigger = handler => () => {
|
|
23
|
-
|
|
24
|
-
|
|
29
|
+
if (_reactNative.Platform.OS === 'ios') {
|
|
30
|
+
pendingRef.current = handler;
|
|
31
|
+
onClose();
|
|
32
|
+
} else {
|
|
33
|
+
onClose();
|
|
34
|
+
setTimeout(handler, 150);
|
|
35
|
+
}
|
|
25
36
|
};
|
|
26
37
|
const rows = [{
|
|
27
38
|
label: 'Take photo',
|
|
@@ -44,6 +55,7 @@ const AttachSheet = ({
|
|
|
44
55
|
visible: visible,
|
|
45
56
|
animationType: "slide",
|
|
46
57
|
onRequestClose: onClose,
|
|
58
|
+
onDismiss: runPending,
|
|
47
59
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
48
60
|
style: styles.backdrop,
|
|
49
61
|
activeOpacity: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_icons","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AttachSheet","visible","onClose","onCamera","onGallery","onDocument","primaryColor","pendingRef","useRef","runPending","fn","current","trigger","handler","Platform","OS","setTimeout","rows","label","hint","Icon","CameraIcon","MediaIcon","DocumentIcon","jsx","Modal","transparent","animationType","onRequestClose","onDismiss","children","TouchableOpacity","style","styles","backdrop","activeOpacity","onPress","jsxs","sheet","View","grabber","Text","title","map","idx","row","length","rowDivider","iconBubble","backgroundColor","color","width","height","rowText","rowLabel","rowHint","cancelRow","cancelLabel","StyleSheet","create","flex","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","paddingBottom","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","alignSelf","borderRadius","marginBottom","fontSize","fontWeight","letterSpacing","textTransform","paddingHorizontal","flexDirection","alignItems","paddingVertical","borderBottomWidth","hairlineWidth","borderBottomColor","marginRight","marginTop","marginHorizontal","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/AttachSheet/AttachSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeWebview = require("react-native-webview");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
+
/**
|
|
13
|
+
* Inline preview for office documents (DOC / DOCX / XLS / XLSX / PPT /
|
|
14
|
+
* PPTX / TXT / RTF / CSV) and other non-PDF formats supported by
|
|
15
|
+
* Google's free gview rendering service.
|
|
16
|
+
*
|
|
17
|
+
* Strategy: embed `https://docs.google.com/gview?url=<encoded>&embedded=true`
|
|
18
|
+
* inside a WebView. Google fetches the doc from its public URL and
|
|
19
|
+
* renders it to a viewable iframe — no client-side dependency on
|
|
20
|
+
* native office libraries, no extra peer dep. Works for any backend
|
|
21
|
+
* whose file URLs are publicly reachable (which Ethora's `/files/`
|
|
22
|
+
* already are — they're CDN URLs returned in `item.location`).
|
|
23
|
+
*
|
|
24
|
+
* Limitations (documented for the integrator):
|
|
25
|
+
* - Requires public URL — won't work for auth-gated downloads.
|
|
26
|
+
* - First load can take 2-5s on slow networks.
|
|
27
|
+
* - Read-only — no editing, no print/share buttons.
|
|
28
|
+
*
|
|
29
|
+
* For PDFs use the existing PdfViewer (downloads then renders locally).
|
|
30
|
+
*/
|
|
31
|
+
const DocumentViewer = ({
|
|
32
|
+
url,
|
|
33
|
+
fileName
|
|
34
|
+
}) => {
|
|
35
|
+
const [loaded, setLoaded] = (0, _react.useState)(false);
|
|
36
|
+
const [errored, setErrored] = (0, _react.useState)(false);
|
|
37
|
+
const viewerUrl = `https://docs.google.com/gview?url=${encodeURIComponent(url)}&embedded=true`;
|
|
38
|
+
if (errored) {
|
|
39
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
40
|
+
style: styles.center,
|
|
41
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
42
|
+
style: styles.errorTitle,
|
|
43
|
+
children: fileName || 'Document'
|
|
44
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
45
|
+
style: styles.errorBody,
|
|
46
|
+
children: "Couldn't render an inline preview. Tap the save icon above to download the file."
|
|
47
|
+
})]
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
51
|
+
style: styles.container,
|
|
52
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeWebview.WebView, {
|
|
53
|
+
source: {
|
|
54
|
+
uri: viewerUrl
|
|
55
|
+
},
|
|
56
|
+
style: styles.webview,
|
|
57
|
+
originWhitelist: ['*'],
|
|
58
|
+
startInLoadingState: true,
|
|
59
|
+
onLoadEnd: () => setLoaded(true),
|
|
60
|
+
onError: () => setErrored(true),
|
|
61
|
+
onHttpError: () => setErrored(true)
|
|
62
|
+
}), !loaded && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
63
|
+
style: styles.loadingOverlay,
|
|
64
|
+
pointerEvents: "none",
|
|
65
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
66
|
+
size: "large"
|
|
67
|
+
})
|
|
68
|
+
})]
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
var _default = exports.default = DocumentViewer;
|
|
72
|
+
const styles = _reactNative.StyleSheet.create({
|
|
73
|
+
container: {
|
|
74
|
+
flex: 1,
|
|
75
|
+
width: '100%',
|
|
76
|
+
backgroundColor: '#fff'
|
|
77
|
+
},
|
|
78
|
+
webview: {
|
|
79
|
+
flex: 1,
|
|
80
|
+
backgroundColor: '#fff'
|
|
81
|
+
},
|
|
82
|
+
loadingOverlay: {
|
|
83
|
+
..._reactNative.StyleSheet.absoluteFillObject,
|
|
84
|
+
justifyContent: 'center',
|
|
85
|
+
alignItems: 'center',
|
|
86
|
+
backgroundColor: '#ffffff'
|
|
87
|
+
},
|
|
88
|
+
center: {
|
|
89
|
+
flex: 1,
|
|
90
|
+
alignItems: 'center',
|
|
91
|
+
justifyContent: 'center',
|
|
92
|
+
padding: 24,
|
|
93
|
+
gap: 8
|
|
94
|
+
},
|
|
95
|
+
errorTitle: {
|
|
96
|
+
fontSize: 16,
|
|
97
|
+
fontWeight: '600'
|
|
98
|
+
},
|
|
99
|
+
errorBody: {
|
|
100
|
+
color: '#666',
|
|
101
|
+
textAlign: 'center'
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
//# sourceMappingURL=DocumentViewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DocumentViewer","url","fileName","loaded","setLoaded","useState","errored","setErrored","viewerUrl","encodeURIComponent","jsxs","View","style","styles","center","children","jsx","Text","errorTitle","errorBody","container","WebView","source","uri","webview","originWhitelist","startInLoadingState","onLoadEnd","onError","onHttpError","loadingOverlay","pointerEvents","ActivityIndicator","size","_default","exports","StyleSheet","create","flex","width","backgroundColor","absoluteFillObject","justifyContent","alignItems","padding","gap","fontSize","fontWeight","color","textAlign"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/DocumentViewer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _native = _interopRequireDefault(require("styled-components/native"));
|
|
9
8
|
var _styledModalComponents = require("../styledModalComponents");
|
|
10
9
|
var _icons = require("../../../assets/icons");
|
|
11
10
|
var _ModalHeaderComponent = _interopRequireDefault(require("../ModalHeaderComponent"));
|
|
@@ -14,19 +13,85 @@ var _Button = _interopRequireDefault(require("../../styled/Button"));
|
|
|
14
13
|
var _MediaComponents = require("../../styled/StyledInputComponents/MediaComponents");
|
|
15
14
|
var _chatSettingsSlice = require("../../../roomStore/chatSettingsSlice");
|
|
16
15
|
var _reactNative = require("react-native");
|
|
17
|
-
var
|
|
16
|
+
var _expoVideo = require("expo-video");
|
|
18
17
|
var FileSystem = _interopRequireWildcard(require("expo-file-system/legacy"));
|
|
19
18
|
var MediaLibrary = _interopRequireWildcard(require("expo-media-library"));
|
|
20
19
|
var _ToastContext = require("../../../context/ToastContext");
|
|
21
20
|
var _PdfView = _interopRequireDefault(require("./PdfView"));
|
|
21
|
+
var _DocumentViewer = _interopRequireDefault(require("./DocumentViewer"));
|
|
22
|
+
var _AudioMessage = _interopRequireDefault(require("../../styled/AudioMessage"));
|
|
23
|
+
var _mimeToExtension = require("../../../helpers/mimeToExtension");
|
|
22
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
25
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
24
26
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
// MIME types Google's gview embed renders reliably. Everything else
|
|
28
|
+
// falls through to the info-card so the user can still download.
|
|
29
|
+
const GVIEW_PREVIEWABLE = new Set(['application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'text/plain', 'text/csv', 'application/rtf']);
|
|
30
|
+
const isGviewPreviewable = mime => {
|
|
31
|
+
if (!mime) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
return GVIEW_PREVIEWABLE.has(mime.toLowerCase().split(';')[0].trim());
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// Full-screen video preview on expo-video (expo-av <Video> is deprecated
|
|
38
|
+
// and rendered blank on Android). `contentFit: contain` fits the clip to
|
|
39
|
+
// the area with the surrounding letterbox painted as the view's own
|
|
40
|
+
// (transparent → theme) background, NOT black. `textureView` so the play
|
|
41
|
+
// overlay composites on top and nothing is clipped on Android.
|
|
42
|
+
const ModalVideo = ({
|
|
43
|
+
uri
|
|
44
|
+
}) => {
|
|
45
|
+
const [showPlay, setShowPlay] = (0, _react.useState)(true);
|
|
46
|
+
const player = (0, _expoVideo.useVideoPlayer)(uri, p => {
|
|
47
|
+
p.muted = false;
|
|
48
|
+
});
|
|
49
|
+
(0, _react.useEffect)(() => {
|
|
50
|
+
const sub = player.addListener('playingChange', ({
|
|
51
|
+
isPlaying
|
|
52
|
+
}) => {
|
|
53
|
+
if (isPlaying) {
|
|
54
|
+
setShowPlay(false);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
return () => sub.remove();
|
|
58
|
+
}, [player]);
|
|
59
|
+
const handlePlay = () => {
|
|
60
|
+
setShowPlay(false);
|
|
61
|
+
player.play();
|
|
62
|
+
};
|
|
63
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
64
|
+
style: {
|
|
65
|
+
flex: 1,
|
|
66
|
+
width: '100%'
|
|
67
|
+
},
|
|
68
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_expoVideo.VideoView, {
|
|
69
|
+
player: player,
|
|
70
|
+
style: {
|
|
71
|
+
flex: 1,
|
|
72
|
+
backgroundColor: 'transparent'
|
|
73
|
+
},
|
|
74
|
+
contentFit: "contain",
|
|
75
|
+
nativeControls: true,
|
|
76
|
+
surfaceType: "textureView",
|
|
77
|
+
allowsFullscreen: true
|
|
78
|
+
}), showPlay && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
79
|
+
activeOpacity: 0.8,
|
|
80
|
+
onPress: handlePlay,
|
|
81
|
+
style: _reactNative.StyleSheet.absoluteFillObject,
|
|
82
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
83
|
+
style: styles.playOverlay,
|
|
84
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
85
|
+
style: styles.playButton,
|
|
86
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.PlayIcon, {
|
|
87
|
+
width: 28,
|
|
88
|
+
height: 28
|
|
89
|
+
})
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
})]
|
|
93
|
+
});
|
|
94
|
+
};
|
|
30
95
|
const FilePreviewModal = ({
|
|
31
96
|
handleCloseModal
|
|
32
97
|
}) => {
|
|
@@ -38,7 +103,7 @@ const FilePreviewModal = ({
|
|
|
38
103
|
activeFile
|
|
39
104
|
} = (0, _reactRedux.useSelector)(state => state.chatSettingStore);
|
|
40
105
|
if (!activeFile) {
|
|
41
|
-
return;
|
|
106
|
+
return null;
|
|
42
107
|
}
|
|
43
108
|
const requestStoragePermission = async () => {
|
|
44
109
|
try {
|
|
@@ -58,10 +123,7 @@ const FilePreviewModal = ({
|
|
|
58
123
|
return;
|
|
59
124
|
}
|
|
60
125
|
try {
|
|
61
|
-
|
|
62
|
-
if (!fileName.includes('.')) {
|
|
63
|
-
fileName += activeFile.mimetype.startsWith('image/') ? '.jpg' : '.mp4';
|
|
64
|
-
}
|
|
126
|
+
const fileName = (0, _mimeToExtension.ensureFilenameHasExtension)(activeFile.fileName, activeFile.mimetype);
|
|
65
127
|
const filePath = FileSystem.cacheDirectory + fileName;
|
|
66
128
|
const download = await FileSystem.downloadAsync(activeFile.fileURL, filePath);
|
|
67
129
|
if (download.status === 200) {
|
|
@@ -81,7 +143,11 @@ const FilePreviewModal = ({
|
|
|
81
143
|
};
|
|
82
144
|
const saveFileToDownloads = async () => {
|
|
83
145
|
try {
|
|
84
|
-
|
|
146
|
+
// Always include a valid extension on the cache filename. expo-media-
|
|
147
|
+
// library's createAssetAsync inspects the URI's extension and throws
|
|
148
|
+
// "Could not get the file's extension" when missing — see bug #9 in
|
|
149
|
+
// sdk-bug-tracker.md.
|
|
150
|
+
const fileName = (0, _mimeToExtension.ensureFilenameHasExtension)(activeFile.fileName, activeFile.mimetype);
|
|
85
151
|
const filePath = FileSystem.cacheDirectory + fileName;
|
|
86
152
|
const download = await FileSystem.downloadAsync(activeFile.fileURL, filePath);
|
|
87
153
|
if (download.status === 200) {
|
|
@@ -120,44 +186,93 @@ const FilePreviewModal = ({
|
|
|
120
186
|
}));
|
|
121
187
|
handleCloseModal?.();
|
|
122
188
|
};
|
|
123
|
-
|
|
189
|
+
|
|
190
|
+
// NOTE: plain computed value, NOT useMemo. It sits AFTER the
|
|
191
|
+
// `if (!activeFile) return` guard above, so as a hook it would run
|
|
192
|
+
// conditionally (skipped when activeFile is null) — changing the hook
|
|
193
|
+
// count between renders and throwing "rendered more hooks than during
|
|
194
|
+
// the previous render", which crashed the modal the instant you tapped
|
|
195
|
+
// a video/image to open it. Recomputing this on each render is cheap.
|
|
196
|
+
const getMediaComponent = (() => {
|
|
124
197
|
switch (true) {
|
|
125
198
|
case activeFile.mimetype.startsWith('image/'):
|
|
126
199
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MediaComponents.FullScreenImage, {
|
|
127
|
-
|
|
128
|
-
|
|
200
|
+
source: {
|
|
201
|
+
uri: activeFile.fileURL || 'https://as2.ftcdn.net/v2/jpg/02/51/95/53/1000_F_251955356_FAQH0U1y1TZw3ZcdPGybwUkH90a3VAhb.jpg'
|
|
202
|
+
},
|
|
203
|
+
resizeMode: "contain",
|
|
204
|
+
accessibilityLabel: activeFile.fileName
|
|
129
205
|
});
|
|
130
206
|
case activeFile.mimetype.startsWith('video/'):
|
|
131
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
207
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ModalVideo, {
|
|
208
|
+
uri: activeFile.fileURL
|
|
209
|
+
});
|
|
210
|
+
case activeFile.mimetype.startsWith('audio/'):
|
|
211
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
132
212
|
style: {
|
|
133
213
|
width: '100%',
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
214
|
+
padding: 20,
|
|
215
|
+
gap: 12,
|
|
216
|
+
backgroundColor: '#FFF8ED',
|
|
217
|
+
borderRadius: 16
|
|
138
218
|
},
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
219
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
220
|
+
style: {
|
|
221
|
+
fontSize: 16,
|
|
222
|
+
fontWeight: '600'
|
|
223
|
+
},
|
|
224
|
+
children: (0, _mimeToExtension.ensureFilenameHasExtension)(activeFile.fileName, activeFile.mimetype)
|
|
225
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_AudioMessage.default, {
|
|
226
|
+
src: activeFile.fileURL
|
|
227
|
+
})]
|
|
142
228
|
});
|
|
143
229
|
case activeFile.mimetype === 'application/pdf':
|
|
144
230
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PdfView.default, {
|
|
145
231
|
pdfUrl: activeFile.fileURL
|
|
146
232
|
});
|
|
147
233
|
default:
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
234
|
+
{
|
|
235
|
+
const displayName = (0, _mimeToExtension.ensureFilenameHasExtension)(activeFile.fileName, activeFile.mimetype);
|
|
236
|
+
// Office docs (.docx / .xlsx / .pptx / .doc / .xls / .ppt /
|
|
237
|
+
// .txt / .csv / .rtf) → render inline via Google's gview embed
|
|
238
|
+
// — fixes the "blank preview" complaint for docs (bug #9).
|
|
239
|
+
if (isGviewPreviewable(activeFile.mimetype)) {
|
|
240
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DocumentViewer.default, {
|
|
241
|
+
url: activeFile.fileURL,
|
|
242
|
+
fileName: displayName
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
// True last-resort fallback for genuinely unrenderable types
|
|
246
|
+
// (binary blobs, exotic MIMEs). Friendly info card with the
|
|
247
|
+
// filename so the user can still download.
|
|
248
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
249
|
+
style: {
|
|
250
|
+
backgroundColor: '#FFF8ED',
|
|
251
|
+
borderRadius: 16,
|
|
252
|
+
padding: 20,
|
|
253
|
+
gap: 8
|
|
254
|
+
},
|
|
255
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
256
|
+
style: {
|
|
257
|
+
fontSize: 16,
|
|
258
|
+
fontWeight: '600'
|
|
259
|
+
},
|
|
260
|
+
children: displayName
|
|
261
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
262
|
+
style: {
|
|
263
|
+
color: '#666'
|
|
264
|
+
},
|
|
265
|
+
children: activeFile.mimetype || 'unknown type'
|
|
266
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
267
|
+
style: {
|
|
268
|
+
marginTop: 8
|
|
269
|
+
},
|
|
270
|
+
children: "This file format can't be previewed inline. Tap the save icon above to download it."
|
|
271
|
+
})]
|
|
272
|
+
});
|
|
273
|
+
}
|
|
159
274
|
}
|
|
160
|
-
}
|
|
275
|
+
})();
|
|
161
276
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styledModalComponents.ModalContainerFullScreen, {
|
|
162
277
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ModalHeaderComponent.default, {
|
|
163
278
|
handleCloseModal: closeModal,
|
|
@@ -171,14 +286,34 @@ const FilePreviewModal = ({
|
|
|
171
286
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.CenterContainer, {
|
|
172
287
|
style: {
|
|
173
288
|
display: 'flex',
|
|
174
|
-
|
|
289
|
+
flex: 1,
|
|
175
290
|
justifyContent: 'center',
|
|
176
|
-
overflow:
|
|
177
|
-
|
|
291
|
+
// NOTE: do NOT set overflow:'hidden' here — on Android it clips
|
|
292
|
+
// hardware-accelerated children (expo-av Video TextureView and
|
|
293
|
+
// react-native-webview) to nothing, so video/PDF/doc previews
|
|
294
|
+
// render blank while plain <Image> survives.
|
|
295
|
+
overflow: 'visible',
|
|
296
|
+
padding: 16,
|
|
297
|
+
paddingBottom: 48
|
|
178
298
|
},
|
|
179
299
|
children: getMediaComponent
|
|
180
300
|
})]
|
|
181
301
|
});
|
|
182
302
|
};
|
|
303
|
+
const styles = _reactNative.StyleSheet.create({
|
|
304
|
+
playOverlay: {
|
|
305
|
+
..._reactNative.StyleSheet.absoluteFillObject,
|
|
306
|
+
justifyContent: 'center',
|
|
307
|
+
alignItems: 'center'
|
|
308
|
+
},
|
|
309
|
+
playButton: {
|
|
310
|
+
width: 64,
|
|
311
|
+
height: 64,
|
|
312
|
+
borderRadius: 32,
|
|
313
|
+
backgroundColor: 'rgba(0, 0, 0, 0.55)',
|
|
314
|
+
justifyContent: 'center',
|
|
315
|
+
alignItems: 'center'
|
|
316
|
+
}
|
|
317
|
+
});
|
|
183
318
|
var _default = exports.default = FilePreviewModal;
|
|
184
319
|
//# sourceMappingURL=FilePreviewModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_native","_interopRequireDefault","_styledModalComponents","_icons","_ModalHeaderComponent","_reactRedux","_Button","_MediaComponents","_chatSettingsSlice","_reactNative","_expoAv","FileSystem","MediaLibrary","_ToastContext","_PdfView","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FullScreenVideo","exports","styled","View","FilePreviewModal","handleCloseModal","dispatch","useDispatch","showToast","useToast","activeFile","useSelector","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","Alert","alert","fileName","Date","now","includes","mimetype","startsWith","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","uri","id","toString","title","message","type","err","saveFileToDownloads","Platform","OS","createAssetAsync","saveClick","closeModal","setActiveFile","getMediaComponent","useMemo","jsx","FullScreenImage","src","alt","Video","style","width","height","source","useNativeControls","resizeMode","ResizeMode","CONTAIN","shouldPlay","pdfUrl","backgroundColor","borderRadius","display","padding","children","Text","jsxs","ModalContainerFullScreen","headerTitle","rightMenu","Fragment","onPress","SaveIcon","CenterContainer","justifyContent","overflow","_default"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_styledModalComponents","_icons","_ModalHeaderComponent","_interopRequireDefault","_reactRedux","_Button","_MediaComponents","_chatSettingsSlice","_reactNative","_expoVideo","FileSystem","MediaLibrary","_ToastContext","_PdfView","_DocumentViewer","_AudioMessage","_mimeToExtension","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GVIEW_PREVIEWABLE","Set","isGviewPreviewable","mime","toLowerCase","split","trim","ModalVideo","uri","showPlay","setShowPlay","useState","player","useVideoPlayer","p","muted","useEffect","sub","addListener","isPlaying","remove","handlePlay","play","jsxs","View","style","flex","width","children","jsx","VideoView","backgroundColor","contentFit","nativeControls","surfaceType","allowsFullscreen","TouchableOpacity","activeOpacity","onPress","StyleSheet","absoluteFillObject","styles","playOverlay","playButton","PlayIcon","height","FilePreviewModal","handleCloseModal","dispatch","useDispatch","showToast","useToast","activeFile","useSelector","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","Alert","alert","fileName","ensureFilenameHasExtension","mimetype","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","id","Date","now","toString","title","message","type","err","saveFileToDownloads","Platform","OS","createAssetAsync","saveClick","startsWith","closeModal","setActiveFile","getMediaComponent","FullScreenImage","source","resizeMode","accessibilityLabel","padding","gap","borderRadius","Text","fontSize","fontWeight","src","pdfUrl","displayName","url","color","marginTop","ModalContainerFullScreen","headerTitle","rightMenu","Fragment","SaveIcon","CenterContainer","display","justifyContent","overflow","paddingBottom","create","alignItems","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,7 +15,15 @@ const PdfViewer = ({
|
|
|
15
15
|
}) => {
|
|
16
16
|
const [localUri, setLocalUri] = (0, _react.useState)(null);
|
|
17
17
|
const [error, setError] = (0, _react.useState)(null);
|
|
18
|
+
// Android's WebView has NO native PDF renderer, so a file:// (or direct)
|
|
19
|
+
// PDF loads blank. Route it through Google's gview embed using the
|
|
20
|
+
// (public) remote URL — same approach as DocumentViewer for office docs.
|
|
21
|
+
// iOS WKWebView renders PDFs natively, so we download + show the file.
|
|
22
|
+
const isAndroid = _reactNative.Platform.OS === 'android';
|
|
18
23
|
(0, _react.useEffect)(() => {
|
|
24
|
+
if (isAndroid) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
19
27
|
let cancelled = false;
|
|
20
28
|
const run = async () => {
|
|
21
29
|
try {
|
|
@@ -37,7 +45,27 @@ const PdfViewer = ({
|
|
|
37
45
|
return () => {
|
|
38
46
|
cancelled = true;
|
|
39
47
|
};
|
|
40
|
-
}, [pdfUrl]);
|
|
48
|
+
}, [pdfUrl, isAndroid]);
|
|
49
|
+
if (isAndroid) {
|
|
50
|
+
const gviewUrl = `https://docs.google.com/gview?embedded=true&url=${encodeURIComponent(pdfUrl)}`;
|
|
51
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
52
|
+
style: styles.container,
|
|
53
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeWebview.WebView, {
|
|
54
|
+
source: {
|
|
55
|
+
uri: gviewUrl
|
|
56
|
+
},
|
|
57
|
+
style: styles.webview,
|
|
58
|
+
originWhitelist: ['*'],
|
|
59
|
+
startInLoadingState: true,
|
|
60
|
+
renderLoading: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
61
|
+
style: styles.center,
|
|
62
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
63
|
+
size: "large"
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
}
|
|
41
69
|
if (error) {
|
|
42
70
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
43
71
|
style: styles.center,
|