@ethora/chat-component-rn 26.8.4 → 26.8.6
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/README.md +55 -0
- package/lib/commonjs/assets/emojiData.js +40 -0
- package/lib/commonjs/assets/emojiData.js.map +1 -0
- package/lib/commonjs/assets/icons.js +1 -1
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/Header/HeaderRoomList.js +12 -7
- package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +7 -9
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +47 -26
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +58 -21
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/KeyboardInputDock.js +40 -0
- package/lib/commonjs/components/MainComponents/KeyboardInputDock.js.map +1 -0
- package/lib/commonjs/components/MainComponents/MessageContainer.js +4 -12
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +110 -35
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +32 -29
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomStack.js +270 -0
- package/lib/commonjs/components/MainComponents/RoomStack.js.map +1 -0
- package/lib/commonjs/components/MainComponents/SystemMessage.js +6 -2
- package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/Avatar.js +5 -1
- package/lib/commonjs/components/MessageBubble/Avatar.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js +17 -21
- package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js +447 -0
- package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
- package/lib/commonjs/components/MessageBubble/Message.js +200 -132
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +213 -12
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageReaction.js +113 -94
- package/lib/commonjs/components/MessageBubble/MessageReaction.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageReply.js +66 -24
- package/lib/commonjs/components/MessageBubble/MessageReply.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +6 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js +24 -0
- package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js +178 -0
- package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js.map +1 -0
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +28 -10
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +9 -3
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +5 -4
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
- package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
- package/lib/commonjs/components/Thread/ThreadWrapper.js +265 -152
- package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
- package/lib/commonjs/components/styled/DateLabel.js +6 -3
- package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
- package/lib/commonjs/context/MessageNotificationContext.js +188 -9
- package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +22 -7
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/createRoomFromApi.js +36 -2
- package/lib/commonjs/helpers/createRoomFromApi.js.map +1 -1
- package/lib/commonjs/helpers/emoji.js +51 -0
- package/lib/commonjs/helpers/emoji.js.map +1 -0
- package/lib/commonjs/helpers/haptics.js +29 -0
- package/lib/commonjs/helpers/haptics.js.map +1 -0
- package/lib/commonjs/helpers/historyPreloadScheduler.js +32 -66
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +21 -12
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/keyboardLayout.js +23 -1
- package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
- package/lib/commonjs/helpers/mamReactions.js +57 -0
- package/lib/commonjs/helpers/mamReactions.js.map +1 -0
- package/lib/commonjs/helpers/parseMessageReference.js +42 -0
- package/lib/commonjs/helpers/parseMessageReference.js.map +1 -0
- package/lib/commonjs/helpers/reactionsConfig.js +17 -0
- package/lib/commonjs/helpers/reactionsConfig.js.map +1 -0
- package/lib/commonjs/helpers/updateMessagesTillLast.js +17 -2
- package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
- package/lib/commonjs/hooks/useHeapSender.js +3 -1
- package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
- package/lib/commonjs/hooks/useMessageHeapState.js +3 -2
- package/lib/commonjs/hooks/useMessageHeapState.js.map +1 -1
- package/lib/commonjs/hooks/useRoomInitialization.js +16 -7
- package/lib/commonjs/hooks/useRoomInitialization.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +14 -8
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/commonjs/networking/stanzaHandlers.js +106 -50
- package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
- package/lib/commonjs/networking/xmpp/getHistory.xmpp.js +29 -74
- package/lib/commonjs/networking/xmpp/getHistory.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +4 -0
- package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/mamRouter.js +186 -0
- package/lib/commonjs/networking/xmpp/mamRouter.js.map +1 -0
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +41 -4
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +98 -23
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js +29 -34
- package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/perfMiddleware.js +51 -0
- package/lib/commonjs/roomStore/Middleware/perfMiddleware.js.map +1 -0
- package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js +66 -43
- package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +88 -68
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/commonjs/roomStore/index.js +18 -14
- package/lib/commonjs/roomStore/index.js.map +1 -1
- package/lib/commonjs/roomStore/persistBackend.js +96 -0
- package/lib/commonjs/roomStore/persistBackend.js.map +1 -0
- package/lib/commonjs/roomStore/persistence.js +245 -50
- package/lib/commonjs/roomStore/persistence.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +282 -136
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/commonjs/theme/theme.js +3 -0
- package/lib/commonjs/theme/theme.js.map +1 -1
- package/lib/commonjs/utils/devLogger.js +14 -0
- package/lib/commonjs/utils/devLogger.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/assets/emojiData.js +36 -0
- package/lib/module/assets/emojiData.js.map +1 -0
- package/lib/module/assets/icons.js +1 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/Header/HeaderRoomList.js +12 -7
- package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +8 -10
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +49 -28
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +60 -23
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/KeyboardInputDock.js +33 -0
- package/lib/module/components/MainComponents/KeyboardInputDock.js.map +1 -0
- package/lib/module/components/MainComponents/MessageContainer.js +7 -14
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +110 -35
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +32 -29
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/MainComponents/RoomStack.js +266 -0
- package/lib/module/components/MainComponents/RoomStack.js.map +1 -0
- package/lib/module/components/MainComponents/SystemMessage.js +6 -2
- package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
- package/lib/module/components/MessageBubble/Avatar.js +5 -1
- package/lib/module/components/MessageBubble/Avatar.js.map +1 -1
- package/lib/module/components/MessageBubble/BottomReplyContainer.js +18 -22
- package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
- package/lib/module/components/MessageBubble/EmojiPickerSheet.js +438 -0
- package/lib/module/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
- package/lib/module/components/MessageBubble/Message.js +203 -134
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +215 -14
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageReaction.js +115 -94
- package/lib/module/components/MessageBubble/MessageReaction.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageReply.js +65 -24
- package/lib/module/components/MessageBubble/MessageReply.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +6 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/Modal/Modal.js +25 -1
- package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/module/components/Modals/Modal/SwipeBackLayer.js +172 -0
- package/lib/module/components/Modals/Modal/SwipeBackLayer.js.map +1 -0
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +29 -11
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +10 -4
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js +5 -4
- package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
- package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
- package/lib/module/components/Thread/ThreadWrapper.js +264 -152
- package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
- package/lib/module/components/styled/DateLabel.js +6 -3
- package/lib/module/components/styled/DateLabel.js.map +1 -1
- package/lib/module/context/MessageNotificationContext.js +190 -11
- package/lib/module/context/MessageNotificationContext.js.map +1 -1
- package/lib/module/context/xmppProvider.js +22 -7
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/createRoomFromApi.js +36 -2
- package/lib/module/helpers/createRoomFromApi.js.map +1 -1
- package/lib/module/helpers/emoji.js +44 -0
- package/lib/module/helpers/emoji.js.map +1 -0
- package/lib/module/helpers/haptics.js +24 -0
- package/lib/module/helpers/haptics.js.map +1 -0
- package/lib/module/helpers/historyPreloadScheduler.js +32 -66
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js +21 -12
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/keyboardLayout.js +20 -0
- package/lib/module/helpers/keyboardLayout.js.map +1 -1
- package/lib/module/helpers/mamReactions.js +51 -0
- package/lib/module/helpers/mamReactions.js.map +1 -0
- package/lib/module/helpers/parseMessageReference.js +37 -0
- package/lib/module/helpers/parseMessageReference.js.map +1 -0
- package/lib/module/helpers/reactionsConfig.js +10 -0
- package/lib/module/helpers/reactionsConfig.js.map +1 -0
- package/lib/module/helpers/updateMessagesTillLast.js +17 -2
- package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
- package/lib/module/hooks/useHeapSender.js +3 -1
- package/lib/module/hooks/useHeapSender.js.map +1 -1
- package/lib/module/hooks/useMessageHeapState.js +3 -2
- package/lib/module/hooks/useMessageHeapState.js.map +1 -1
- package/lib/module/hooks/useRoomInitialization.js +17 -8
- package/lib/module/hooks/useRoomInitialization.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +14 -8
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/module/networking/stanzaHandlers.js +107 -51
- package/lib/module/networking/stanzaHandlers.js.map +1 -1
- package/lib/module/networking/xmpp/getHistory.xmpp.js +29 -74
- package/lib/module/networking/xmpp/getHistory.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/handleStanzas.xmpp.js +4 -0
- package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/mamRouter.js +175 -0
- package/lib/module/networking/xmpp/mamRouter.js.map +1 -0
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +38 -2
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/module/networking/xmppClient.js +99 -24
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/Middleware/newMessageMidlleware.js +29 -34
- package/lib/module/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
- package/lib/module/roomStore/Middleware/perfMiddleware.js +45 -0
- package/lib/module/roomStore/Middleware/perfMiddleware.js.map +1 -0
- package/lib/module/roomStore/Middleware/reactionsMiddleware.js +66 -43
- package/lib/module/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
- package/lib/module/roomStore/Middleware/unreadMidlleware.js +89 -69
- package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/module/roomStore/index.js +19 -15
- package/lib/module/roomStore/index.js.map +1 -1
- package/lib/module/roomStore/persistBackend.js +89 -0
- package/lib/module/roomStore/persistBackend.js.map +1 -0
- package/lib/module/roomStore/persistence.js +245 -48
- package/lib/module/roomStore/persistence.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +275 -134
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/theme/theme.js +3 -0
- package/lib/module/theme/theme.js.map +1 -1
- package/lib/module/utils/devLogger.js +13 -0
- package/lib/module/utils/devLogger.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/assets/emojiData.d.ts +8 -0
- package/lib/typescript/assets/emojiData.d.ts.map +1 -0
- package/lib/typescript/components/Header/HeaderRoomList.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/KeyboardInputDock.d.ts +16 -0
- package/lib/typescript/components/MainComponents/KeyboardInputDock.d.ts.map +1 -0
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts +2 -2
- 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/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomStack.d.ts +42 -0
- package/lib/typescript/components/MainComponents/RoomStack.d.ts.map +1 -0
- package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/Avatar.d.ts +2 -0
- package/lib/typescript/components/MessageBubble/Avatar.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/BottomReplyContainer.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts +11 -0
- package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts.map +1 -0
- package/lib/typescript/components/MessageBubble/Message.d.ts +2 -2
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +2 -0
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageReaction.d.ts +1 -0
- package/lib/typescript/components/MessageBubble/MessageReaction.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageReply.d.ts +7 -7
- package/lib/typescript/components/MessageBubble/MessageReply.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts +16 -0
- package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts.map +1 -0
- package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts +2 -2
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts +3 -6
- package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts.map +1 -1
- package/lib/typescript/components/Thread/ThreadWrapper.d.ts +7 -1
- package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
- package/lib/typescript/components/styled/DateLabel.d.ts +1 -0
- package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
- package/lib/typescript/context/MessageNotificationContext.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/createRoomFromApi.d.ts.map +1 -1
- package/lib/typescript/helpers/emoji.d.ts +6 -0
- package/lib/typescript/helpers/emoji.d.ts.map +1 -0
- package/lib/typescript/helpers/haptics.d.ts +3 -0
- package/lib/typescript/helpers/haptics.d.ts.map +1 -0
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts +1 -0
- 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 +6 -0
- package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
- package/lib/typescript/helpers/mamReactions.d.ts +13 -0
- package/lib/typescript/helpers/mamReactions.d.ts.map +1 -0
- package/lib/typescript/helpers/parseMessageReference.d.ts +16 -0
- package/lib/typescript/helpers/parseMessageReference.d.ts.map +1 -0
- package/lib/typescript/helpers/reactionsConfig.d.ts +5 -0
- package/lib/typescript/helpers/reactionsConfig.d.ts.map +1 -0
- package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
- package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
- package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
- package/lib/typescript/hooks/useRoomInitialization.d.ts +2 -2
- package/lib/typescript/hooks/useRoomInitialization.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/networking/stanzaHandlers.d.ts +4 -2
- package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts +3 -1
- package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/mamRouter.d.ts +23 -0
- package/lib/typescript/networking/xmpp/mamRouter.d.ts.map +1 -0
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts +1 -0
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +22 -1
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/newMessageMidlleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts +4 -0
- package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts.map +1 -0
- package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts +9 -0
- package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/index.d.ts.map +1 -1
- package/lib/typescript/roomStore/persistBackend.d.ts +11 -0
- package/lib/typescript/roomStore/persistBackend.d.ts.map +1 -0
- package/lib/typescript/roomStore/persistence.d.ts +5 -6
- package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +41 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/theme/theme.d.ts +4 -1
- package/lib/typescript/theme/theme.d.ts.map +1 -1
- package/lib/typescript/types/models/message.model.d.ts +4 -0
- package/lib/typescript/types/models/message.model.d.ts.map +1 -1
- package/lib/typescript/types/models/room.model.d.ts +16 -0
- package/lib/typescript/types/models/room.model.d.ts.map +1 -1
- package/lib/typescript/types/models/xmpp.model.d.ts +6 -1
- package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +15 -3
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/utils/devLogger.d.ts +8 -0
- package/lib/typescript/utils/devLogger.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +10 -1
- package/src/assets/emojiData.ts +2146 -0
- package/src/assets/icons.tsx +5 -5
- package/src/components/Header/HeaderRoomList.tsx +7 -5
- package/src/components/MainComponents/ChatHeader.tsx +16 -7
- package/src/components/MainComponents/ChatRoom.tsx +64 -32
- package/src/components/MainComponents/ChatWrapper.tsx +73 -21
- package/src/components/MainComponents/KeyboardInputDock.tsx +47 -0
- package/src/components/MainComponents/MessageContainer.tsx +7 -15
- package/src/components/MainComponents/MessageList.tsx +96 -43
- package/src/components/MainComponents/RoomList.tsx +28 -29
- package/src/components/MainComponents/RoomStack.tsx +309 -0
- package/src/components/MainComponents/SystemMessage.tsx +6 -2
- package/src/components/MessageBubble/Avatar.tsx +7 -1
- package/src/components/MessageBubble/BottomReplyContainer.tsx +19 -21
- package/src/components/MessageBubble/EmojiPickerSheet.tsx +468 -0
- package/src/components/MessageBubble/Message.tsx +146 -87
- package/src/components/MessageBubble/MessageInteractions.tsx +213 -12
- package/src/components/MessageBubble/MessageReaction.tsx +120 -96
- package/src/components/MessageBubble/MessageReply.tsx +65 -32
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +4 -0
- package/src/components/Modals/Modal/Modal.tsx +32 -1
- package/src/components/Modals/Modal/SwipeBackLayer.tsx +221 -0
- package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +29 -8
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +6 -3
- package/src/components/RoomComponents/ChatRoomItem.tsx +11 -4
- package/src/components/RoomComponents/styled/LastMessageEmoji.tsx +7 -8
- package/src/components/Thread/ThreadWrapper.tsx +274 -198
- package/src/components/styled/DateLabel.tsx +7 -3
- package/src/context/MessageNotificationContext.tsx +205 -7
- package/src/context/xmppProvider.tsx +29 -9
- package/src/helpers/createRoomFromApi.tsx +37 -1
- package/src/helpers/emoji.ts +39 -0
- package/src/helpers/haptics.ts +19 -0
- package/src/helpers/historyPreloadScheduler.ts +37 -69
- package/src/helpers/insertMessageWithDelimiter.ts +23 -16
- package/src/helpers/keyboardLayout.ts +26 -0
- package/src/helpers/mamReactions.ts +59 -0
- package/src/helpers/parseMessageReference.ts +38 -0
- package/src/helpers/reactionsConfig.ts +13 -0
- package/src/helpers/updateMessagesTillLast.tsx +14 -2
- package/src/hooks/useHeapSender.tsx +3 -2
- package/src/hooks/useMessageHeapState.tsx +6 -2
- package/src/hooks/useRoomInitialization.tsx +32 -15
- package/src/hooks/useSendMessage.tsx +18 -11
- package/src/hooks/useUnreadMessagesCounter.ts +1 -1
- package/src/networking/stanzaHandlers.ts +116 -60
- package/src/networking/xmpp/getHistory.xmpp.ts +44 -106
- package/src/networking/xmpp/handleStanzas.xmpp.ts +2 -0
- package/src/networking/xmpp/mamRouter.ts +176 -0
- package/src/networking/xmpp/presenceInRoom.xmpp.ts +46 -3
- package/src/networking/xmppClient.ts +105 -20
- package/src/roomStore/Middleware/newMessageMidlleware.tsx +35 -38
- package/src/roomStore/Middleware/perfMiddleware.ts +50 -0
- package/src/roomStore/Middleware/reactionsMiddleware.tsx +53 -52
- package/src/roomStore/Middleware/unreadMidlleware.tsx +92 -80
- package/src/roomStore/index.ts +28 -27
- package/src/roomStore/persistBackend.ts +96 -0
- package/src/roomStore/persistence.ts +280 -73
- package/src/roomStore/roomsSlice.ts +304 -155
- package/src/theme/theme.ts +10 -1
- package/src/types/models/message.model.ts +4 -0
- package/src/types/models/room.model.ts +17 -0
- package/src/types/models/xmpp.model.ts +4 -2
- package/src/types/types.ts +15 -3
- package/src/utils/devLogger.ts +16 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSafeAreaInsets","React","useMemo","View","StyleSheet","Image","Text","ProfileImagePlaceholder","useChatSettingState","BurgerMenuIcon","Button","useTheme","useT","jsx","_jsx","jsxs","_jsxs","HeaderRoomList","setDrawerOpen","config","user","selectedUser","theme","t","insets","topInset","headerLayout","safeAreaTop","top","modalUser","HeaderLogo","image","headerLogo","SvgComponent","source","uri","backgroundChat","style","styles","headerContainer","backgroundColor","surface","shadowColor","shadow","paddingTop","children","disableRoomMenu","headerMenu","leftContainer","testID","menuButton","color","unstyled","EndIcon","icon","onPress","centerContainer","fontWeight","fontSize","text","rightContainer","profileImage","name","firstName","size","click","isClick","create","flexDirection","alignItems","paddingHorizontal","
|
|
1
|
+
{"version":3,"names":["useSafeAreaInsets","React","useMemo","View","StyleSheet","Image","Text","ProfileImagePlaceholder","useChatSettingState","BurgerMenuIcon","Button","useTheme","useT","resolveHeaderHeight","jsx","_jsx","jsxs","_jsxs","HeaderRoomList","setDrawerOpen","config","user","selectedUser","theme","t","insets","topInset","headerLayout","safeAreaTop","top","headerHeight","height","modalUser","HeaderLogo","image","headerLogo","SvgComponent","source","uri","backgroundChat","style","styles","headerContainer","backgroundColor","surface","shadowColor","shadow","paddingTop","children","disableRoomMenu","headerMenu","leftContainer","testID","menuButton","color","unstyled","EndIcon","icon","onPress","centerContainer","fontWeight","fontSize","text","rightContainer","profileImage","name","firstName","size","click","isClick","create","flexDirection","alignItems","paddingHorizontal","justifyContent","borderBottomLeftRadius","borderBottomRightRadius","shadowOffset","width","shadowOpacity","shadowRadius","elevation","zIndex","padding","borderRadius","position","left","right","bottom"],"sourceRoot":"../../../../src","sources":["components/Header/HeaderRoomList.tsx"],"mappings":";;AAAA;;AAEA,SAASA,iBAAiB,QAAQ,gCAAgC;AAClE,OAAOC,KAAK,IAAQC,OAAO,QAAQ,OAAO;AAC1C,SAASC,IAAI,EAAEC,UAAU,EAAEC,KAAK,EAAEC,IAAI,QAAQ,cAAc;AAC5D,SAASC,uBAAuB,QAAQ,2CAA2C;AACnF,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,cAAc,QAAQ,oBAAoB;AACnD,OAAOC,MAAM,MAAM,kBAAkB;AACrC,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,SAASC,mBAAmB,QAAQ,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMjE,OAAO,MAAMC,cAAuC,GAAGA,CAAC;EAAEC;AAAc,CAAC,KAAK;EAC5E,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAa,CAAC,GAAGd,mBAAmB,CAAC,CAAC;EAC5D,MAAMe,KAAK,GAAGZ,QAAQ,CAAC,CAAC;EACxB,MAAMa,CAAC,GAAGZ,IAAI,CAAC,CAAC;EAChB,MAAMa,MAAM,GAAGzB,iBAAiB,CAAC,CAAC;EAClC,MAAM0B,QAAQ,GAAGN,MAAM,EAAEO,YAAY,EAAEC,WAAW,GAAGH,MAAM,CAACI,GAAG,GAAG,CAAC;EACnE;EACA;EACA,MAAMC,YAAY,GAAGjB,mBAAmB,CAACO,MAAM,EAAEO,YAAY,EAAEI,MAAM,CAAC,GAAGL,QAAQ;EAEjF,MAAMM,SAAc,GAAGV,YAAY,IAAID,IAAI;EAE3C,MAAMY,UAAU,GAAG/B,OAAO,CAAC,MAAM;IAC/B,MAAMgC,KAAK,GAAGd,MAAM,EAAEe,UAAU;IAEhC,IAAID,KAAK,EAAE;MACT,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;QAC/B,MAAME,YAAY,GAAGF,KAAgD;QACrE,oBAAOnB,IAAA,CAACqB,YAAY,IAAE,CAAC;MACzB,CAAC,MAAM,IAAI,OAAOF,KAAK,KAAK,QAAQ,EAAE;QACpC,oBAAOnB,IAAA,CAACV,KAAK;UAACgC,MAAM,EAAE;YAAEC,GAAG,EAAEJ;UAAM;QAAE,CAAE,CAAC;MAC1C,CAAC,MAAM;QACL,OAAOA,KAAK;MACd;IACF;IAEA,oBAAOnB,IAAA,CAACZ,IAAI,IAAE,CAAC;EACjB,CAAC,EAAE,CAACiB,MAAM,EAAEmB,cAAc,EAAEL,KAAK,CAAC,CAAC;EAEnC,oBACEjB,KAAA,CAACd,IAAI;IACHqC,KAAK,EAAE,CACLC,MAAM,CAACC,eAAe,EACtB;MAAEC,eAAe,EAAEpB,KAAK,CAACqB,OAAO;MAAEC,WAAW,EAAEtB,KAAK,CAACuB;IAAO,CAAC,EAC7D;MAAEf,MAAM,EAAED,YAAY;MAAEiB,UAAU,EAAErB;IAAS,CAAC,CAC9C;IAAAsB,QAAA,GAED,CAAC5B,MAAM,EAAE6B,eAAe,IAAI7B,MAAM,EAAE8B,UAAU,gBAC7CnC,IAAA,CAACZ,IAAI;MAACqC,KAAK,EAAEC,MAAM,CAACU,aAAc;MAAAH,QAAA,eAChCjC,IAAA,CAACL,MAAM;QACL0C,MAAM,EAAC,kBAAkB;QACzBZ,KAAK,EAAEC,MAAM,CAACY,UAAW;QACzBC,KAAK,EAAC,OAAO;QACbC,QAAQ;QACRC,OAAO,eAAEzC,IAAA,CAACN,cAAc;UAAC6C,KAAK,EAAE/B,KAAK,CAACkC;QAAK,CAAE,CAAE;QAC/CC,OAAO,EAAEA,CAAA,KACP,OAAOtC,MAAM,EAAE8B,UAAU,KAAK,UAAU,GACpC9B,MAAM,CAAC8B,UAAU,CAAC,CAAC,GACnB/B,aAAa,CAAC;MACnB,CACF;IAAC,CACE,CAAC,gBAEPJ,IAAA,CAACZ,IAAI;MAACqC,KAAK,EAAEC,MAAM,CAACU;IAAc,CAAE,CACrC,eACDpC,IAAA,CAACZ,IAAI;MAACqC,KAAK,EAAE,CAACC,MAAM,CAACkB,eAAe,EAAE;QAAE9B,GAAG,EAAEH;MAAS,CAAC,CAAE;MAAAsB,QAAA,EACtD5B,MAAM,EAAEe,UAAU,GACjBF,UAAU,gBAEVlB,IAAA,CAACT,IAAI;QAACkC,KAAK,EAAE;UAAEoB,UAAU,EAAE,GAAG;UAAEC,QAAQ,EAAE,EAAE;UAAEP,KAAK,EAAE/B,KAAK,CAACuC;QAAK,CAAE;QAAAd,QAAA,EAC/DxB,CAAC,CAAC,gBAAgB;MAAC,CAChB;IACP,CACG,CAAC,eACPT,IAAA,CAACZ,IAAI;MAACqC,KAAK,EAAEC,MAAM,CAACsB,cAAe;MAAAf,QAAA,eACjCjC,IAAA,CAACR,uBAAuB;QACtBkD,IAAI,EAAEzB,SAAS,EAAEgC,YAAY,IAAI,IAAK;QACtCC,IAAI,EAAEjC,SAAS,EAAEiC,IAAI,IAAIjC,SAAS,EAAEkC,SAAU;QAC9CC,IAAI,EAAE,EAAG;QACTC,KAAK,EAAE;UACLC,OAAO,EAAE,IAAI;UACbX,OAAO,EAAEvC;QACX;MAAE,CACH;IAAC,CACE,CAAC;EAAA,CACH,CAAC;AAEX,CAAC;AAED,MAAMsB,MAAM,GAAGrC,UAAU,CAACkE,MAAM,CAAC;EAC/B5B,eAAe,EAAE;IACf6B,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAE,EAAE;IACrBC,cAAc,EAAE,eAAe;IAC/BC,sBAAsB,EAAE,EAAE;IAC1BC,uBAAuB,EAAE,EAAE;IAC3BC,YAAY,EAAE;MAAEC,KAAK,EAAE,CAAC;MAAE/C,MAAM,EAAE;IAAE,CAAC;IACrCgD,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,EAAE;IAChBC,SAAS,EAAE,CAAC;IACZC,MAAM,EAAE;EACV,CAAC;EACD7B,UAAU,EAAE;IACV8B,OAAO,EAAE,CAAC;IACVC,YAAY,EAAE,EAAE;IAChBzC,eAAe,EAAE;EACnB,CAAC;EACDQ,aAAa,EAAE;IACb2B,KAAK,EAAE,EAAE;IACTN,UAAU,EAAE,YAAY;IACxBE,cAAc,EAAE;EAClB,CAAC;EACDf,eAAe,EAAE;IACf0B,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACThB,UAAU,EAAE,QAAQ;IACpBE,cAAc,EAAE;EAClB,CAAC;EACDX,cAAc,EAAE;IACde,KAAK,EAAE,EAAE;IACTN,UAAU,EAAE,UAAU;IACtBE,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -11,14 +11,13 @@ import Button from '../styled/Button';
|
|
|
11
11
|
import { BackIcon, BurgerMenuIcon } from '../../assets/icons';
|
|
12
12
|
import { CallButtons } from '../VideoCalls/CallButtons';
|
|
13
13
|
import { LanguageSelectorButton } from './LanguageSelectorButton';
|
|
14
|
-
import { useDispatch } from 'react-redux';
|
|
14
|
+
import { useDispatch, useSelector, useStore } from 'react-redux';
|
|
15
15
|
import Composing from '../styled/StyledInputComponents/Composing';
|
|
16
16
|
import { deleteRoom, setCurrentRoom, setIsLoading } from '../../roomStore/roomsSlice';
|
|
17
17
|
import { useXmppClient } from '../../context/xmppProvider';
|
|
18
18
|
import { setActiveModal } from '../../roomStore/chatSettingsSlice';
|
|
19
19
|
import { MODAL_TYPES } from '../../helpers/constants/MODAL_TYPES';
|
|
20
20
|
import { RoomMenu } from '../MenuRoom/MenuRoom';
|
|
21
|
-
import { useRoomState } from '../../hooks/useRoomState';
|
|
22
21
|
import { useChatSettingState } from '../../hooks/useChatSettingState';
|
|
23
22
|
import { useFileToken } from '../../hooks/useFileToken';
|
|
24
23
|
import { appendFileToken } from '../../helpers/secureFileUrl';
|
|
@@ -38,15 +37,14 @@ const ChatHeader = ({
|
|
|
38
37
|
const {
|
|
39
38
|
client
|
|
40
39
|
} = useXmppClient();
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
} = useRoomState(currentRoom.jid);
|
|
45
|
-
const roomState = useRoomState(currentRoom.jid).room;
|
|
46
|
-
const composing = roomState?.composing;
|
|
40
|
+
const reduxStore = useStore();
|
|
41
|
+
const activeRoomJID = useSelector(state => state.rooms.activeRoomJID);
|
|
42
|
+
const roomState = useSelector(state => currentRoom?.jid ? state.rooms.rooms?.[currentRoom.jid] : undefined);
|
|
47
43
|
const {
|
|
48
44
|
config
|
|
49
45
|
} = useChatSettingState();
|
|
46
|
+
const roomsList = useSelector(state => config?.chatHeaderBurgerMenu ? state.rooms.rooms : null);
|
|
47
|
+
const composing = roomState?.composing;
|
|
50
48
|
const theme = useTheme();
|
|
51
49
|
const t = useT();
|
|
52
50
|
const handleChangeChat = chat => {
|
|
@@ -63,13 +61,13 @@ const ChatHeader = ({
|
|
|
63
61
|
dispatch(deleteRoom({
|
|
64
62
|
jid: activeRoomJID
|
|
65
63
|
}));
|
|
66
|
-
const nextRoomJID = Object.keys(
|
|
64
|
+
const nextRoomJID = Object.keys(reduxStore.getState().rooms.rooms || {})[0] || null;
|
|
67
65
|
if (nextRoomJID) {
|
|
68
66
|
dispatch(setCurrentRoom({
|
|
69
67
|
roomJID: nextRoomJID
|
|
70
68
|
}));
|
|
71
69
|
}
|
|
72
|
-
}, [activeRoomJID,
|
|
70
|
+
}, [activeRoomJID, reduxStore, dispatch, client]);
|
|
73
71
|
const handleHeaderChatMenu = () => {
|
|
74
72
|
Keyboard.dismiss();
|
|
75
73
|
config?.headerChatMenu && config?.headerChatMenu();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useSafeAreaInsets","CenterContainer","ChatContainerHeader","ChatContainerHeaderBoxInfo","ChatContainerHeaderInfo","ChatContainerHeaderLabel","RoomList","ProfileImagePlaceholder","Button","BackIcon","BurgerMenuIcon","CallButtons","LanguageSelectorButton","useDispatch","Composing","deleteRoom","setCurrentRoom","setIsLoading","useXmppClient","setActiveModal","MODAL_TYPES","RoomMenu","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useSafeAreaInsets","CenterContainer","ChatContainerHeader","ChatContainerHeaderBoxInfo","ChatContainerHeaderInfo","ChatContainerHeaderLabel","RoomList","ProfileImagePlaceholder","Button","BackIcon","BurgerMenuIcon","CallButtons","LanguageSelectorButton","useDispatch","useSelector","useStore","Composing","deleteRoom","setCurrentRoom","setIsLoading","useXmppClient","setActiveModal","MODAL_TYPES","RoomMenu","useChatSettingState","useFileToken","appendFileToken","View","StyleSheet","Text","Keyboard","getIconColor","useTheme","resolveHeaderHeight","getElementFont","useT","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ChatHeader","currentRoom","handleBackClick","fileToken","dispatch","client","reduxStore","activeRoomJID","state","rooms","roomState","jid","undefined","config","roomsList","chatHeaderBurgerMenu","composing","theme","t","handleChangeChat","chat","roomJID","chatJID","loading","handleLeaveClick","leaveTheRoomStanza","nextRoomJID","Object","keys","getState","handleHeaderChatMenu","dismiss","headerChatMenu","openChatInfo","CHAT_PROFILE","insets","topInset","headerLayout","safeAreaTop","top","headerHeight","height","children","style","paddingTop","paddingBottom","styles","leftContainer","EndIcon","color","textSecondary","onPress","disableChatHeaderBurgerMenuIcon","menuButton","text","unstyled","minHeight","rightSpace","disableRoomConfig","leftSpace","chats","values","burgerMenu","onRoomClick","disabled","disableChatInfo","disableChatHeaderMenu","name","title","size","icon","active","click","isClick","numberOfLines","ellipsizeMode","fontSize","typography","headerTitle","fontWeight","usersTyping","composingList","disableUserCount","subLabel","Number","usersCnt","count","rightContainer","disableRoomMenu","chatHeaderAdditional","enabled","element","create","padding","borderRadius","backgroundColor","alignItems","width","flexDirection","justifyContent","gap","flexShrink"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatHeader.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import React, { useState, useEffect, useCallback, useRef } from 'react';
|
|
6
6
|
import { ChatContainer, NonRoomChat } from '../styled/StyledComponents';
|
|
7
|
-
import { useDispatch } from 'react-redux';
|
|
7
|
+
import { useDispatch, useSelector, useStore } from 'react-redux';
|
|
8
8
|
import MessageList from './MessageList';
|
|
9
9
|
import SendInput from '../styled/SendInput';
|
|
10
10
|
import { clearReadBoundary, clearVisibleRoom, deleteRoomMessage, setEditAction, setLastViewedTimestamp, setReadBoundary, setVisibleRoom } from '../../roomStore/roomsSlice';
|
|
@@ -20,7 +20,6 @@ import { getChatBackgroundColor } from '../../helpers/getChatBackground';
|
|
|
20
20
|
import { ChooseChatMessage } from './ChooseChatMessage';
|
|
21
21
|
import { useSendMessage } from '../../hooks/useSendMessage';
|
|
22
22
|
import { useRoomInitialization } from '../../hooks/useRoomInitialization';
|
|
23
|
-
import { useRoomState } from '../../hooks/useRoomState';
|
|
24
23
|
import { useChatSettingState } from '../../hooks/useChatSettingState';
|
|
25
24
|
import { useTheme } from '../../hooks/useTheme';
|
|
26
25
|
import { isOwnMessage } from '../../helpers/isOwnMessage';
|
|
@@ -29,12 +28,14 @@ import CustomTypingIndicator from '../styled/StyledInputComponents/CustomTypingI
|
|
|
29
28
|
|
|
30
29
|
import { AppState, Keyboard, Platform, View } from 'react-native';
|
|
31
30
|
import { KeyboardAvoidingView, KeyboardStickyView } from 'react-native-keyboard-controller';
|
|
31
|
+
import { KeyboardInputDock } from './KeyboardInputDock';
|
|
32
32
|
import useComposing from '../../hooks/useComposing';
|
|
33
33
|
import { store } from '../../roomStore';
|
|
34
34
|
import { getFlushBoundaryTs, getReadMarkerTimestamp } from '../../helpers/getServerReadTimestamp';
|
|
35
35
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
36
|
-
import { getInputDockPaddingBottom, getKeyboardVerticalOffset } from '../../helpers/keyboardLayout';
|
|
36
|
+
import { getInputDockPaddingBottom, getKeyboardVerticalOffset, getKeyboardAvoidingOffset, getInputDockKeyboardPadding } from '../../helpers/keyboardLayout';
|
|
37
37
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
38
|
+
const EMPTY_MESSAGES = [];
|
|
38
39
|
const ChatRoom = /*#__PURE__*/React.memo(({
|
|
39
40
|
CustomMessageComponent,
|
|
40
41
|
CustomInputComponent,
|
|
@@ -67,14 +68,14 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
67
68
|
}
|
|
68
69
|
return storeConfig;
|
|
69
70
|
}, [storeConfig, propsEventHandlers]);
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
71
|
+
const reduxStore = useStore();
|
|
72
|
+
const activeRoomJID = useSelector(state => state.rooms.activeRoomJID);
|
|
73
|
+
const activeRoom = useSelector(state => activeRoomJID ? state.rooms.rooms?.[activeRoomJID] : undefined);
|
|
74
|
+
const hasRooms = useSelector(state => Object.keys(state.rooms.rooms || {}).length > 0);
|
|
75
|
+
const editAction = useSelector(state => state.rooms.editAction);
|
|
76
|
+
const globalLoading = useSelector(state => state.rooms.isLoading);
|
|
77
|
+
const loading = !!activeRoom?.isLoading;
|
|
78
|
+
const roomMessages = activeRoom?.messages || EMPTY_MESSAGES;
|
|
78
79
|
const {
|
|
79
80
|
sendMessage: sendMs,
|
|
80
81
|
sendMedia: sendMessageMedia,
|
|
@@ -135,10 +136,11 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
135
136
|
return sendMessageMedia(data, type, activeRoomJID || '');
|
|
136
137
|
}, [activeRoomJID]);
|
|
137
138
|
const loadMoreMessages = useCallback(async (chatJID, max, idOfMessageBefore) => {
|
|
138
|
-
|
|
139
|
+
const room = reduxStore.getState().rooms.rooms?.[chatJID];
|
|
140
|
+
if (isLoadingMore || room?.historyComplete) {
|
|
139
141
|
return;
|
|
140
142
|
}
|
|
141
|
-
const lastMsgId = typeof idOfMessageBefore !== 'string' ? idOfMessageBefore : Number(
|
|
143
|
+
const lastMsgId = typeof idOfMessageBefore !== 'string' ? idOfMessageBefore : Number(room?.messages?.[(room?.messages?.length || 0) - 2]?.id);
|
|
142
144
|
setIsLoadingMore(true);
|
|
143
145
|
try {
|
|
144
146
|
// Return the promise so MessageList's `await loadMoreMessages`
|
|
@@ -152,7 +154,7 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
152
154
|
}
|
|
153
155
|
},
|
|
154
156
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
155
|
-
[client?.client?.jid, isLoadingMore,
|
|
157
|
+
[client?.client?.jid, isLoadingMore, reduxStore]);
|
|
156
158
|
const onCloseEdit = () => {
|
|
157
159
|
dispatch(setEditAction({
|
|
158
160
|
isEdit: false
|
|
@@ -275,13 +277,13 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
275
277
|
// hooks useEffects
|
|
276
278
|
// useRoomUrl(activeRoomJID || "", roomsList, config);
|
|
277
279
|
|
|
278
|
-
useRoomInitialization(activeRoomJID || '',
|
|
279
|
-
if (
|
|
280
|
+
useRoomInitialization(activeRoomJID || '', configWithEventHandlers || storeConfig || {});
|
|
281
|
+
if (!hasRooms && !loading && !globalLoading) {
|
|
280
282
|
return /*#__PURE__*/_jsx(NonRoomChat, {
|
|
281
283
|
children: /*#__PURE__*/_jsx(NewChatModal, {})
|
|
282
284
|
});
|
|
283
285
|
}
|
|
284
|
-
if (!activeRoomJID || !
|
|
286
|
+
if (!activeRoomJID || !activeRoom) {
|
|
285
287
|
return /*#__PURE__*/_jsx(ChooseChatMessage, {});
|
|
286
288
|
}
|
|
287
289
|
const keyboardVerticalOffset = getKeyboardVerticalOffset({
|
|
@@ -295,6 +297,13 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
295
297
|
configuredPadding: configWithEventHandlers?.inputDockPaddingBottom,
|
|
296
298
|
hostOwnsLayout: !!configWithEventHandlers?.disableKeyboardAvoidingView
|
|
297
299
|
});
|
|
300
|
+
const keyboardAvoidingOffset = getKeyboardAvoidingOffset({
|
|
301
|
+
configuredOffset: configWithEventHandlers?.keyboardVerticalOffset ?? 0
|
|
302
|
+
});
|
|
303
|
+
const inputDockKeyboardPadding = getInputDockKeyboardPadding({
|
|
304
|
+
platform: Platform.OS,
|
|
305
|
+
inputDockPaddingBottom
|
|
306
|
+
});
|
|
298
307
|
|
|
299
308
|
// Keyboard avoidance is delegated to react-native-keyboard-controller's
|
|
300
309
|
// KeyboardAvoidingView. When the HOST app supplies its own keyboard
|
|
@@ -327,11 +336,15 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
327
336
|
const avoidKeyboard = !noKeyboardHandling && !stickyInput;
|
|
328
337
|
const KeyboardWrapper = avoidKeyboard ? KeyboardAvoidingView : View;
|
|
329
338
|
const keyboardWrapperProps = avoidKeyboard ? {
|
|
339
|
+
// The dock's colour: the keyboard-height padding below the dock is
|
|
340
|
+
// this view's own box, and it shows around the keyboard's rounded
|
|
341
|
+
// top corners — it must read as a continuation of the dock.
|
|
330
342
|
style: {
|
|
331
|
-
flex: 1
|
|
343
|
+
flex: 1,
|
|
344
|
+
backgroundColor: theme.surface
|
|
332
345
|
},
|
|
333
346
|
behavior: 'padding',
|
|
334
|
-
keyboardVerticalOffset
|
|
347
|
+
keyboardVerticalOffset: keyboardAvoidingOffset
|
|
335
348
|
} : {
|
|
336
349
|
style: {
|
|
337
350
|
flex: 1
|
|
@@ -339,7 +352,11 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
339
352
|
};
|
|
340
353
|
// Input dock: a plain View normally; under the sticky strategy it becomes
|
|
341
354
|
// a KeyboardStickyView so it (and only it) lifts with the keyboard.
|
|
342
|
-
|
|
355
|
+
// Under the avoiding-view strategy the dock's safe-area padding collapses
|
|
356
|
+
// while the keyboard is open (KeyboardInputDock), so the composer is glued
|
|
357
|
+
// to the keyboard.
|
|
358
|
+
const collapsingDock = avoidKeyboard && inputDockKeyboardPadding !== inputDockPaddingBottom;
|
|
359
|
+
const InputDockTag = stickyInput ? KeyboardStickyView : collapsingDock ? KeyboardInputDock : View;
|
|
343
360
|
const inputDockProps = {
|
|
344
361
|
// The dock carries the composer's white surface all the way to the
|
|
345
362
|
// bottom edge, so it needs the same rounded top and upward shadow —
|
|
@@ -363,6 +380,10 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
363
380
|
closed: 0,
|
|
364
381
|
opened: keyboardVerticalOffset
|
|
365
382
|
}
|
|
383
|
+
} : {}),
|
|
384
|
+
...(collapsingDock ? {
|
|
385
|
+
closedPadding: inputDockPaddingBottom,
|
|
386
|
+
openedPadding: inputDockKeyboardPadding
|
|
366
387
|
} : {})
|
|
367
388
|
};
|
|
368
389
|
return /*#__PURE__*/_jsx(KeyboardWrapper, {
|
|
@@ -376,7 +397,7 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
376
397
|
backgroundColor: getChatBackgroundColor(configWithEventHandlers)
|
|
377
398
|
}, configWithEventHandlers?.chatRoomStyles],
|
|
378
399
|
children: [!configWithEventHandlers?.disableHeader && /*#__PURE__*/_jsx(ChatHeader, {
|
|
379
|
-
currentRoom:
|
|
400
|
+
currentRoom: activeRoom,
|
|
380
401
|
handleBackClick: handleBackClick
|
|
381
402
|
}), configWithEventHandlers?.chatHeaderAdditional?.enabled && configWithEventHandlers.chatHeaderAdditional.element(), /*#__PURE__*/_jsx(View, {
|
|
382
403
|
style: {
|
|
@@ -391,7 +412,7 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
391
412
|
children: /*#__PURE__*/_jsx(Loader, {
|
|
392
413
|
color: configWithEventHandlers?.colors?.primary
|
|
393
414
|
})
|
|
394
|
-
}) :
|
|
415
|
+
}) : !hasRooms || !activeRoomJID ? /*#__PURE__*/_jsx(View, {
|
|
395
416
|
style: {
|
|
396
417
|
flex: 1,
|
|
397
418
|
justifyContent: 'center',
|
|
@@ -433,9 +454,9 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
433
454
|
newMessagesCount: 0,
|
|
434
455
|
resetNewMessageCounter: () => {}
|
|
435
456
|
},
|
|
436
|
-
typingIndicator:
|
|
437
|
-
usersTyping:
|
|
438
|
-
text: typeof configWithEventHandlers.customTypingIndicator.text === 'function' ? configWithEventHandlers.customTypingIndicator.text(
|
|
457
|
+
typingIndicator: activeRoom?.composing ? configWithEventHandlers?.customTypingIndicator?.customComponent ? /*#__PURE__*/_jsx(configWithEventHandlers.customTypingIndicator.customComponent, {
|
|
458
|
+
usersTyping: activeRoom?.composingList || [],
|
|
459
|
+
text: typeof configWithEventHandlers.customTypingIndicator.text === 'function' ? configWithEventHandlers.customTypingIndicator.text(activeRoom?.composingList || []) : configWithEventHandlers.customTypingIndicator.text || 'Typing...',
|
|
439
460
|
isVisible: true
|
|
440
461
|
}) : null : undefined,
|
|
441
462
|
config: configWithEventHandlers
|
|
@@ -475,13 +496,13 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
475
496
|
onBlur: sendEndComposing,
|
|
476
497
|
isMessageProcessing: isLastMessageFromUserAndProcessing(activeRoomJID)
|
|
477
498
|
})
|
|
478
|
-
}), configWithEventHandlers?.customTypingIndicator?.enabled && (configWithEventHandlers.customTypingIndicator.position === 'overlay' || configWithEventHandlers.customTypingIndicator.position === 'floating') &&
|
|
479
|
-
usersTyping:
|
|
499
|
+
}), configWithEventHandlers?.customTypingIndicator?.enabled && (configWithEventHandlers.customTypingIndicator.position === 'overlay' || configWithEventHandlers.customTypingIndicator.position === 'floating') && activeRoom?.composing && /*#__PURE__*/_jsx(CustomTypingIndicator, {
|
|
500
|
+
usersTyping: activeRoom?.composingList || ['User'],
|
|
480
501
|
text: configWithEventHandlers.customTypingIndicator.text,
|
|
481
502
|
position: configWithEventHandlers.customTypingIndicator.position,
|
|
482
503
|
styles: configWithEventHandlers.customTypingIndicator.styles,
|
|
483
504
|
customComponent: configWithEventHandlers.customTypingIndicator.customComponent,
|
|
484
|
-
isVisible:
|
|
505
|
+
isVisible: activeRoom?.composing || false
|
|
485
506
|
})]
|
|
486
507
|
})
|
|
487
508
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useEffect","useCallback","useRef","ChatContainer","NonRoomChat","useDispatch","MessageList","SendInput","clearReadBoundary","clearVisibleRoom","deleteRoomMessage","setEditAction","setLastViewedTimestamp","setReadBoundary","setVisibleRoom","Loader","useXmppClient","ChatHeader","NoMessagesPlaceholder","NewChatModal","EditWrapper","EmptyChatIllustration","getIconColor","getChatBackgroundColor","ChooseChatMessage","useSendMessage","useRoomInitialization","useRoomState","useChatSettingState","useTheme","isOwnMessage","CustomTypingIndicator","AppState","Keyboard","Platform","View","KeyboardAvoidingView","KeyboardStickyView","useComposing","store","getFlushBoundaryTs","getReadMarkerTimestamp","useSafeAreaInsets","getInputDockPaddingBottom","getKeyboardVerticalOffset","jsx","_jsx","jsxs","_jsxs","ChatRoom","memo","CustomMessageComponent","CustomInputComponent","CustomScrollableArea","CustomDaySeparator","CustomNewMessageLabel","handleBackClick","eventHandlers","propsEventHandlers","client","dispatch","insets","theme","isLoadingMore","setIsLoadingMore","user","config","storeConfig","configWithEventHandlers","useMemo","roomsList","activeRoomJID","editAction","loading","globalLoading","roomMessages","sendMessage","sendMs","sendMedia","sendMessageMedia","sendEditMessage","isLastMessageFromUserAndProcessing","sendStartComposing","sendEndComposing","stickyInputEnabled","disableKeyboardAvoidingView","keyboardStickyInput","onAppStateChange","nextState","dismiss","subscription","addEventListener","remove","message","data","type","loadMoreMessages","chatJID","max","idOfMessageBefore","historyComplete","lastMsgId","Number","messages","length","id","getHistoryStanza","jid","onCloseEdit","isEdit","clientRef","current","lastBoundarySentRef","handleReadBoundaryChange","boundaryTs","next","ts","roomJID","state","getState","rooms","heapState","roomHeapSlice","readBoundaries","timestamp","liveClient","flushLastViewedToPrivateStoreStanza","visibleRoomJID","visibleRoomTs","catch","messageId","Object","keys","children","keyboardVerticalOffset","platform","OS","configuredOffset","bottomInset","bottom","inputDockPaddingBottom","configuredPadding","hostOwnsLayout","noKeyboardHandling","stickyInput","avoidKeyboard","KeyboardWrapper","keyboardWrapperProps","style","flex","behavior","InputDockTag","inputDockProps","paddingBottom","backgroundColor","surface","borderTopLeftRadius","borderTopRightRadius","shadowColor","shadow","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","offset","closed","opened","chatRoomStyles","disableHeader","currentRoom","chatHeaderAdditional","enabled","element","justifyContent","alignItems","color","colors","primary","panelColor","dark","surfaceSecondary","undefined","decoratedMessages","map","msg","idx","showDateLabel","Date","date","toDateString","isLoading","isReply","renderMessage","decorated","isUser","scrollController","scrollToBottom","waitForImagesLoaded","showScrollButton","newMessagesCount","resetNewMessageCounter","typingIndicator","composing","customTypingIndicator","customComponent","usersTyping","composingList","text","isVisible","CustomMessage","onReadBoundaryChange","onClose","onFocus","onBlur","isMessageProcessing","editMessage","position","styles"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatRoom.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","useCallback","useRef","ChatContainer","NonRoomChat","useDispatch","useSelector","useStore","MessageList","SendInput","clearReadBoundary","clearVisibleRoom","deleteRoomMessage","setEditAction","setLastViewedTimestamp","setReadBoundary","setVisibleRoom","Loader","useXmppClient","ChatHeader","NoMessagesPlaceholder","NewChatModal","EditWrapper","EmptyChatIllustration","getIconColor","getChatBackgroundColor","ChooseChatMessage","useSendMessage","useRoomInitialization","useChatSettingState","useTheme","isOwnMessage","CustomTypingIndicator","AppState","Keyboard","Platform","View","KeyboardAvoidingView","KeyboardStickyView","KeyboardInputDock","useComposing","store","getFlushBoundaryTs","getReadMarkerTimestamp","useSafeAreaInsets","getInputDockPaddingBottom","getKeyboardVerticalOffset","getKeyboardAvoidingOffset","getInputDockKeyboardPadding","jsx","_jsx","jsxs","_jsxs","EMPTY_MESSAGES","ChatRoom","memo","CustomMessageComponent","CustomInputComponent","CustomScrollableArea","CustomDaySeparator","CustomNewMessageLabel","handleBackClick","eventHandlers","propsEventHandlers","client","dispatch","insets","theme","isLoadingMore","setIsLoadingMore","user","config","storeConfig","configWithEventHandlers","useMemo","reduxStore","activeRoomJID","state","rooms","activeRoom","undefined","hasRooms","Object","keys","length","editAction","globalLoading","isLoading","loading","roomMessages","messages","sendMessage","sendMs","sendMedia","sendMessageMedia","sendEditMessage","isLastMessageFromUserAndProcessing","sendStartComposing","sendEndComposing","stickyInputEnabled","disableKeyboardAvoidingView","keyboardStickyInput","onAppStateChange","nextState","dismiss","subscription","addEventListener","remove","message","data","type","loadMoreMessages","chatJID","max","idOfMessageBefore","room","getState","historyComplete","lastMsgId","Number","id","getHistoryStanza","jid","onCloseEdit","isEdit","clientRef","current","lastBoundarySentRef","handleReadBoundaryChange","boundaryTs","next","ts","roomJID","heapState","roomHeapSlice","readBoundaries","timestamp","liveClient","flushLastViewedToPrivateStoreStanza","visibleRoomJID","visibleRoomTs","catch","messageId","children","keyboardVerticalOffset","platform","OS","configuredOffset","bottomInset","bottom","inputDockPaddingBottom","configuredPadding","hostOwnsLayout","keyboardAvoidingOffset","inputDockKeyboardPadding","noKeyboardHandling","stickyInput","avoidKeyboard","KeyboardWrapper","keyboardWrapperProps","style","flex","backgroundColor","surface","behavior","collapsingDock","InputDockTag","inputDockProps","paddingBottom","borderTopLeftRadius","borderTopRightRadius","shadowColor","shadow","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","offset","closed","opened","closedPadding","openedPadding","chatRoomStyles","disableHeader","currentRoom","chatHeaderAdditional","enabled","element","justifyContent","alignItems","color","colors","primary","panelColor","dark","surfaceSecondary","decoratedMessages","map","msg","idx","showDateLabel","Date","date","toDateString","isReply","renderMessage","decorated","isUser","scrollController","scrollToBottom","waitForImagesLoaded","showScrollButton","newMessagesCount","resetNewMessageCounter","typingIndicator","composing","customTypingIndicator","customComponent","usersTyping","composingList","text","isVisible","CustomMessage","onReadBoundaryChange","onClose","onFocus","onBlur","isMessageProcessing","editMessage","position","styles"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatRoom.tsx"],"mappings":";;AAAA;;AAEA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,WAAW,EAAEC,MAAM,QAAQ,OAAO;AACvE,SAASC,aAAa,EAAEC,WAAW,QAAQ,4BAA4B;AACvE,SAASC,WAAW,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,aAAa;AAEhE,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,SACEC,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,EACjBC,aAAa,EACbC,sBAAsB,EACtBC,eAAe,EACfC,cAAc,QACT,4BAA4B;AACnC,OAAOC,MAAM,MAAM,kBAAkB;AACrC,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,OAAOC,YAAY,MAAM,qCAAqC;AAC9D,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,qBAAqB,QAAQ,oCAAoC;AAC1E,SAASC,YAAY,QAAQ,4BAA4B;AACzD,SAASC,sBAAsB,QAAQ,iCAAiC;AACxE,SAASC,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,cAAc,QAAQ,4BAA4B;AAG3D,SAASC,qBAAqB,QAAQ,mCAAmC;AACzE,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,YAAY,QAAQ,4BAA4B;AACzD,OAAOC,qBAAqB,MAAM,uDAAuD;AACzF;;AAEA,SACEC,QAAQ,EAERC,QAAQ,EACRC,QAAQ,EAERC,IAAI,QAEC,cAAc;AACrB,SACEC,oBAAoB,EACpBC,kBAAkB,QACb,kCAAkC;AACzC,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,OAAOC,YAAY,MAAM,0BAA0B;AACnD,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SACEC,kBAAkB,EAClBC,sBAAsB,QACjB,sCAAsC;AAC7C,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SACEC,yBAAyB,EACzBC,yBAAyB,EACzBC,yBAAyB,EACzBC,2BAA2B,QACtB,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAYtC,MAAMC,cAA0B,GAAG,EAAE;AAErC,MAAMC,QAAiC,gBAAGxD,KAAK,CAACyD,IAAI,CAClD,CAAC;EACCC,sBAAsB;EACtBC,oBAAoB;EACpBC,oBAAoB;EACpBC,kBAAkB;EAClBC,qBAAqB;EACrBC,eAAe;EACfC,aAAa,EAAEC;AACjB,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAO,CAAC,GAAG9C,aAAa,CAAC,CAAC;EAClC,MAAM+C,QAAQ,GAAG5D,WAAW,CAAC,CAAC;EAC9B,MAAM6D,MAAM,GAAGtB,iBAAiB,CAAC,CAAC;EAClC,MAAMuB,KAAK,GAAGrC,QAAQ,CAAC,CAAC;EAExB,MAAM,CAACsC,aAAa,EAAEC,gBAAgB,CAAC,GAAGtE,QAAQ,CAAU,KAAK,CAAC;EAElE,MAAM;IAAEuE,IAAI;IAAEC,MAAM,EAAEC;EAAY,CAAC,GAAG3C,mBAAmB,CAAC,CAAC;;EAE3D;EACA;EACA,MAAM4C,uBAAuB,GAAG3E,KAAK,CAAC4E,OAAO,CAAC,MAAM;IAClD,IAAIX,kBAAkB,IAAIS,WAAW,EAAE;MACrC,OAAO;QACL,GAAGA,WAAW;QACdV,aAAa,EAAEC;MACjB,CAAC;IACH;IACA,OAAOS,WAAW;EACpB,CAAC,EAAE,CAACA,WAAW,EAAET,kBAAkB,CAAC,CAAC;EAErC,MAAMY,UAAU,GAAGpE,QAAQ,CAAY,CAAC;EACxC,MAAMqE,aAAa,GAAGtE,WAAW,CAC9BuE,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAACF,aACpC,CAAC;EACD,MAAMG,UAAU,GAAGzE,WAAW,CAAEuE,KAAgB,IAC9CD,aAAa,GAAGC,KAAK,CAACC,KAAK,CAACA,KAAK,GAAGF,aAAa,CAAC,GAAGI,SACvD,CAAC;EACD,MAAMC,QAAQ,GAAG3E,WAAW,CACzBuE,KAAgB,IAAKK,MAAM,CAACC,IAAI,CAACN,KAAK,CAACC,KAAK,CAACA,KAAK,IAAI,CAAC,CAAC,CAAC,CAACM,MAAM,GAAG,CACtE,CAAC;EACD,MAAMC,UAAU,GAAG/E,WAAW,CAAEuE,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAACO,UAAU,CAAC;EAC5E,MAAMC,aAAa,GAAGhF,WAAW,CAC9BuE,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAACS,SACpC,CAAC;EACD,MAAMC,OAAO,GAAG,CAAC,CAACT,UAAU,EAAEQ,SAAS;EACvC,MAAME,YAAY,GAAGV,UAAU,EAAEW,QAAQ,IAAIrC,cAAc;EAC3D,MAAM;IACJsC,WAAW,EAAEC,MAAM;IACnBC,SAAS,EAAEC,gBAAgB;IAC3BC,eAAe;IACfC;EACF,CAAC,GAAGrE,cAAc,CAAC8C,uBAAuB,CAAC;EAC3C,MAAM;IAAEwB,kBAAkB;IAAEC;EAAiB,CAAC,GAAG1D,YAAY,CAC3DiC,uBAAuB,IAAID,WAC7B,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM2B,kBAAkB,GACtB,CAAC1B,uBAAuB,EAAE2B,2BAA2B,IACrD,CAAC,CAAC3B,uBAAuB,EAAE4B,mBAAmB;EAChDrG,SAAS,CAAC,MAAM;IACd,IAAI,CAACmG,kBAAkB,EAAE;MACvB;IACF;IACA,MAAMG,gBAAgB,GAAIC,SAAyB,IAAK;MACtD,IAAIA,SAAS,KAAK,YAAY,EAAE;QAC9BrE,QAAQ,CAACsE,OAAO,CAAC,CAAC;MACpB;IACF,CAAC;IACD,MAAMC,YAAY,GAAGxE,QAAQ,CAACyE,gBAAgB,CAAC,QAAQ,EAAEJ,gBAAgB,CAAC;IAC1E,OAAO,MAAMG,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAACR,kBAAkB,CAAC,CAAC;EAExB,MAAMR,WAAW,GAAG1F,WAAW,CAC5B2G,OAAe,IAAK;IACnB,IAAI,CAAChC,aAAa,EAAE;MAClB;IACF;IACAgB,MAAM,CAACgB,OAAO,EAAEhC,aAAa,CAAC;EAChC,CAAC,EACD,CAACA,aAAa,EAAEgB,MAAM,CACxB,CAAC;EAED,MAAMC,SAAS,GAAG5F,WAAW,CAC3B,CAAC4G,IAAS,EAAEC,IAAY,KAAK;IAC3B;IACA;IACA;IACA,OAAOhB,gBAAgB,CAACe,IAAI,EAAEC,IAAI,EAAElC,aAAa,IAAI,EAAE,CAAC;EAC1D,CAAC,EACD,CAACA,aAAa,CAChB,CAAC;EAED,MAAMmC,gBAAgB,GAAG9G,WAAW,CAClC,OAAO+G,OAAe,EAAEC,GAAW,EAAEC,iBAA0B,KAAK;IAClE,MAAMC,IAAI,GAAGxC,UAAU,CAACyC,QAAQ,CAAC,CAAC,CAACtC,KAAK,CAACA,KAAK,GAAGkC,OAAO,CAAC;IACzD,IAAI5C,aAAa,IAAI+C,IAAI,EAAEE,eAAe,EAAE;MAAC;IAAO;IACpD,MAAMC,SAAS,GACb,OAAOJ,iBAAiB,KAAK,QAAQ,GACjCA,iBAAiB,GACjBK,MAAM,CAACJ,IAAI,EAAEzB,QAAQ,GAAG,CAACyB,IAAI,EAAEzB,QAAQ,EAAEN,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAEoC,EAAE,CAAC;IACrEnD,gBAAgB,CAAC,IAAI,CAAC;IACtB,IAAI;MACF;MACA;MACA;MACA;MACA;MACA,MAAML,MAAM,EAAEyD,gBAAgB,CAACT,OAAO,EAAEC,GAAG,EAAEK,SAAS,CAAC;IACzD,CAAC,SAAS;MACRjD,gBAAgB,CAAC,KAAK,CAAC;IACzB;EACF,CAAC;EACD;EACA,CAACL,MAAM,EAAEA,MAAM,EAAE0D,GAAG,EAAEtD,aAAa,EAAEO,UAAU,CACjD,CAAC;EAED,MAAMgD,WAAW,GAAGA,CAAA,KAAM;IACxB1D,QAAQ,CAACpD,aAAa,CAAC;MAAE+G,MAAM,EAAE;IAAM,CAAC,CAAC,CAAC;EAC5C,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,SAAS,GAAG3H,MAAM,CAAC8D,MAAM,CAAC;EAChChE,SAAS,CAAC,MAAM;IACd6H,SAAS,CAACC,OAAO,GAAG9D,MAAM;EAC5B,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;;EAEZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM+D,mBAAmB,GAAG7H,MAAM,CAAgB,IAAI,CAAC;EACvD,MAAM8H,wBAAwB,GAAG/H,WAAW,CAAEgI,UAAyB,IAAK;IAC1E,IAAI,CAACrD,aAAa,EAAE;MAClB;IACF;IACA,MAAMsD,IAAI,GAAGD,UAAU,IAAIA,UAAU,GAAG,CAAC,GAAGA,UAAU,GAAG,IAAI;IAC7D,IAAIF,mBAAmB,CAACD,OAAO,KAAKI,IAAI,EAAE;MACxC;IACF;IACAH,mBAAmB,CAACD,OAAO,GAAGI,IAAI;IAClCjE,QAAQ,CAAClD,eAAe,CAAC;MAAE2G,GAAG,EAAE9C,aAAa;MAAEuD,EAAE,EAAED;IAAK,CAAC,CAAC,CAAC;EAC7D,CAAC,EAAE,CAACtD,aAAa,EAAEX,QAAQ,CAAC,CAAC;EAE7BjE,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4E,aAAa,EAAE;MAClB;IACF;IAEAmD,mBAAmB,CAACD,OAAO,GAAG,IAAI;IAClC7D,QAAQ,CAAClD,eAAe,CAAC;MAAE2G,GAAG,EAAE9C,aAAa;MAAEuD,EAAE,EAAE;IAAK,CAAC,CAAC,CAAC;IAC3DlE,QAAQ,CAACjD,cAAc,CAAC;MAAEoH,OAAO,EAAExD;IAAc,CAAC,CAAC,CAAC;IACpDP,gBAAgB,CAAC,KAAK,CAAC;IACvB,OAAO,MAAM;MACX,MAAMQ,KAAK,GAAGpC,KAAK,CAAC2E,QAAQ,CAAC,CAAC;MAC9B,MAAMtC,KAAK,GAAGD,KAAK,CAACC,KAAK,EAAEA,KAAK;MAChC,MAAMuD,SAAS,GAAGxD,KAAK,CAACyD,aAAa;MACrC,MAAML,UAAU,GAAGpD,KAAK,CAACC,KAAK,EAAEyD,cAAc,GAAG3D,aAAa,CAAC,IAAI,IAAI;MACvE;MACA;MACA;MACA;MACA;MACA,MAAM4D,SAAS,GAAG7F,sBAAsB,CACtCmC,KAAK,GAAGF,aAAa,CAAC,EACtByD,SAAS,EACTJ,UACF,CAAC;MACD,IAAIO,SAAS,GAAG,CAAC,EAAE;QACjBvE,QAAQ,CACNnD,sBAAsB,CAAC;UACrBkG,OAAO,EAAEpC,aAAa;UACtB4D;QACF,CAAC,CACH,CAAC;MACH;MACAvE,QAAQ,CAACtD,gBAAgB,CAAC,CAAC,CAAC;MAC5B,MAAM8H,UAAU,GAAGZ,SAAS,CAACC,OAAO;MACpC,IAAIW,UAAU,EAAE;QACdA,UAAU,CACPC,mCAAmC,CAAC5D,KAAK,EAAE;UAC1C6D,cAAc,EAAE/D,aAAa;UAC7B;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACAgE,aAAa,EAAElG,kBAAkB,CAC/BoC,KAAK,GAAGF,aAAa,CAAC,EACtByD,SAAS,EACTJ,UACF;QACF,CAAC,CAAC,CACDY,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MACpB;MACA5E,QAAQ,CAACrD,iBAAiB,CAAC;QAAEwH,OAAO,EAAExD,aAAa;QAAEkE,SAAS,EAAE;MAAgB,CAAC,CAAC,CAAC;MACnF;MACA;MACA;MACA;MACA7E,QAAQ,CAACvD,iBAAiB,CAAC;QAAEgH,GAAG,EAAE9C;MAAc,CAAC,CAAC,CAAC;MACnDmD,mBAAmB,CAACD,OAAO,GAAG,IAAI;MAClCzD,gBAAgB,CAAC,KAAK,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,CAACO,aAAa,EAAEX,QAAQ,CAAC,CAAC;;EAE7B;EACA;;EAEArC,qBAAqB,CACnBgD,aAAa,IAAI,EAAE,EAClBH,uBAAuB,IAAID,WAAW,IAAI,CAAC,CAC9C,CAAC;EAED,IAAI,CAACS,QAAQ,IAAI,CAACO,OAAO,IAAI,CAACF,aAAa,EAAE;IAC3C,oBACEpC,IAAA,CAAC9C,WAAW;MAAA2I,QAAA,eAEV7F,IAAA,CAAC7B,YAAY,IAAE;IAAC,CACL,CAAC;EAElB;EAEA,IAAI,CAACuD,aAAa,IAAI,CAACG,UAAU,EAAE;IACjC,oBAAO7B,IAAA,CAACxB,iBAAiB,IAAE,CAAC;EAC9B;EAEA,MAAMsH,sBAAsB,GAAGlG,yBAAyB,CAAC;IACvDmG,QAAQ,EAAE9G,QAAQ,CAAC+G,EAAE;IACrBC,gBAAgB,EAAE1E,uBAAuB,EAAEuE,sBAAsB,IAAI,CAAC;IACtEI,WAAW,EAAElF,MAAM,CAACmF;EACtB,CAAC,CAAC;EACF,MAAMC,sBAAsB,GAAGzG,yBAAyB,CAAC;IACvDoG,QAAQ,EAAE9G,QAAQ,CAAC+G,EAAE;IACrBE,WAAW,EAAElF,MAAM,CAACmF,MAAM;IAC1BE,iBAAiB,EAAE9E,uBAAuB,EAAE6E,sBAAsB;IAClEE,cAAc,EAAE,CAAC,CAAC/E,uBAAuB,EAAE2B;EAC7C,CAAC,CAAC;EACF,MAAMqD,sBAAsB,GAAG1G,yBAAyB,CAAC;IACvDoG,gBAAgB,EAAE1E,uBAAuB,EAAEuE,sBAAsB,IAAI;EACvE,CAAC,CAAC;EACF,MAAMU,wBAAwB,GAAG1G,2BAA2B,CAAC;IAC3DiG,QAAQ,EAAE9G,QAAQ,CAAC+G,EAAE;IACrBI;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMK,kBAAkB,GACtB,CAAC,CAAClF,uBAAuB,EAAE2B,2BAA2B;EACxD,MAAMwD,WAAW,GACf,CAACD,kBAAkB,IAAI,CAAC,CAAClF,uBAAuB,EAAE4B,mBAAmB;EACvE,MAAMwD,aAAa,GAAG,CAACF,kBAAkB,IAAI,CAACC,WAAW;EACzD,MAAME,eAAyC,GAAGD,aAAa,GAC3DxH,oBAAoB,GACpBD,IAAI;EACR,MAAM2H,oBAAoB,GAAGF,aAAa,GACtC;IACE;IACA;IACA;IACAG,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAEC,eAAe,EAAE/F,KAAK,CAACgG;IAAQ,CAAC;IAClDC,QAAQ,EAAE,SAAkB;IAC5BpB,sBAAsB,EAAES;EAC1B,CAAC,GACD;IAAEO,KAAK,EAAE;MAAEC,IAAI,EAAE;IAAE;EAAE,CAAC;EAC1B;EACA;EACA;EACA;EACA;EACA,MAAMI,cAAc,GAClBR,aAAa,IAAIH,wBAAwB,KAAKJ,sBAAsB;EACtE,MAAMgB,YAAsC,GAAGV,WAAW,GACtDtH,kBAAkB,GAClB+H,cAAc,GACZ9H,iBAAiB,GACjBH,IAAI;EACV,MAAMmI,cAAmB,GAAG;IAC1B;IACA;IACA;IACAP,KAAK,EAAE;MACLQ,aAAa,EAAElB,sBAAsB;MACrCY,eAAe,EAAE/F,KAAK,CAACgG,OAAO;MAC9BM,mBAAmB,EAAE,EAAE;MACvBC,oBAAoB,EAAE,EAAE;MACxBC,WAAW,EAAExG,KAAK,CAACyG,MAAM;MACzBC,YAAY,EAAE;QAAEC,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE,CAAC;MAAE,CAAC;MACtCC,aAAa,EAAE,IAAI;MACnBC,YAAY,EAAE,EAAE;MAChBC,SAAS,EAAE;IACb,CAAC;IACD,IAAItB,WAAW,GACX;MAAEuB,MAAM,EAAE;QAAEC,MAAM,EAAE,CAAC;QAAEC,MAAM,EAAErC;MAAuB;IAAE,CAAC,GACzD,CAAC,CAAC,CAAC;IACP,IAAIqB,cAAc,GACd;MACEiB,aAAa,EAAEhC,sBAAsB;MACrCiC,aAAa,EAAE7B;IACjB,CAAC,GACD,CAAC,CAAC;EACR,CAAC;EAED,oBACExG,IAAA,CAAC4G,eAAe;IAAA,GAAKC,oBAAoB;IAAAhB,QAAA,eACvC3F,KAAA,CAACjD;IACC;IACA;IACA;IAAA;MACA6J,KAAK,EAAE,CACL;QAAEE,eAAe,EAAEzI,sBAAsB,CAACgD,uBAAuB;MAAE,CAAC,EACpEA,uBAAuB,EAAE+G,cAAc,CAGvC;MAAAzC,QAAA,GAED,CAACtE,uBAAuB,EAAEgH,aAAa,iBACtCvI,IAAA,CAAC/B,UAAU;QACTuK,WAAW,EAAE3G,UAAW;QACxBlB,eAAe,EAAEA;MAAgB,CAClC,CACF,EACAY,uBAAuB,EAAEkH,oBAAoB,EAAEC,OAAO,IACrDnH,uBAAuB,CAACkH,oBAAoB,CAACE,OAAO,CAAC,CAAC,eACxD3I,IAAA,CAACd,IAAI;QAAC4H,KAAK,EAAE;UAAEC,IAAI,EAAE;QAAE,CAAE;QAAAlB,QAAA,EACtBvD,OAAO,IAAIF,aAAa,gBACvBpC,IAAA,CAACd,IAAI;UACH4H,KAAK,EAAE;YACLC,IAAI,EAAE,CAAC;YACP6B,cAAc,EAAE,QAAQ;YACxBC,UAAU,EAAE;UACd,CAAE;UAAAhD,QAAA,eAEF7F,IAAA,CAACjC,MAAM;YAAC+K,KAAK,EAAEvH,uBAAuB,EAAEwH,MAAM,EAAEC;UAAQ,CAAE;QAAC,CACvD,CAAC,GACL,CAACjH,QAAQ,IAAI,CAACL,aAAa,gBAC7B1B,IAAA,CAACd,IAAI;UACH4H,KAAK,EAAE;YACLC,IAAI,EAAE,CAAC;YACP6B,cAAc,EAAE,QAAQ;YACxBC,UAAU,EAAE;UACd,CAAE;UAAAhD,QAAA,eAEF7F,IAAA,CAAC3B,qBAAqB;YACpByK,KAAK,EAAExK,YAAY,CAACiD,uBAAuB,CAAE;YAC7C0H,UAAU,EAAEhI,KAAK,CAACiI,IAAI,GAAGjI,KAAK,CAACkI,gBAAgB,GAAGrH;UAAU,CAC7D;QAAC,CACE,CAAC,GACL,CAACS,YAAY,IAAIA,YAAY,CAACL,MAAM,KAAK,CAAC,gBAC5ClC,IAAA,CAACd,IAAI;UACH4H,KAAK,EAAE;YACLC,IAAI,EAAE,CAAC;YACP6B,cAAc,EAAE,QAAQ;YACxBC,UAAU,EAAE,QAAQ;YACpB;YACA;YACA7B,eAAe,EAAEzI,sBAAsB,CACrCgD,uBACF;UACF,CAAE;UAAAsE,QAAA,eAEF7F,IAAA,CAAC9B,qBAAqB,IAAE;QAAC,CACrB,CAAC,GACLsC,oBAAoB,gBACtBR,IAAA,CAACQ,oBAAoB;UACnB0E,OAAO,EAAExD,aAAc;UACvBc,QAAQ,EAAED,YAAa;UACvB6G,iBAAiB,EAAE7G,YAAY,CAAC8G,GAAG,CAAC,CAACC,GAAG,EAAEC,GAAG,MAAM;YACjD7F,OAAO,EAAE4F,GAAG;YACZE,aAAa,EACXD,GAAG,KAAK,CAAC,IACT,IAAIE,IAAI,CAACH,GAAG,CAACI,IAAI,CAAC,CAACC,YAAY,CAAC,CAAC,KAC/B,IAAIF,IAAI,CAAClH,YAAY,CAACgH,GAAG,GAAG,CAAC,CAAC,EAAEG,IAAI,CAAC,CAACC,YAAY,CAAC;UACzD,CAAC,CAAC,CAAE;UACJtH,SAAS,EAAEnB,aAAc;UACzB0I,OAAO,EAAE,KAAM;UACf/F,gBAAgB,EAAEA,gBAAiB;UACnCgG,aAAa,EAAGC,SAGf,IACCxJ,sBAAsB,gBACpBN,IAAA,CAACM,sBAAsB;YACrBoD,OAAO,EAAEoG,SAAS,CAACpG,OAAQ;YAC3BqG,MAAM,EAAElL,YAAY,CAACiL,SAAS,CAACpG,OAAO,EAAEtC,IAAI,CAAE;YAC9CwI,OAAO,EAAE;UAAM,CAChB,CAAC,GACA,IACL;UACDI,gBAAgB,EAAE;YAChBC,cAAc,EAAEA,CAAA,KAAM,CAAC,CAAC;YACxBC,mBAAmB,EAAE,MAAAA,CAAA,KAAY,CAAC,CAAC;YACnCC,gBAAgB,EAAE,KAAK;YACvBC,gBAAgB,EAAE,CAAC;YACnBC,sBAAsB,EAAEA,CAAA,KAAM,CAAC;UACjC,CAAE;UACFC,eAAe,EACbzI,UAAU,EAAE0I,SAAS,GACnBhJ,uBAAuB,EAAEiJ,qBAAqB,EAC1CC,eAAe,gBACjBzK,IAAA,CAACuB,uBAAuB,CAACiJ,qBAAqB,CAACC,eAAe;YAC5DC,WAAW,EACT7I,UAAU,EAAE8I,aAAa,IAAI,EAC9B;YACDC,IAAI,EACF,OAAOrJ,uBAAuB,CAACiJ,qBAAqB,CACjDI,IAAI,KAAK,UAAU,GAClBrJ,uBAAuB,CAACiJ,qBAAqB,CAACI,IAAI,CAChD/I,UAAU,EAAE8I,aAAa,IAAI,EAC/B,CAAC,GACDpJ,uBAAuB,CAACiJ,qBAAqB,CAC1CI,IAAI,IAAI,WAChB;YACDC,SAAS,EAAE;UAAK,CACjB,CAAC,GACA,IAAI,GACN/I,SACL;UACDT,MAAM,EAAEE;QAAwB,CACjC,CAAC,gBAEFvB,IAAA,CAAC1C,WAAW;UACVuG,gBAAgB,EAAEA,gBAAiB;UACnCiH,aAAa,EAAExK,sBAAuB;UACtCG,kBAAkB,EAAEA,kBAAmB;UACvCC,qBAAqB,EAAEA,qBAAsB;UAC7CU,IAAI,EAAEA,IAAK;UACX8D,OAAO,EAAExD,aAAc;UACvBL,MAAM,EAAEE,uBAAwB;UAChCe,OAAO,EAAEpB,aAAc;UACvB0I,OAAO,EAAE,KAAM;UACfmB,oBAAoB,EAAEjG;QAAyB,CAChD;MACF,CACG,CAAC,EACN3C,UAAU,IAAIA,UAAU,CAACuC,MAAM,iBAC9B1E,IAAA,CAAC5B,WAAW;QAACwM,IAAI,EAAEzI,UAAU,CAACyI,IAAI,IAAI,EAAG;QAACI,OAAO,EAAEvG;MAAY,CAAE,CAClE,eACDzE,IAAA,CAACoH,YAAY;QAAA,GAAKC,cAAc;QAAAxB,QAAA,EAC7BtF,oBAAoB,gBACnBP,IAAA,CAACO,oBAAoB;UACnBkC,WAAW,EACTN,UAAU,IAAIA,UAAU,CAACuC,MAAM,GAAG7B,eAAe,GAAGJ,WACrD;UACDE,SAAS,EAAEA,SAAU;UACrBtB,MAAM,EAAEE,uBAAwB;UAChCc,SAAS,EAAEC,OAAQ;UACnB2I,OAAO,EAAElI,kBAAmB;UAC5BmI,MAAM,EAAElI,gBAAiB;UACzBmI,mBAAmB,EAAErI,kCAAkC,CACrDpB,aACF,CAAE;UACF0J,WAAW,EAAEjJ,UAAU,IAAIA,UAAU,CAACyI;QAAK,CAC5C,CAAC,gBAEF5K,IAAA,CAACzC,SAAS;UACR6N,WAAW,EAAEjJ,UAAU,IAAIA,UAAU,CAACyI,IAAK;UAC3CnI,WAAW,EACTN,UAAU,IAAIA,UAAU,CAACuC,MAAM,GAAG7B,eAAe,GAAGJ,WACrD;UACDE,SAAS,EAAEA,SAAU;UACrBtB,MAAM,EAAEE,uBAAwB;UAChCc,SAAS,EAAEC,OAAQ;UACnB2I,OAAO,EAAElI,kBAAmB;UAC5BmI,MAAM,EAAElI,gBAAiB;UACzBmI,mBAAmB,EAAErI,kCAAkC,CACrDpB,aACF;QAAE,CACH;MACF,CACW,CAAC,EAEdH,uBAAuB,EAAEiJ,qBAAqB,EAAE9B,OAAO,KACrDnH,uBAAuB,CAACiJ,qBAAqB,CAACa,QAAQ,KACrD,SAAS,IACT9J,uBAAuB,CAACiJ,qBAAqB,CAACa,QAAQ,KACpD,UAAU,CAAC,IACfxJ,UAAU,EAAE0I,SAAS,iBACnBvK,IAAA,CAAClB,qBAAqB;QACpB4L,WAAW,EACT7I,UAAU,EAAE8I,aAAa,IAAI,CAAC,MAAM,CACrC;QACDC,IAAI,EAAErJ,uBAAuB,CAACiJ,qBAAqB,CAACI,IAAK;QACzDS,QAAQ,EACN9J,uBAAuB,CAACiJ,qBAAqB,CAACa,QAC/C;QACDC,MAAM,EAAE/J,uBAAuB,CAACiJ,qBAAqB,CAACc,MAAO;QAC7Db,eAAe,EACblJ,uBAAuB,CAACiJ,qBAAqB,CAACC,eAC/C;QACDI,SAAS,EAAEhJ,UAAU,EAAE0I,SAAS,IAAI;MAAM,CAC3C,CACF;IAAA,CACU;EAAC,CACD,CAAC;AAEtB,CACF,CAAC;AAED,eAAenK,QAAQ","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import { useDispatch, useSelector } from 'react-redux';
|
|
5
5
|
import ChatRoom from './ChatRoom';
|
|
6
|
+
import { RoomStack } from './RoomStack';
|
|
6
7
|
import { setActiveModal, setConfig, setDeleteModal, setLangSource, setStoreClient } from '../../roomStore/chatSettingsSlice';
|
|
7
8
|
import { resolveExternalReaderLocaleLangSource, resolveLegacyTranslatesLangSource } from '../../helpers/resolveLangSource';
|
|
8
9
|
import { ChatWrapperBox } from '../styled/ChatWrapperBox';
|
|
@@ -17,11 +18,12 @@ import { refreshAuthTokensQuietly } from '../../networking/authRefresh';
|
|
|
17
18
|
import RoomList from './RoomList';
|
|
18
19
|
import { StyledLoaderWrapper } from '../styled/StyledComponents';
|
|
19
20
|
import Modal from '../Modals/Modal/Modal';
|
|
21
|
+
import ThreadWrapper from '../Thread/ThreadWrapper';
|
|
20
22
|
import { ModalWrapper } from '../Modals/ModalWrapper/ModalWrapper';
|
|
21
23
|
import { useChatSettingState } from '../../hooks/useChatSettingState';
|
|
22
24
|
import { useTheme } from '../../hooks/useTheme';
|
|
23
25
|
import { usePendingNotification } from '../../hooks/usePendingNotification';
|
|
24
|
-
import { DeviceEventEmitter, Pressable, Text, View } from 'react-native';
|
|
26
|
+
import { DeviceEventEmitter, Keyboard, Pressable, Text, View } from 'react-native';
|
|
25
27
|
import { pushLog as devPushLog } from '../../utils/devLogger';
|
|
26
28
|
import { normalizeRoomJid } from '../../helpers/normalizeRoomJid';
|
|
27
29
|
import { buildSeedRoom } from '../../helpers/buildSeedRoom';
|
|
@@ -43,6 +45,10 @@ const ChatWrapper = ({
|
|
|
43
45
|
} = useChatSettingState();
|
|
44
46
|
usePendingNotification();
|
|
45
47
|
const theme = useTheme();
|
|
48
|
+
const roomStackRef = useRef(null);
|
|
49
|
+
// Stable, so ChatRoom's React.memo holds across this root's re-renders.
|
|
50
|
+
// (A hook: must stay above the early LoginForm return.)
|
|
51
|
+
const popRoom = useCallback(() => roomStackRef.current?.pop(), []);
|
|
46
52
|
const [isInited, setInited] = useState(false);
|
|
47
53
|
const [showModal, setShowModal] = useState(false);
|
|
48
54
|
const [errorMsg, setErrorMsg] = useState(null);
|
|
@@ -61,15 +67,10 @@ const ChatWrapper = ({
|
|
|
61
67
|
providerBootstrapStatus,
|
|
62
68
|
initMode
|
|
63
69
|
} = useXmppClient();
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const activeMessage = useMemo(() => {
|
|
69
|
-
if (activeRoomJID) {
|
|
70
|
-
return rooms[activeRoomJID]?.messages?.find(message => message?.activeMessage);
|
|
71
|
-
}
|
|
72
|
-
}, [rooms, activeRoomJID]);
|
|
70
|
+
const rooms = useSelector(state => state.rooms.rooms);
|
|
71
|
+
const activeRoomJID = useSelector(state => state.rooms.activeRoomJID);
|
|
72
|
+
const activeRoomMessages = useSelector(state => activeRoomJID ? state.rooms.rooms[activeRoomJID]?.messages : undefined);
|
|
73
|
+
const activeMessage = useMemo(() => activeRoomMessages?.find(message => message?.activeMessage), [activeRoomMessages]);
|
|
73
74
|
const handleChangeChat = chat => {
|
|
74
75
|
dispatch(setCurrentRoom({
|
|
75
76
|
roomJID: chat.jid
|
|
@@ -101,6 +102,14 @@ const ChatWrapper = ({
|
|
|
101
102
|
}));
|
|
102
103
|
};
|
|
103
104
|
|
|
105
|
+
// A modal (chat profile, user profile, ...) covers the chat, so the
|
|
106
|
+
// composer's keyboard must not stay open on top of it.
|
|
107
|
+
useEffect(() => {
|
|
108
|
+
if (activeModal) {
|
|
109
|
+
Keyboard.dismiss();
|
|
110
|
+
}
|
|
111
|
+
}, [activeModal]);
|
|
112
|
+
|
|
104
113
|
// A host drives the reader's language from OUTSIDE the component through
|
|
105
114
|
// `config.translates.readerLocale` (their own switcher, or the testbed's
|
|
106
115
|
// Setup tab). Nothing was syncing it into `langSource`, so pinning it only
|
|
@@ -349,6 +358,21 @@ const ChatWrapper = ({
|
|
|
349
358
|
// user picks one; then show the chat with a back button to return to
|
|
350
359
|
// the list. With `roomJID` or `disableRooms`, skip the list entirely.
|
|
351
360
|
const showRoomList = !config?.disableRooms && !roomJID && !activeRoomJID;
|
|
361
|
+
// List mode: the room is pushed over the list and can be swiped back
|
|
362
|
+
// (RoomStack). With `roomJID` / `disableRooms` there is no list to return to.
|
|
363
|
+
const listMode = !config?.disableRooms && !roomJID;
|
|
364
|
+
|
|
365
|
+
// The open thread, over the room (a message with `activeMessage` set).
|
|
366
|
+
const threadView = activeMessage ? /*#__PURE__*/_jsx(ThreadWrapper, {
|
|
367
|
+
activeMessage: activeMessage,
|
|
368
|
+
user: user,
|
|
369
|
+
customMessageComponent: CustomMessageComponent || Message
|
|
370
|
+
}, activeMessage.id) : null;
|
|
371
|
+
const backToList = () => {
|
|
372
|
+
dispatch(setCurrentRoom({
|
|
373
|
+
roomJID: ''
|
|
374
|
+
}));
|
|
375
|
+
};
|
|
352
376
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
353
377
|
children: [showModal && config?.disableConnectionErrorOverlay && /*#__PURE__*/_jsx(ConnectionBanner, {}), showModal && !config?.disableConnectionErrorOverlay && /*#__PURE__*/_jsx(Overlay, {
|
|
354
378
|
children: /*#__PURE__*/_jsxs(View, {
|
|
@@ -408,21 +432,34 @@ const ChatWrapper = ({
|
|
|
408
432
|
...MainComponentStyles
|
|
409
433
|
},
|
|
410
434
|
children: [/*#__PURE__*/_jsx(InteractionsOverlayProvider, {
|
|
411
|
-
children:
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
435
|
+
children: listMode ? /*#__PURE__*/_jsx(RoomStack, {
|
|
436
|
+
ref: roomStackRef,
|
|
437
|
+
onBack: backToList,
|
|
438
|
+
roomBackground: theme.chatBackground
|
|
439
|
+
// An open modal covers the room: back must not pull the
|
|
440
|
+
// room out from under it.
|
|
441
|
+
,
|
|
442
|
+
hardwareBack: !activeModal,
|
|
443
|
+
list: /*#__PURE__*/_jsx(RoomList, {
|
|
444
|
+
chats: Object.values(rooms),
|
|
445
|
+
onRoomClick: handleChangeChat
|
|
446
|
+
}),
|
|
447
|
+
room: showRoomList ? null : /*#__PURE__*/_jsxs(ChatWrapperBox, {
|
|
448
|
+
style: {
|
|
449
|
+
...MainComponentStyles
|
|
450
|
+
},
|
|
451
|
+
children: [/*#__PURE__*/_jsx(ChatRoom, {
|
|
452
|
+
CustomMessageComponent: CustomMessageComponent || Message,
|
|
453
|
+
handleBackClick: popRoom
|
|
454
|
+
}), threadView]
|
|
455
|
+
})
|
|
456
|
+
}) : /*#__PURE__*/_jsxs(ChatWrapperBox, {
|
|
415
457
|
style: {
|
|
416
458
|
...MainComponentStyles
|
|
417
459
|
},
|
|
418
|
-
children: /*#__PURE__*/_jsx(ChatRoom, {
|
|
419
|
-
CustomMessageComponent: CustomMessageComponent || Message
|
|
420
|
-
|
|
421
|
-
dispatch(setCurrentRoom({
|
|
422
|
-
roomJID: ''
|
|
423
|
-
}));
|
|
424
|
-
}
|
|
425
|
-
})
|
|
460
|
+
children: [/*#__PURE__*/_jsx(ChatRoom, {
|
|
461
|
+
CustomMessageComponent: CustomMessageComponent || Message
|
|
462
|
+
}), threadView]
|
|
426
463
|
})
|
|
427
464
|
}), /*#__PURE__*/_jsx(Modal, {
|
|
428
465
|
modal: activeModal,
|