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