@sendbird/uikit-react-native 2.5.0 → 3.0.0-rc.0
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 +6 -1
- package/lib/commonjs/components/{MessageRenderer/MessageTime.js → ChannelInput/AttachmentsButton.js} +20 -17
- package/lib/commonjs/components/ChannelInput/AttachmentsButton.js.map +1 -0
- package/lib/commonjs/components/ChannelInput/EditInput.js +10 -18
- package/lib/commonjs/components/ChannelInput/EditInput.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/SendInput.js +220 -163
- package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/index.js +5 -3
- package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
- package/lib/commonjs/components/ChannelMessageList/index.js +27 -27
- package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
- package/lib/commonjs/components/ChatFlatList.js +18 -6
- package/lib/commonjs/components/ChatFlatList.js.map +1 -1
- package/lib/commonjs/components/{MessageRenderer/MessageDateSeparator.js → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js} +3 -3
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +47 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -0
- package/lib/commonjs/components/{MessageRenderer/MessageOutgoingStatus.js → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js} +11 -14
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +204 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -0
- package/lib/commonjs/components/MessageSearchResultItem.js +3 -2
- package/lib/commonjs/components/MessageSearchResultItem.js.map +1 -1
- package/lib/commonjs/components/OpenChannelMessageRenderer/index.js +15 -9
- package/lib/commonjs/components/OpenChannelMessageRenderer/index.js.map +1 -1
- package/lib/commonjs/constants.js +1 -7
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js +13 -13
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +29 -19
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/SendbirdChatCtx.js +17 -14
- package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/commonjs/contexts/UserProfileCtx.js +6 -4
- package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js +4 -13
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +10 -6
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +3 -3
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -10
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js +4 -8
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js.map +1 -1
- package/lib/commonjs/domain/openChannel/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js +3 -1
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/types.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +1 -1
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +22 -100
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +1 -1
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelListFragment.js +8 -13
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/commonjs/fragments/createMessageSearchFragment.js +2 -2
- package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelFragment.js +1 -7
- package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelListFragment.js +2 -1
- package/lib/commonjs/fragments/createOpenChannelListFragment.js.map +1 -1
- package/lib/commonjs/hooks/useConnection.js +11 -7
- package/lib/commonjs/hooks/useConnection.js.map +1 -1
- package/lib/commonjs/hooks/useMentionTextInput.js +3 -2
- package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -1
- package/lib/commonjs/index.js +20 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/libs/MentionManager.js +8 -9
- package/lib/commonjs/libs/MentionManager.js.map +1 -1
- package/lib/commonjs/libs/SBUUtils.js +7 -3
- package/lib/commonjs/libs/SBUUtils.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- package/lib/commonjs/localization/createBaseStringSet.js +20 -62
- package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
- package/lib/module/components/ChannelInput/AttachmentsButton.js +29 -0
- package/lib/module/components/ChannelInput/AttachmentsButton.js.map +1 -0
- package/lib/module/components/ChannelInput/EditInput.js +10 -18
- package/lib/module/components/ChannelInput/EditInput.js.map +1 -1
- package/lib/module/components/ChannelInput/SendInput.js +221 -164
- package/lib/module/components/ChannelInput/SendInput.js.map +1 -1
- package/lib/module/components/ChannelInput/index.js +5 -3
- package/lib/module/components/ChannelInput/index.js.map +1 -1
- package/lib/module/components/ChannelMessageList/index.js +28 -28
- package/lib/module/components/ChannelMessageList/index.js.map +1 -1
- package/lib/module/components/ChatFlatList.js +17 -5
- package/lib/module/components/ChatFlatList.js.map +1 -1
- package/lib/module/components/{MessageRenderer/MessageDateSeparator.js → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js} +3 -3
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -0
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +38 -0
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -0
- package/lib/module/components/{MessageRenderer/MessageOutgoingStatus.js → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js} +12 -15
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -0
- package/lib/module/components/GroupChannelMessageRenderer/index.js +196 -0
- package/lib/module/components/GroupChannelMessageRenderer/index.js.map +1 -0
- package/lib/module/components/MessageSearchResultItem.js +2 -1
- package/lib/module/components/MessageSearchResultItem.js.map +1 -1
- package/lib/module/components/OpenChannelMessageRenderer/index.js +16 -10
- package/lib/module/components/OpenChannelMessageRenderer/index.js.map +1 -1
- package/lib/module/constants.js +0 -5
- package/lib/module/constants.js.map +1 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js +13 -13
- package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +29 -19
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/contexts/SendbirdChatCtx.js +17 -14
- package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/module/contexts/UserProfileCtx.js +6 -4
- package/lib/module/contexts/UserProfileCtx.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput.js +4 -13
- package/lib/module/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
- package/lib/module/domain/groupChannel/types.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +9 -4
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +3 -3
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/module/domain/groupChannelList/types.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -10
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/module/domain/openChannel/component/OpenChannelInput.js +4 -8
- package/lib/module/domain/openChannel/component/OpenChannelInput.js.map +1 -1
- package/lib/module/domain/openChannel/types.js.map +1 -1
- package/lib/module/domain/openChannelList/component/OpenChannelListList.js +3 -1
- package/lib/module/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
- package/lib/module/domain/openChannelList/types.js.map +1 -1
- package/lib/module/fragments/createGroupChannelCreateFragment.js +1 -1
- package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +24 -102
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelInviteFragment.js +1 -1
- package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelListFragment.js +8 -13
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/module/fragments/createMessageSearchFragment.js +1 -1
- package/lib/module/fragments/createMessageSearchFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelFragment.js +2 -8
- package/lib/module/fragments/createOpenChannelFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelListFragment.js +2 -1
- package/lib/module/fragments/createOpenChannelListFragment.js.map +1 -1
- package/lib/module/hooks/useConnection.js +11 -7
- package/lib/module/hooks/useConnection.js.map +1 -1
- package/lib/module/hooks/useMentionTextInput.js +3 -2
- package/lib/module/hooks/useMentionTextInput.js.map +1 -1
- package/lib/module/index.js +5 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/libs/MentionManager.js +8 -9
- package/lib/module/libs/MentionManager.js.map +1 -1
- package/lib/module/libs/SBUUtils.js +7 -3
- package/lib/module/libs/SBUUtils.js.map +1 -1
- package/lib/module/localization/StringSet.type.js.map +1 -1
- package/lib/module/localization/createBaseStringSet.js +20 -62
- package/lib/module/localization/createBaseStringSet.js.map +1 -1
- package/lib/typescript/src/components/ChannelInput/AttachmentsButton.d.ts +6 -0
- package/lib/typescript/src/components/ChannelInput/index.d.ts +2 -14
- package/lib/typescript/src/components/ChannelMessageList/index.d.ts +2 -4
- package/lib/typescript/src/components/ChatFlatList.d.ts +1 -5
- package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.d.ts +6 -0
- package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.d.ts +5 -0
- package/lib/typescript/src/components/{MessageRenderer/MessageOutgoingStatus.d.ts → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.d.ts} +3 -1
- package/lib/typescript/src/components/{MessageRenderer → GroupChannelMessageRenderer}/index.d.ts +2 -13
- package/lib/typescript/src/components/MessageSearchResultItem.d.ts +2 -1
- package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +1 -1
- package/lib/typescript/src/constants.d.ts +0 -5
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +15 -10
- package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +33 -19
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +1 -4
- package/lib/typescript/src/domain/groupChannel/types.d.ts +2 -9
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListList.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelList/types.d.ts +8 -23
- package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/component/OpenChannelInput.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/types.d.ts +2 -2
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelList/types.d.ts +3 -12
- package/lib/typescript/src/index.d.ts +4 -1
- package/lib/typescript/src/libs/MentionManager.d.ts +4 -5
- package/lib/typescript/src/libs/SBUUtils.d.ts +1 -1
- package/lib/typescript/src/localization/StringSet.type.d.ts +2 -43
- package/package.json +13 -10
- package/src/components/ChannelInput/AttachmentsButton.tsx +32 -0
- package/src/components/ChannelInput/EditInput.tsx +17 -18
- package/src/components/ChannelInput/SendInput.tsx +237 -181
- package/src/components/ChannelInput/index.tsx +8 -21
- package/src/components/ChannelMessageList/index.tsx +33 -41
- package/src/components/ChatFlatList.tsx +39 -13
- package/src/components/{MessageRenderer/MessageDateSeparator.tsx → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.tsx} +7 -5
- package/src/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.tsx +29 -0
- package/src/components/{MessageRenderer/MessageOutgoingStatus.tsx → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.tsx} +15 -15
- package/src/components/GroupChannelMessageRenderer/index.tsx +203 -0
- package/src/components/MessageSearchResultItem.tsx +3 -1
- package/src/components/OpenChannelMessageRenderer/index.tsx +10 -5
- package/src/constants.ts +0 -5
- package/src/containers/GroupChannelPreviewContainer.tsx +14 -13
- package/src/containers/SendbirdUIKitContainer.tsx +98 -90
- package/src/contexts/SendbirdChatCtx.tsx +49 -36
- package/src/contexts/UserProfileCtx.tsx +10 -5
- package/src/domain/groupChannel/component/GroupChannelInput.tsx +1 -10
- package/src/domain/groupChannel/types.ts +1 -14
- package/src/domain/groupChannelList/component/GroupChannelListList.tsx +8 -4
- package/src/domain/groupChannelList/component/GroupChannelListTypeSelector.tsx +3 -3
- package/src/domain/groupChannelList/types.ts +8 -30
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +22 -10
- package/src/domain/openChannel/component/OpenChannelInput.tsx +1 -5
- package/src/domain/openChannel/types.ts +1 -1
- package/src/domain/openChannelList/component/OpenChannelListList.tsx +2 -1
- package/src/domain/openChannelList/types.ts +6 -13
- package/src/fragments/createGroupChannelCreateFragment.tsx +1 -1
- package/src/fragments/createGroupChannelFragment.tsx +21 -97
- package/src/fragments/createGroupChannelInviteFragment.tsx +1 -1
- package/src/fragments/createGroupChannelListFragment.tsx +9 -15
- package/src/fragments/createMessageSearchFragment.tsx +1 -1
- package/src/fragments/createOpenChannelFragment.tsx +2 -3
- package/src/fragments/createOpenChannelListFragment.tsx +2 -1
- package/src/hooks/useConnection.ts +9 -7
- package/src/hooks/useMentionTextInput.ts +7 -2
- package/src/index.ts +4 -2
- package/src/libs/MentionManager.tsx +8 -7
- package/src/libs/SBUUtils.ts +7 -3
- package/src/localization/StringSet.type.ts +2 -46
- package/src/localization/createBaseStringSet.ts +19 -71
- package/src/version.ts +1 -1
- package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js +0 -46
- package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -73
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -93
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -132
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +0 -24
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageContainer.js +0 -27
- package/lib/commonjs/components/MessageRenderer/MessageContainer.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +0 -41
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +0 -41
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageTime.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js +0 -46
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -113
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -200
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/index.js +0 -22
- package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/index.js +0 -186
- package/lib/commonjs/components/MessageRenderer/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/AdminMessage/index.js +0 -38
- package/lib/module/components/MessageRenderer/AdminMessage/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -65
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -84
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -123
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/FileMessage/index.js +0 -16
- package/lib/module/components/MessageRenderer/FileMessage/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageContainer.js +0 -19
- package/lib/module/components/MessageRenderer/MessageContainer.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageDateSeparator.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +0 -33
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +0 -33
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageTime.js +0 -26
- package/lib/module/components/MessageRenderer/MessageTime.js.map +0 -1
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js +0 -38
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -105
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -190
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/UserMessage/index.js +0 -14
- package/lib/module/components/MessageRenderer/UserMessage/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/index.js +0 -178
- package/lib/module/components/MessageRenderer/index.js.map +0 -1
- package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +0 -5
- package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +0 -6
- package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +0 -3
- package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +0 -3
- package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +0 -15
- package/lib/typescript/src/components/MessageRenderer/MessageContainer.d.ts +0 -3
- package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +0 -7
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +0 -7
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +0 -7
- package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +0 -9
- package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +0 -4
- package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +0 -3
- package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +0 -7
- package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +0 -9
- package/src/components/MessageRenderer/AdminMessage/index.tsx +0 -40
- package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +0 -51
- package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +0 -98
- package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +0 -113
- package/src/components/MessageRenderer/FileMessage/index.tsx +0 -20
- package/src/components/MessageRenderer/MessageContainer.tsx +0 -17
- package/src/components/MessageRenderer/MessageIncomingAvatar.tsx +0 -34
- package/src/components/MessageRenderer/MessageIncomingSenderName.tsx +0 -36
- package/src/components/MessageRenderer/MessageTime.tsx +0 -28
- package/src/components/MessageRenderer/UnknownMessage/index.tsx +0 -34
- package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +0 -102
- package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +0 -188
- package/src/components/MessageRenderer/UserMessage/index.tsx +0 -24
- package/src/components/MessageRenderer/index.tsx +0 -198
|
@@ -12,6 +12,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
12
12
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
13
13
|
const OpenChanelListList = _ref => {
|
|
14
14
|
let {
|
|
15
|
+
onPressChannel,
|
|
15
16
|
openChannels,
|
|
16
17
|
onLoadNext,
|
|
17
18
|
flatListProps,
|
|
@@ -24,7 +25,8 @@ const OpenChanelListList = _ref => {
|
|
|
24
25
|
item
|
|
25
26
|
} = _ref2;
|
|
26
27
|
return renderOpenChannelPreview === null || renderOpenChannelPreview === void 0 ? void 0 : renderOpenChannelPreview({
|
|
27
|
-
channel: item
|
|
28
|
+
channel: item,
|
|
29
|
+
onPress: () => onPressChannel(item)
|
|
28
30
|
});
|
|
29
31
|
});
|
|
30
32
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSafeAreaContext","_uikitUtils","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","OpenChanelListList","_ref","openChannels","onLoadNext","flatListProps","renderOpenChannelPreview","refreshing","onRefresh","renderItem","useFreshCallback","_ref2","item","channel","left","right","useSafeAreaInsets","createElement","FlatList","data","onEndReached","contentContainerStyle","paddingLeft","paddingRight","keyExtractor","getChannelUniqId","_default","exports"],"sources":["OpenChannelListList.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList, ListRenderItem } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { SendbirdOpenChannel, getChannelUniqId, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport type { OpenChannelListProps } from '../types';\n\nconst OpenChanelListList = ({\n openChannels,\n onLoadNext,\n flatListProps,\n renderOpenChannelPreview,\n refreshing,\n onRefresh,\n}: OpenChannelListProps['List']) => {\n const renderItem: ListRenderItem<SendbirdOpenChannel> = useFreshCallback(({ item }) =>\n renderOpenChannelPreview?.({ channel: item }),\n );\n\n const { left, right } = useSafeAreaInsets();\n\n return (\n <FlatList\n refreshing={refreshing}\n data={openChannels}\n renderItem={renderItem}\n onEndReached={onLoadNext}\n onRefresh={onRefresh}\n {...flatListProps}\n contentContainerStyle={[flatListProps?.contentContainerStyle, { paddingLeft: left, paddingRight: right }]}\n keyExtractor={getChannelUniqId}\n />\n );\n};\n\nexport default OpenChanelListList;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,2BAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAAgG,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAIhG,MAAMQ,kBAAkB,GAAGC,IAAA,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSafeAreaContext","_uikitUtils","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","OpenChanelListList","_ref","onPressChannel","openChannels","onLoadNext","flatListProps","renderOpenChannelPreview","refreshing","onRefresh","renderItem","useFreshCallback","_ref2","item","channel","onPress","left","right","useSafeAreaInsets","createElement","FlatList","data","onEndReached","contentContainerStyle","paddingLeft","paddingRight","keyExtractor","getChannelUniqId","_default","exports"],"sources":["OpenChannelListList.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList, ListRenderItem } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { SendbirdOpenChannel, getChannelUniqId, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport type { OpenChannelListProps } from '../types';\n\nconst OpenChanelListList = ({\n onPressChannel,\n openChannels,\n onLoadNext,\n flatListProps,\n renderOpenChannelPreview,\n refreshing,\n onRefresh,\n}: OpenChannelListProps['List']) => {\n const renderItem: ListRenderItem<SendbirdOpenChannel> = useFreshCallback(({ item }) =>\n renderOpenChannelPreview?.({ channel: item, onPress: () => onPressChannel(item) }),\n );\n\n const { left, right } = useSafeAreaInsets();\n\n return (\n <FlatList\n refreshing={refreshing}\n data={openChannels}\n renderItem={renderItem}\n onEndReached={onLoadNext}\n onRefresh={onRefresh}\n {...flatListProps}\n contentContainerStyle={[flatListProps?.contentContainerStyle, { paddingLeft: left, paddingRight: right }]}\n keyExtractor={getChannelUniqId}\n />\n );\n};\n\nexport default OpenChanelListList;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,2BAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAAgG,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAIhG,MAAMQ,kBAAkB,GAAGC,IAAA,IAQS;EAAA,IARR;IAC1BC,cAAc;IACdC,YAAY;IACZC,UAAU;IACVC,aAAa;IACbC,wBAAwB;IACxBC,UAAU;IACVC;EAC4B,CAAC,GAAAP,IAAA;EAC7B,MAAMQ,UAA+C,GAAG,IAAAC,4BAAgB,EAACC,KAAA;IAAA,IAAC;MAAEC;IAAK,CAAC,GAAAD,KAAA;IAAA,OAChFL,wBAAwB,aAAxBA,wBAAwB,uBAAxBA,wBAAwB,CAAG;MAAEO,OAAO,EAAED,IAAI;MAAEE,OAAO,EAAEA,CAAA,KAAMZ,cAAc,CAACU,IAAI;IAAE,CAAC,CAAC;EAAA,EACnF;EAED,MAAM;IAAEG,IAAI;IAAEC;EAAM,CAAC,GAAG,IAAAC,6CAAiB,GAAE;EAE3C,oBACExC,MAAA,CAAAQ,OAAA,CAAAiC,aAAA,CAACtC,YAAA,CAAAuC,QAAQ,EAAAjC,QAAA;IACPqB,UAAU,EAAEA,UAAW;IACvBa,IAAI,EAAEjB,YAAa;IACnBM,UAAU,EAAEA,UAAW;IACvBY,YAAY,EAAEjB,UAAW;IACzBI,SAAS,EAAEA;EAAU,GACjBH,aAAa;IACjBiB,qBAAqB,EAAE,CAACjB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEiB,qBAAqB,EAAE;MAAEC,WAAW,EAAER,IAAI;MAAES,YAAY,EAAER;IAAM,CAAC,CAAE;IAC1GS,YAAY,EAAEC;EAAiB,GAC/B;AAEN,CAAC;AAAC,IAAAC,QAAA,GAEa3B,kBAAkB;AAAA4B,OAAA,CAAA3C,OAAA,GAAA0C,QAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatListProps } from 'react-native';\n\nimport type { UseOpenChannelListOptions } from '@sendbird/uikit-chat-hooks';\nimport type { SendbirdOpenChannel } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport type OpenChannelListProps = {\n Fragment: {\n
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatListProps } from 'react-native';\n\nimport type { UseOpenChannelListOptions } from '@sendbird/uikit-chat-hooks';\nimport type { SendbirdOpenChannel } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport type OpenChannelListProps = {\n Fragment: {\n onPressChannel: OpenChannelListProps['List']['onPressChannel'];\n onPressCreateChannel: () => void;\n renderOpenChannelPreview?: OpenChannelListProps['List']['renderOpenChannelPreview'];\n queryCreator?: UseOpenChannelListOptions['queryCreator'];\n flatListProps?: OpenChannelListProps['List']['flatListProps'];\n };\n Header: {\n onPressHeaderRight: () => void;\n };\n List: {\n onPressChannel: (channel: SendbirdOpenChannel) => void;\n openChannels: SendbirdOpenChannel[];\n renderOpenChannelPreview: (props: {\n channel: SendbirdOpenChannel;\n onPress: () => void;\n }) => React.ReactElement | null;\n onLoadNext: () => Promise<void>;\n flatListProps?: Omit<FlatListProps<SendbirdOpenChannel>, 'data' | 'renderItem'>;\n refreshing: boolean;\n onRefresh: () => void;\n };\n StatusError: {\n onPressRetry: () => void;\n };\n};\n\n/**\n * Internal context for OpenChannelList\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport type OpenChannelListContextsType = {\n Fragment: React.Context<{\n headerTitle: string;\n }>;\n};\nexport interface OpenChannelListModule {\n Provider: CommonComponent;\n Header: CommonComponent<OpenChannelListProps['Header']>;\n List: CommonComponent<OpenChannelListProps['List']>;\n StatusEmpty: CommonComponent;\n StatusLoading: CommonComponent;\n StatusError: CommonComponent<OpenChannelListProps['StatusError']>;\n}\n\nexport type OpenChannelListFragment = CommonComponent<OpenChannelListProps['Fragment']>;\n"],"mappings":""}
|
|
@@ -45,7 +45,7 @@ const createGroupChannelCreateFragment = initModule => {
|
|
|
45
45
|
});
|
|
46
46
|
const _renderUser = (0, _uikitUtils.useFreshCallback)((user, selectedUsers, setSelectedUsers) => {
|
|
47
47
|
if (queryCreator && !renderUser) {
|
|
48
|
-
const hasRequiredKey =
|
|
48
|
+
const hasRequiredKey = 'profileUrl' in user && 'nickname' in user;
|
|
49
49
|
if (!hasRequiredKey) throw new Error('You should provide "renderUser" when providing "queryCreator"');
|
|
50
50
|
}
|
|
51
51
|
if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitChatHooks","_uikitUtils","_StatusComposition","_UserSelectableBar","_createUserListModule","_useContext","obj","__esModule","default","createGroupChannelCreateFragment","initModule","UserListModule","createUserListModule","_ref","onPressHeaderLeft","onBeforeCreateChannel","PASS","onCreateChannel","sortComparator","queryCreator","channelType","renderUser","sdk","currentUser","useSendbirdChat","STRINGS","useLocalization","users","refreshing","loading","error","refresh","next","useUserList","_renderUser","useFreshCallback","user","selectedUsers","setSelectedUsers","hasRequiredKey","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitChatHooks","_uikitUtils","_StatusComposition","_UserSelectableBar","_createUserListModule","_useContext","obj","__esModule","default","createGroupChannelCreateFragment","initModule","UserListModule","createUserListModule","_ref","onPressHeaderLeft","onBeforeCreateChannel","PASS","onCreateChannel","sortComparator","queryCreator","channelType","renderUser","sdk","currentUser","useSendbirdChat","STRINGS","useLocalization","users","refreshing","loading","error","refresh","next","useUserList","_renderUser","useFreshCallback","user","selectedUsers","setSelectedUsers","hasRequiredKey","Error","isMe","userId","userIdx","findIndex","u","isSelected","createElement","TouchableOpacity","activeOpacity","onPress","_ref2","draft","splice","push","uri","profileUrl","name","nickname","LABELS","USER_NO_NAME","selected","disabled","Provider","headerRight","GROUP_CHANNEL_CREATE","HEADER_RIGHT","headerTitle","HEADER_TITLE","Header","onPressHeaderRight","params","getDefaultGroupChannelCreateParams","invitedUserIds","map","it","currentUserId","isBroadcast","isSuper","processedParams","channel","groupChannel","createChannel","Boolean","LoadingComponent","StatusLoading","ErrorComponent","StatusError","onPressRetry","List","onLoadNext","onRefresh","ListEmptyComponent","StatusEmpty","_default","exports"],"sources":["createGroupChannelCreateFragment.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity } from 'react-native';\n\nimport { useUserList } from '@sendbird/uikit-chat-hooks';\nimport {\n PASS,\n SendbirdUser,\n UserStruct,\n getDefaultGroupChannelCreateParams,\n useFreshCallback,\n} from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport UserSelectableBar from '../components/UserSelectableBar';\nimport type { GroupChannelCreateFragment } from '../domain/groupChannelUserList/types';\nimport createUserListModule from '../domain/userList/module/createUserListModule';\nimport type { UserListModule } from '../domain/userList/types';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelCreateFragment = <UserType extends UserStruct>(\n initModule?: Partial<UserListModule<UserType>>,\n): GroupChannelCreateFragment<UserType> => {\n const UserListModule = createUserListModule<UserType>(initModule);\n\n return ({\n onPressHeaderLeft,\n onBeforeCreateChannel = PASS,\n onCreateChannel,\n sortComparator,\n queryCreator,\n channelType = 'GROUP',\n renderUser,\n }) => {\n const { sdk, currentUser } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { users, refreshing, loading, error, refresh, next } = useUserList(sdk, {\n queryCreator,\n sortComparator,\n });\n\n const _renderUser: NonNullable<typeof renderUser> = useFreshCallback((user, selectedUsers, setSelectedUsers) => {\n if (queryCreator && !renderUser) {\n const hasRequiredKey = 'profileUrl' in user && 'nickname' in user;\n if (!hasRequiredKey) throw new Error('You should provide \"renderUser\" when providing \"queryCreator\"');\n }\n\n if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);\n\n const isMe = user.userId === currentUser?.userId;\n if (isMe) return null;\n\n const userIdx = selectedUsers.findIndex((u) => u.userId === user.userId);\n const isSelected = userIdx > -1;\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n onPress={() => {\n setSelectedUsers(([...draft]) => {\n if (isSelected) draft.splice(userIdx, 1);\n else draft.push(user);\n return draft;\n });\n }}\n >\n <UserSelectableBar\n uri={(user as unknown as SendbirdUser).profileUrl}\n name={(user as unknown as SendbirdUser).nickname || STRINGS.LABELS.USER_NO_NAME}\n selected={isSelected}\n disabled={false}\n />\n </TouchableOpacity>\n );\n });\n\n return (\n <UserListModule.Provider\n headerRight={(selectedUsers) => STRINGS.GROUP_CHANNEL_CREATE.HEADER_RIGHT({ selectedUsers })}\n headerTitle={STRINGS.GROUP_CHANNEL_CREATE.HEADER_TITLE}\n >\n <UserListModule.Header\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={async (users) => {\n const params = getDefaultGroupChannelCreateParams({\n invitedUserIds: users.map((it) => it.userId),\n currentUserId: currentUser?.userId,\n });\n\n if (channelType === 'BROADCAST') params.isBroadcast = true;\n if (channelType === 'SUPER_GROUP') params.isSuper = true;\n\n const processedParams = await onBeforeCreateChannel(params, users);\n const channel = await sdk.groupChannel.createChannel(processedParams);\n onCreateChannel(channel);\n }}\n />\n <StatusComposition\n loading={loading}\n error={Boolean(error)}\n LoadingComponent={<UserListModule.StatusLoading />}\n ErrorComponent={<UserListModule.StatusError onPressRetry={() => refresh()} />}\n >\n <UserListModule.List\n onLoadNext={next}\n users={users}\n renderUser={_renderUser}\n onRefresh={refresh}\n refreshing={refreshing}\n ListEmptyComponent={<UserListModule.StatusEmpty />}\n />\n </StatusComposition>\n </UserListModule.Provider>\n );\n };\n};\n\nexport default createGroupChannelCreateFragment;\n"],"mappings":"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"}
|
|
@@ -5,14 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var
|
|
8
|
+
var _message = require("@sendbird/chat/message");
|
|
9
9
|
var _uikitChatHooks = require("@sendbird/uikit-chat-hooks");
|
|
10
10
|
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
11
|
-
var
|
|
11
|
+
var _GroupChannelMessageRenderer = _interopRequireDefault(require("../components/GroupChannelMessageRenderer"));
|
|
12
12
|
var _NewMessagesButton = _interopRequireDefault(require("../components/NewMessagesButton"));
|
|
13
13
|
var _ScrollToBottomButton = _interopRequireDefault(require("../components/ScrollToBottomButton"));
|
|
14
14
|
var _StatusComposition = _interopRequireDefault(require("../components/StatusComposition"));
|
|
15
|
-
var _constants = require("../constants");
|
|
16
15
|
var _createGroupChannelModule = _interopRequireDefault(require("../domain/groupChannel/module/createGroupChannelModule"));
|
|
17
16
|
var _useContext = require("../hooks/useContext");
|
|
18
17
|
var _pubsub = _interopRequireDefault(require("../utils/pubsub"));
|
|
@@ -28,7 +27,7 @@ const createGroupChannelFragment = initModule => {
|
|
|
28
27
|
renderScrollToBottomButton = props => /*#__PURE__*/_react.default.createElement(_ScrollToBottomButton.default, props),
|
|
29
28
|
renderMessage,
|
|
30
29
|
enableMessageGrouping = true,
|
|
31
|
-
enableTypingIndicator
|
|
30
|
+
enableTypingIndicator,
|
|
32
31
|
onPressHeaderLeft = _uikitUtils.NOOP,
|
|
33
32
|
onPressHeaderRight = _uikitUtils.NOOP,
|
|
34
33
|
onPressMediaMessage = _uikitUtils.NOOP,
|
|
@@ -39,21 +38,23 @@ const createGroupChannelFragment = initModule => {
|
|
|
39
38
|
onBeforeUpdateFileMessage = _uikitUtils.PASS,
|
|
40
39
|
channel,
|
|
41
40
|
keyboardAvoidOffset,
|
|
42
|
-
queryCreator,
|
|
43
41
|
collectionCreator,
|
|
44
42
|
sortComparator = _uikitUtils.messageComparator,
|
|
45
|
-
flatListProps
|
|
46
|
-
onPressImageMessage
|
|
43
|
+
flatListProps
|
|
47
44
|
} = _ref;
|
|
48
45
|
const {
|
|
49
46
|
sdk,
|
|
50
|
-
currentUser
|
|
47
|
+
currentUser,
|
|
48
|
+
sbOptions
|
|
51
49
|
} = (0, _useContext.useSendbirdChat)();
|
|
52
50
|
const [internalSearchItem, setInternalSearchItem] = (0, _react.useState)(searchItem);
|
|
53
51
|
const navigateFromMessageSearch = (0, _react.useCallback)(() => Boolean(searchItem), []);
|
|
54
52
|
const [groupChannelPubSub] = (0, _react.useState)(() => (0, _pubsub.default)());
|
|
55
53
|
const [scrolledAwayFromBottom, setScrolledAwayFromBottom] = (0, _react.useState)(false);
|
|
56
54
|
const scrolledAwayFromBottomRef = (0, _uikitUtils.useRefTracker)(scrolledAwayFromBottom);
|
|
55
|
+
const replyType = (0, _uikitUtils.useIIFE)(() => {
|
|
56
|
+
if (sbOptions.uikit.groupChannel.channel.replyType === 'none') return _message.ReplyType.NONE;else return _message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
57
|
+
});
|
|
57
58
|
const {
|
|
58
59
|
loading,
|
|
59
60
|
messages,
|
|
@@ -70,11 +71,6 @@ const createGroupChannelFragment = initModule => {
|
|
|
70
71
|
deleteMessage,
|
|
71
72
|
resetWithStartingPoint
|
|
72
73
|
} = (0, _uikitChatHooks.useGroupChannelMessages)(sdk, channel, currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId, {
|
|
73
|
-
collectionCreator,
|
|
74
|
-
queryCreator,
|
|
75
|
-
sortComparator,
|
|
76
|
-
onChannelDeleted,
|
|
77
|
-
enableCollectionWithoutLocalCache: !queryCreator,
|
|
78
74
|
shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,
|
|
79
75
|
onMessagesReceived(messages) {
|
|
80
76
|
groupChannelPubSub.publish({
|
|
@@ -84,11 +80,16 @@ const createGroupChannelFragment = initModule => {
|
|
|
84
80
|
}
|
|
85
81
|
});
|
|
86
82
|
},
|
|
87
|
-
|
|
83
|
+
collectionCreator,
|
|
84
|
+
sortComparator,
|
|
85
|
+
onChannelDeleted,
|
|
86
|
+
replyType,
|
|
87
|
+
startingPoint: internalSearchItem === null || internalSearchItem === void 0 ? void 0 : internalSearchItem.startingPoint,
|
|
88
|
+
enableCollectionWithoutLocalCache: true
|
|
88
89
|
});
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
90
|
+
const renderItem = (0, _uikitUtils.useFreshCallback)(props => {
|
|
91
|
+
if (renderMessage) return renderMessage(props);
|
|
92
|
+
return /*#__PURE__*/_react.default.createElement(_GroupChannelMessageRenderer.default, props);
|
|
92
93
|
});
|
|
93
94
|
const memoizedFlatListProps = (0, _react.useMemo)(() => ({
|
|
94
95
|
ListEmptyComponent: /*#__PURE__*/_react.default.createElement(GroupChannelModule.StatusEmpty, null),
|
|
@@ -139,47 +140,10 @@ const createGroupChannelFragment = initModule => {
|
|
|
139
140
|
if (!value) resetNewMessages();
|
|
140
141
|
setScrolledAwayFromBottom(value);
|
|
141
142
|
});
|
|
142
|
-
|
|
143
|
-
/** @deprecated **/
|
|
144
|
-
const onSendFileMessage = (0, _uikitUtils.useFreshCallback)(async file => {
|
|
145
|
-
const processedParams = await onBeforeSendFileMessage({
|
|
146
|
-
file
|
|
147
|
-
});
|
|
148
|
-
const message = await sendFileMessage(processedParams, onPending);
|
|
149
|
-
onSent(message);
|
|
150
|
-
});
|
|
151
|
-
/** @deprecated **/
|
|
152
|
-
const onSendUserMessage = (0, _uikitUtils.useFreshCallback)(async (text, mention) => {
|
|
153
|
-
const processedParams = await onBeforeSendUserMessage({
|
|
154
|
-
message: text,
|
|
155
|
-
mentionedUserIds: mention === null || mention === void 0 ? void 0 : mention.userIds,
|
|
156
|
-
mentionedMessageTemplate: mention === null || mention === void 0 ? void 0 : mention.messageTemplate,
|
|
157
|
-
mentionType: mention === null || mention === void 0 ? void 0 : mention.type
|
|
158
|
-
});
|
|
159
|
-
const message = await sendUserMessage(processedParams, onPending);
|
|
160
|
-
onSent(message);
|
|
161
|
-
});
|
|
162
|
-
/** @deprecated **/
|
|
163
|
-
const onUpdateFileMessage = (0, _uikitUtils.useFreshCallback)(async (editedFile, message) => {
|
|
164
|
-
const processedParams = await onBeforeSendFileMessage({
|
|
165
|
-
file: editedFile
|
|
166
|
-
});
|
|
167
|
-
await updateFileMessage(message.messageId, processedParams);
|
|
168
|
-
});
|
|
169
|
-
/** @deprecated **/
|
|
170
|
-
const onUpdateUserMessage = (0, _uikitUtils.useFreshCallback)(async (editedText, message, mention) => {
|
|
171
|
-
const processedParams = await onBeforeSendUserMessage({
|
|
172
|
-
message: editedText,
|
|
173
|
-
mentionedUserIds: mention === null || mention === void 0 ? void 0 : mention.userIds,
|
|
174
|
-
mentionedMessageTemplate: mention === null || mention === void 0 ? void 0 : mention.messageTemplate,
|
|
175
|
-
mentionType: mention === null || mention === void 0 ? void 0 : mention.type
|
|
176
|
-
});
|
|
177
|
-
await updateUserMessage(message.messageId, processedParams);
|
|
178
|
-
});
|
|
179
143
|
return /*#__PURE__*/_react.default.createElement(GroupChannelModule.Provider, {
|
|
180
144
|
channel: channel,
|
|
181
145
|
groupChannelPubSub: groupChannelPubSub,
|
|
182
|
-
enableTypingIndicator: enableTypingIndicator,
|
|
146
|
+
enableTypingIndicator: enableTypingIndicator ?? sbOptions.uikit.groupChannel.channel.enableTypingIndicator,
|
|
183
147
|
keyboardAvoidOffset: keyboardAvoidOffset
|
|
184
148
|
}, /*#__PURE__*/_react.default.createElement(GroupChannelModule.Header, {
|
|
185
149
|
shouldHideRight: navigateFromMessageSearch,
|
|
@@ -194,7 +158,7 @@ const createGroupChannelFragment = initModule => {
|
|
|
194
158
|
onResetMessageList: onResetMessageList,
|
|
195
159
|
enableMessageGrouping: enableMessageGrouping,
|
|
196
160
|
currentUserId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId,
|
|
197
|
-
renderMessage:
|
|
161
|
+
renderMessage: renderItem,
|
|
198
162
|
messages: messages,
|
|
199
163
|
newMessages: newMessages,
|
|
200
164
|
onTopReached: prev,
|
|
@@ -207,21 +171,14 @@ const createGroupChannelFragment = initModule => {
|
|
|
207
171
|
onResendFailedMessage: resendMessage,
|
|
208
172
|
onDeleteMessage: deleteMessage,
|
|
209
173
|
onPressMediaMessage: onPressMediaMessage,
|
|
210
|
-
flatListProps: memoizedFlatListProps
|
|
211
|
-
nextMessages: newMessages,
|
|
212
|
-
newMessagesFromMembers: newMessages,
|
|
213
|
-
onPressImageMessage: onPressImageMessage
|
|
174
|
+
flatListProps: memoizedFlatListProps
|
|
214
175
|
}), /*#__PURE__*/_react.default.createElement(GroupChannelModule.Input, {
|
|
215
176
|
SuggestedMentionList: GroupChannelModule.SuggestedMentionList,
|
|
216
177
|
shouldRenderInput: shouldRenderInput(channel),
|
|
217
178
|
onPressSendUserMessage: onPressSendUserMessage,
|
|
218
179
|
onPressSendFileMessage: onPressSendFileMessage,
|
|
219
180
|
onPressUpdateUserMessage: onPressUpdateUserMessage,
|
|
220
|
-
onPressUpdateFileMessage: onPressUpdateFileMessage
|
|
221
|
-
onSendFileMessage: onSendFileMessage,
|
|
222
|
-
onSendUserMessage: onSendUserMessage,
|
|
223
|
-
onUpdateFileMessage: onUpdateFileMessage,
|
|
224
|
-
onUpdateUserMessage: onUpdateUserMessage
|
|
181
|
+
onPressUpdateFileMessage: onPressUpdateFileMessage
|
|
225
182
|
})));
|
|
226
183
|
};
|
|
227
184
|
};
|
|
@@ -231,41 +188,6 @@ function shouldRenderInput(channel) {
|
|
|
231
188
|
}
|
|
232
189
|
return true;
|
|
233
190
|
}
|
|
234
|
-
function withFocusingAnimation(Component) {
|
|
235
|
-
return /*#__PURE__*/_react.default.memo(props => {
|
|
236
|
-
const translateY = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
237
|
-
(0, _react.useEffect)(() => {
|
|
238
|
-
if (props.focused) {
|
|
239
|
-
setTimeout(() => {
|
|
240
|
-
_reactNative.Animated.sequence([{
|
|
241
|
-
toValue: -10,
|
|
242
|
-
duration: 500
|
|
243
|
-
}, {
|
|
244
|
-
toValue: 0,
|
|
245
|
-
duration: 100
|
|
246
|
-
}, {
|
|
247
|
-
toValue: -10,
|
|
248
|
-
duration: 200
|
|
249
|
-
}, {
|
|
250
|
-
toValue: 0,
|
|
251
|
-
duration: 100
|
|
252
|
-
}].map(value => _reactNative.Animated.timing(translateY, {
|
|
253
|
-
...value,
|
|
254
|
-
useNativeDriver: true,
|
|
255
|
-
easing: _reactNative.Easing.inOut(_reactNative.Easing.ease)
|
|
256
|
-
}))).start();
|
|
257
|
-
}, _constants.MESSAGE_SEARCH_SAFE_SCROLL_DELAY + _constants.MESSAGE_FOCUS_ANIMATION_DELAY);
|
|
258
|
-
}
|
|
259
|
-
}, [props.focused]);
|
|
260
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
261
|
-
style: {
|
|
262
|
-
transform: [{
|
|
263
|
-
translateY
|
|
264
|
-
}]
|
|
265
|
-
}
|
|
266
|
-
}, /*#__PURE__*/_react.default.createElement(Component, props));
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
191
|
var _default = createGroupChannelFragment;
|
|
270
192
|
exports.default = _default;
|
|
271
193
|
//# sourceMappingURL=createGroupChannelFragment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitChatHooks","_uikitUtils","_MessageRenderer","_interopRequireDefault","_NewMessagesButton","_ScrollToBottomButton","_StatusComposition","_constants","_createGroupChannelModule","_useContext","_pubsub","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createGroupChannelFragment","initModule","GroupChannelModule","createGroupChannelModule","_ref","searchItem","renderNewMessagesButton","props","createElement","renderScrollToBottomButton","renderMessage","enableMessageGrouping","enableTypingIndicator","onPressHeaderLeft","NOOP","onPressHeaderRight","onPressMediaMessage","onChannelDeleted","onBeforeSendUserMessage","PASS","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onBeforeUpdateFileMessage","channel","keyboardAvoidOffset","queryCreator","collectionCreator","sortComparator","messageComparator","flatListProps","onPressImageMessage","sdk","currentUser","useSendbirdChat","internalSearchItem","setInternalSearchItem","useState","navigateFromMessageSearch","useCallback","Boolean","groupChannelPubSub","pubsub","scrolledAwayFromBottom","setScrolledAwayFromBottom","scrolledAwayFromBottomRef","useRefTracker","loading","messages","newMessages","resetNewMessages","next","prev","hasNext","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","resetWithStartingPoint","useGroupChannelMessages","userId","enableCollectionWithoutLocalCache","shouldCountNewMessages","current","onMessagesReceived","publish","type","data","startingPoint","MessageComponent","withFocusingAnimation","Fragment","MessageRenderer","_renderMessage","useFreshCallback","memoizedFlatListProps","useMemo","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","onResetMessageList","callback","Number","MAX_SAFE_INTEGER","undefined","onPending","message","onSent","onPressSendUserMessage","params","processedParams","onPressSendFileMessage","onPressUpdateUserMessage","messageId","onPressUpdateFileMessage","onScrolledAwayFromBottom","value","onSendFileMessage","file","onSendUserMessage","text","mention","mentionedUserIds","userIds","mentionedMessageTemplate","messageTemplate","mentionType","onUpdateFileMessage","editedFile","onUpdateUserMessage","editedText","Provider","Header","shouldHideRight","LoadingComponent","StatusLoading","MessageList","currentUserId","onTopReached","onBottomReached","onResendFailedMessage","onDeleteMessage","nextMessages","newMessagesFromMembers","Input","SuggestedMentionList","shouldRenderInput","isBroadcast","myRole","Component","React","memo","translateY","useRef","Animated","Value","useEffect","focused","setTimeout","sequence","toValue","duration","map","timing","useNativeDriver","easing","Easing","inOut","ease","start","MESSAGE_SEARCH_SAFE_SCROLL_DELAY","MESSAGE_FOCUS_ANIMATION_DELAY","View","style","transform","_default","exports"],"sources":["createGroupChannelFragment.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nimport { useGroupChannelMessages } from '@sendbird/uikit-chat-hooks';\nimport {\n NOOP,\n PASS,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdUserMessage,\n messageComparator,\n useFreshCallback,\n useRefTracker,\n} from '@sendbird/uikit-utils';\n\nimport MessageRenderer from '../components/MessageRenderer';\nimport NewMessagesButton from '../components/NewMessagesButton';\nimport ScrollToBottomButton from '../components/ScrollToBottomButton';\nimport StatusComposition from '../components/StatusComposition';\nimport { MESSAGE_FOCUS_ANIMATION_DELAY, MESSAGE_SEARCH_SAFE_SCROLL_DELAY } from '../constants';\nimport createGroupChannelModule from '../domain/groupChannel/module/createGroupChannelModule';\nimport type {\n GroupChannelFragment,\n GroupChannelModule,\n GroupChannelProps,\n GroupChannelPubSubContextPayload,\n} from '../domain/groupChannel/types';\nimport { useSendbirdChat } from '../hooks/useContext';\nimport pubsub from '../utils/pubsub';\n\nconst createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): GroupChannelFragment => {\n const GroupChannelModule = createGroupChannelModule(initModule);\n\n return ({\n searchItem,\n renderNewMessagesButton = (props) => <NewMessagesButton {...props} />,\n renderScrollToBottomButton = (props) => <ScrollToBottomButton {...props} />,\n renderMessage,\n enableMessageGrouping = true,\n enableTypingIndicator = true,\n onPressHeaderLeft = NOOP,\n onPressHeaderRight = NOOP,\n onPressMediaMessage = NOOP,\n onChannelDeleted = NOOP,\n onBeforeSendUserMessage = PASS,\n onBeforeSendFileMessage = PASS,\n onBeforeUpdateUserMessage = PASS,\n onBeforeUpdateFileMessage = PASS,\n channel,\n keyboardAvoidOffset,\n queryCreator,\n collectionCreator,\n sortComparator = messageComparator,\n flatListProps,\n onPressImageMessage,\n }) => {\n const { sdk, currentUser } = useSendbirdChat();\n\n const [internalSearchItem, setInternalSearchItem] = useState(searchItem);\n const navigateFromMessageSearch = useCallback(() => Boolean(searchItem), []);\n\n const [groupChannelPubSub] = useState(() => pubsub<GroupChannelPubSubContextPayload>());\n const [scrolledAwayFromBottom, setScrolledAwayFromBottom] = useState(false);\n const scrolledAwayFromBottomRef = useRefTracker(scrolledAwayFromBottom);\n\n const {\n loading,\n messages,\n newMessages,\n resetNewMessages,\n next,\n prev,\n hasNext,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n } = useGroupChannelMessages(sdk, channel, currentUser?.userId, {\n collectionCreator,\n queryCreator,\n sortComparator,\n onChannelDeleted,\n enableCollectionWithoutLocalCache: !queryCreator,\n shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,\n onMessagesReceived(messages) {\n groupChannelPubSub.publish({ type: 'MESSAGES_RECEIVED', data: { messages } });\n },\n startingPoint: internalSearchItem?.startingPoint,\n });\n\n const MessageComponent: GroupChannelProps['MessageList']['renderMessage'] = useCallback(\n withFocusingAnimation(renderMessage ? (props) => <>{renderMessage(props)}</> : MessageRenderer),\n [renderMessage],\n );\n\n const _renderMessage: GroupChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n return <MessageComponent {...props} />;\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <GroupChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [flatListProps],\n );\n\n const onResetMessageList = useCallback((callback?: () => void) => {\n resetWithStartingPoint(Number.MAX_SAFE_INTEGER, callback);\n setInternalSearchItem(undefined);\n }, []);\n\n const onPending = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_PENDING', data: { message } });\n };\n\n const onSent = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_SUCCESS', data: { message } });\n };\n\n const onPressSendUserMessage: GroupChannelProps['Input']['onPressSendUserMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendUserMessage(params);\n const message = await sendUserMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressSendFileMessage: GroupChannelProps['Input']['onPressSendFileMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendFileMessage(params);\n const message = await sendFileMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressUpdateUserMessage: GroupChannelProps['Input']['onPressUpdateUserMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateUserMessage(params);\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n const onPressUpdateFileMessage: GroupChannelProps['Input']['onPressUpdateFileMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateFileMessage(params);\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n const onScrolledAwayFromBottom = useFreshCallback((value: boolean) => {\n if (!value) resetNewMessages();\n setScrolledAwayFromBottom(value);\n });\n\n /** @deprecated **/\n const onSendFileMessage: GroupChannelProps['Input']['onSendFileMessage'] = useFreshCallback(async (file) => {\n const processedParams = await onBeforeSendFileMessage({ file });\n const message = await sendFileMessage(processedParams, onPending);\n onSent(message);\n });\n /** @deprecated **/\n const onSendUserMessage: GroupChannelProps['Input']['onSendUserMessage'] = useFreshCallback(\n async (text, mention) => {\n const processedParams = await onBeforeSendUserMessage({\n message: text,\n mentionedUserIds: mention?.userIds,\n mentionedMessageTemplate: mention?.messageTemplate,\n mentionType: mention?.type,\n });\n const message = await sendUserMessage(processedParams, onPending);\n onSent(message);\n },\n );\n /** @deprecated **/\n const onUpdateFileMessage: GroupChannelProps['Input']['onUpdateFileMessage'] = useFreshCallback(\n async (editedFile, message) => {\n const processedParams = await onBeforeSendFileMessage({ file: editedFile });\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n /** @deprecated **/\n const onUpdateUserMessage: GroupChannelProps['Input']['onUpdateUserMessage'] = useFreshCallback(\n async (editedText, message, mention) => {\n const processedParams = await onBeforeSendUserMessage({\n message: editedText,\n mentionedUserIds: mention?.userIds,\n mentionedMessageTemplate: mention?.messageTemplate,\n mentionType: mention?.type,\n });\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n\n return (\n <GroupChannelModule.Provider\n channel={channel}\n groupChannelPubSub={groupChannelPubSub}\n enableTypingIndicator={enableTypingIndicator}\n keyboardAvoidOffset={keyboardAvoidOffset}\n >\n <GroupChannelModule.Header\n shouldHideRight={navigateFromMessageSearch}\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={onPressHeaderRight}\n />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelModule.StatusLoading />}>\n <GroupChannelModule.MessageList\n channel={channel}\n searchItem={internalSearchItem}\n onResetMessageList={onResetMessageList}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={_renderMessage}\n messages={messages}\n newMessages={newMessages}\n onTopReached={prev}\n onBottomReached={next}\n hasNext={hasNext}\n scrolledAwayFromBottom={scrolledAwayFromBottom}\n onScrolledAwayFromBottom={onScrolledAwayFromBottom}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressMediaMessage={onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n nextMessages={newMessages}\n newMessagesFromMembers={newMessages}\n onPressImageMessage={onPressImageMessage}\n />\n <GroupChannelModule.Input\n SuggestedMentionList={GroupChannelModule.SuggestedMentionList}\n shouldRenderInput={shouldRenderInput(channel)}\n onPressSendUserMessage={onPressSendUserMessage}\n onPressSendFileMessage={onPressSendFileMessage}\n onPressUpdateUserMessage={onPressUpdateUserMessage}\n onPressUpdateFileMessage={onPressUpdateFileMessage}\n onSendFileMessage={onSendFileMessage}\n onSendUserMessage={onSendUserMessage}\n onUpdateFileMessage={onUpdateFileMessage}\n onUpdateUserMessage={onUpdateUserMessage}\n />\n </StatusComposition>\n </GroupChannelModule.Provider>\n );\n };\n};\n\nfunction shouldRenderInput(channel: SendbirdGroupChannel) {\n if (channel.isBroadcast) {\n return channel.myRole === 'operator';\n }\n\n return true;\n}\n\nfunction withFocusingAnimation<P extends unknown & { focused: boolean }>(Component: React.ComponentType<P>) {\n return React.memo<P>((props) => {\n const translateY = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n if (props.focused) {\n setTimeout(() => {\n Animated.sequence(\n [\n { toValue: -10, duration: 500 },\n { toValue: 0, duration: 100 },\n { toValue: -10, duration: 200 },\n { toValue: 0, duration: 100 },\n ].map((value) =>\n Animated.timing(translateY, { ...value, useNativeDriver: true, easing: Easing.inOut(Easing.ease) }),\n ),\n ).start();\n }, MESSAGE_SEARCH_SAFE_SCROLL_DELAY + MESSAGE_FOCUS_ANIMATION_DELAY);\n }\n }, [props.focused]);\n\n return (\n <Animated.View style={{ transform: [{ translateY }] }}>\n <Component {...props} />\n </Animated.View>\n );\n });\n}\n\nexport default createGroupChannelFragment;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_message","_uikitChatHooks","_uikitUtils","_GroupChannelMessageRenderer","_interopRequireDefault","_NewMessagesButton","_ScrollToBottomButton","_StatusComposition","_createGroupChannelModule","_useContext","_pubsub","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createGroupChannelFragment","initModule","GroupChannelModule","createGroupChannelModule","_ref","searchItem","renderNewMessagesButton","props","createElement","renderScrollToBottomButton","renderMessage","enableMessageGrouping","enableTypingIndicator","onPressHeaderLeft","NOOP","onPressHeaderRight","onPressMediaMessage","onChannelDeleted","onBeforeSendUserMessage","PASS","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onBeforeUpdateFileMessage","channel","keyboardAvoidOffset","collectionCreator","sortComparator","messageComparator","flatListProps","sdk","currentUser","sbOptions","useSendbirdChat","internalSearchItem","setInternalSearchItem","useState","navigateFromMessageSearch","useCallback","Boolean","groupChannelPubSub","pubsub","scrolledAwayFromBottom","setScrolledAwayFromBottom","scrolledAwayFromBottomRef","useRefTracker","replyType","useIIFE","uikit","groupChannel","ReplyType","NONE","ONLY_REPLY_TO_CHANNEL","loading","messages","newMessages","resetNewMessages","next","prev","hasNext","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","resetWithStartingPoint","useGroupChannelMessages","userId","shouldCountNewMessages","current","onMessagesReceived","publish","type","data","startingPoint","enableCollectionWithoutLocalCache","renderItem","useFreshCallback","memoizedFlatListProps","useMemo","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","onResetMessageList","callback","Number","MAX_SAFE_INTEGER","undefined","onPending","message","onSent","onPressSendUserMessage","params","processedParams","onPressSendFileMessage","onPressUpdateUserMessage","messageId","onPressUpdateFileMessage","onScrolledAwayFromBottom","value","Provider","Header","shouldHideRight","LoadingComponent","StatusLoading","MessageList","currentUserId","onTopReached","onBottomReached","onResendFailedMessage","onDeleteMessage","Input","SuggestedMentionList","shouldRenderInput","isBroadcast","myRole","_default","exports"],"sources":["createGroupChannelFragment.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react';\n\nimport { ReplyType } from '@sendbird/chat/message';\nimport { useGroupChannelMessages } from '@sendbird/uikit-chat-hooks';\nimport {\n NOOP,\n PASS,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdUserMessage,\n messageComparator,\n useFreshCallback,\n useIIFE,\n useRefTracker,\n} from '@sendbird/uikit-utils';\n\nimport GroupChannelMessageRenderer from '../components/GroupChannelMessageRenderer';\nimport NewMessagesButton from '../components/NewMessagesButton';\nimport ScrollToBottomButton from '../components/ScrollToBottomButton';\nimport StatusComposition from '../components/StatusComposition';\nimport createGroupChannelModule from '../domain/groupChannel/module/createGroupChannelModule';\nimport type {\n GroupChannelFragment,\n GroupChannelModule,\n GroupChannelProps,\n GroupChannelPubSubContextPayload,\n} from '../domain/groupChannel/types';\nimport { useSendbirdChat } from '../hooks/useContext';\nimport pubsub from '../utils/pubsub';\n\nconst createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): GroupChannelFragment => {\n const GroupChannelModule = createGroupChannelModule(initModule);\n\n return ({\n searchItem,\n renderNewMessagesButton = (props) => <NewMessagesButton {...props} />,\n renderScrollToBottomButton = (props) => <ScrollToBottomButton {...props} />,\n renderMessage,\n enableMessageGrouping = true,\n enableTypingIndicator,\n onPressHeaderLeft = NOOP,\n onPressHeaderRight = NOOP,\n onPressMediaMessage = NOOP,\n onChannelDeleted = NOOP,\n onBeforeSendUserMessage = PASS,\n onBeforeSendFileMessage = PASS,\n onBeforeUpdateUserMessage = PASS,\n onBeforeUpdateFileMessage = PASS,\n channel,\n keyboardAvoidOffset,\n collectionCreator,\n sortComparator = messageComparator,\n flatListProps,\n }) => {\n const { sdk, currentUser, sbOptions } = useSendbirdChat();\n\n const [internalSearchItem, setInternalSearchItem] = useState(searchItem);\n const navigateFromMessageSearch = useCallback(() => Boolean(searchItem), []);\n\n const [groupChannelPubSub] = useState(() => pubsub<GroupChannelPubSubContextPayload>());\n const [scrolledAwayFromBottom, setScrolledAwayFromBottom] = useState(false);\n const scrolledAwayFromBottomRef = useRefTracker(scrolledAwayFromBottom);\n\n const replyType = useIIFE(() => {\n if (sbOptions.uikit.groupChannel.channel.replyType === 'none') return ReplyType.NONE;\n else return ReplyType.ONLY_REPLY_TO_CHANNEL;\n });\n\n const {\n loading,\n messages,\n newMessages,\n resetNewMessages,\n next,\n prev,\n hasNext,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n } = useGroupChannelMessages(sdk, channel, currentUser?.userId, {\n shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,\n onMessagesReceived(messages) {\n groupChannelPubSub.publish({ type: 'MESSAGES_RECEIVED', data: { messages } });\n },\n collectionCreator,\n sortComparator,\n onChannelDeleted,\n replyType,\n startingPoint: internalSearchItem?.startingPoint,\n enableCollectionWithoutLocalCache: true,\n });\n\n const renderItem: GroupChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n if (renderMessage) return renderMessage(props);\n return <GroupChannelMessageRenderer {...props} />;\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <GroupChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [flatListProps],\n );\n\n const onResetMessageList = useCallback((callback?: () => void) => {\n resetWithStartingPoint(Number.MAX_SAFE_INTEGER, callback);\n setInternalSearchItem(undefined);\n }, []);\n\n const onPending = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_PENDING', data: { message } });\n };\n\n const onSent = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_SUCCESS', data: { message } });\n };\n\n const onPressSendUserMessage: GroupChannelProps['Input']['onPressSendUserMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendUserMessage(params);\n const message = await sendUserMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressSendFileMessage: GroupChannelProps['Input']['onPressSendFileMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendFileMessage(params);\n const message = await sendFileMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressUpdateUserMessage: GroupChannelProps['Input']['onPressUpdateUserMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateUserMessage(params);\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n const onPressUpdateFileMessage: GroupChannelProps['Input']['onPressUpdateFileMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateFileMessage(params);\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n const onScrolledAwayFromBottom = useFreshCallback((value: boolean) => {\n if (!value) resetNewMessages();\n setScrolledAwayFromBottom(value);\n });\n\n return (\n <GroupChannelModule.Provider\n channel={channel}\n groupChannelPubSub={groupChannelPubSub}\n enableTypingIndicator={enableTypingIndicator ?? sbOptions.uikit.groupChannel.channel.enableTypingIndicator}\n keyboardAvoidOffset={keyboardAvoidOffset}\n >\n <GroupChannelModule.Header\n shouldHideRight={navigateFromMessageSearch}\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={onPressHeaderRight}\n />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelModule.StatusLoading />}>\n <GroupChannelModule.MessageList\n channel={channel}\n searchItem={internalSearchItem}\n onResetMessageList={onResetMessageList}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={renderItem}\n messages={messages}\n newMessages={newMessages}\n onTopReached={prev}\n onBottomReached={next}\n hasNext={hasNext}\n scrolledAwayFromBottom={scrolledAwayFromBottom}\n onScrolledAwayFromBottom={onScrolledAwayFromBottom}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressMediaMessage={onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n />\n <GroupChannelModule.Input\n SuggestedMentionList={GroupChannelModule.SuggestedMentionList}\n shouldRenderInput={shouldRenderInput(channel)}\n onPressSendUserMessage={onPressSendUserMessage}\n onPressSendFileMessage={onPressSendFileMessage}\n onPressUpdateUserMessage={onPressUpdateUserMessage}\n onPressUpdateFileMessage={onPressUpdateFileMessage}\n />\n </StatusComposition>\n </GroupChannelModule.Provider>\n );\n };\n};\n\nfunction shouldRenderInput(channel: SendbirdGroupChannel) {\n if (channel.isBroadcast) {\n return channel.myRole === 'operator';\n }\n\n return true;\n}\n\nexport default createGroupChannelFragment;\n"],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ const createGroupChannelInviteFragment = initModule => {
|
|
|
45
45
|
const memberIds = shouldFilterMember(channel) ? channel.members.map(it => it.userId) : [];
|
|
46
46
|
const _renderUser = (0, _react.useCallback)((user, selectedUsers, setSelectedUsers) => {
|
|
47
47
|
if (queryCreator && !renderUser) {
|
|
48
|
-
const hasRequiredKey =
|
|
48
|
+
const hasRequiredKey = 'profileUrl' in user && 'nickname' in user;
|
|
49
49
|
if (!hasRequiredKey) throw new Error('You should provide "renderUser" when providing "queryCreator"');
|
|
50
50
|
}
|
|
51
51
|
if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitChatHooks","_StatusComposition","_interopRequireDefault","_UserSelectableBar","_createUserListModule","_useContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createGroupChannelInviteFragment","initModule","UserListModule","createUserListModule","_ref","channel","onPressHeaderLeft","onInviteMembers","sortComparator","queryCreator","renderUser","sdk","useSendbirdChat","STRINGS","useLocalization","users","refreshing","refresh","next","error","loading","useUserList","memberIds","shouldFilterMember","members","map","it","userId","_renderUser","useCallback","user","selectedUsers","setSelectedUsers","hasRequiredKey","hasOwn","Error","userIdxInMembers","indexOf","userIdxInSelectedUsers","findIndex","isMember","isSelected","createElement","TouchableOpacity","activeOpacity","disabled","onPress","_ref2","draft","splice","push","uri","profileUrl","name","nickname","LABELS","USER_NO_NAME","selected","Provider","headerRight","GROUP_CHANNEL_INVITE","HEADER_RIGHT","headerTitle","HEADER_TITLE","Header","onPressHeaderRight","userIds","updatedChannel","inviteWithUserIds","Boolean","LoadingComponent","StatusLoading","ErrorComponent","StatusError","onPressRetry","List","onLoadNext","onRefresh","ListEmptyComponent","StatusEmpty","isSuper","isBroadcast","_default","exports"],"sources":["createGroupChannelInviteFragment.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { TouchableOpacity } from 'react-native';\n\nimport { useUserList } from '@sendbird/uikit-chat-hooks';\nimport type { SendbirdGroupChannel, SendbirdUser, UserStruct } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport UserSelectableBar from '../components/UserSelectableBar';\nimport type { GroupChannelInviteFragment } from '../domain/groupChannelUserList/types';\nimport createUserListModule from '../domain/userList/module/createUserListModule';\nimport type { UserListModule } from '../domain/userList/types';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelInviteFragment = <UserType extends UserStruct>(\n initModule?: Partial<UserListModule<UserType>>,\n): GroupChannelInviteFragment<UserType> => {\n const UserListModule = createUserListModule<UserType>(initModule);\n\n return ({ channel, onPressHeaderLeft, onInviteMembers, sortComparator, queryCreator, renderUser }) => {\n const { sdk } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { users, refreshing, refresh, next, error, loading } = useUserList(sdk, {\n queryCreator,\n sortComparator,\n });\n\n const memberIds = shouldFilterMember(channel) ? channel.members.map((it) => it.userId) : [];\n\n const _renderUser: NonNullable<typeof renderUser> = useCallback(\n (user, selectedUsers, setSelectedUsers) => {\n if (queryCreator && !renderUser) {\n const hasRequiredKey = Object.hasOwn(user, 'profileUrl') && Object.hasOwn(user, 'nickname');\n if (!hasRequiredKey) throw new Error('You should provide \"renderUser\" when providing \"queryCreator\"');\n }\n\n if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);\n\n const userIdxInMembers = memberIds.indexOf(user.userId);\n const userIdxInSelectedUsers = selectedUsers.findIndex((it) => it.userId === user.userId);\n\n const isMember = userIdxInMembers > -1;\n const isSelected = userIdxInSelectedUsers > -1;\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n disabled={isMember}\n onPress={() => {\n setSelectedUsers(([...draft]) => {\n if (isSelected) draft.splice(userIdxInSelectedUsers, 1);\n else draft.push(user);\n return draft;\n });\n }}\n >\n <UserSelectableBar\n uri={(user as unknown as SendbirdUser).profileUrl}\n name={(user as unknown as SendbirdUser).nickname || STRINGS.LABELS.USER_NO_NAME}\n selected={isMember || isSelected}\n disabled={isMember}\n />\n </TouchableOpacity>\n );\n },\n [channel, renderUser, queryCreator],\n );\n\n return (\n <UserListModule.Provider\n headerRight={(selectedUsers) => STRINGS.GROUP_CHANNEL_INVITE.HEADER_RIGHT({ selectedUsers })}\n headerTitle={STRINGS.GROUP_CHANNEL_INVITE.HEADER_TITLE}\n >\n <UserListModule.Header\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={async (users) => {\n const userIds = users.map((it) => it.userId);\n const updatedChannel = await channel.inviteWithUserIds(userIds);\n onInviteMembers(updatedChannel);\n }}\n />\n <StatusComposition\n loading={loading}\n error={Boolean(error)}\n LoadingComponent={<UserListModule.StatusLoading />}\n ErrorComponent={<UserListModule.StatusError onPressRetry={() => refresh()} />}\n >\n <UserListModule.List\n onLoadNext={next}\n users={users}\n renderUser={_renderUser}\n onRefresh={refresh}\n refreshing={refreshing}\n ListEmptyComponent={<UserListModule.StatusEmpty />}\n />\n </StatusComposition>\n </UserListModule.Provider>\n );\n };\n};\n\nfunction shouldFilterMember(channel: SendbirdGroupChannel) {\n return !channel.isSuper && !channel.isBroadcast;\n}\n\nexport default createGroupChannelInviteFragment;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitChatHooks","_StatusComposition","_interopRequireDefault","_UserSelectableBar","_createUserListModule","_useContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createGroupChannelInviteFragment","initModule","UserListModule","createUserListModule","_ref","channel","onPressHeaderLeft","onInviteMembers","sortComparator","queryCreator","renderUser","sdk","useSendbirdChat","STRINGS","useLocalization","users","refreshing","refresh","next","error","loading","useUserList","memberIds","shouldFilterMember","members","map","it","userId","_renderUser","useCallback","user","selectedUsers","setSelectedUsers","hasRequiredKey","Error","userIdxInMembers","indexOf","userIdxInSelectedUsers","findIndex","isMember","isSelected","createElement","TouchableOpacity","activeOpacity","disabled","onPress","_ref2","draft","splice","push","uri","profileUrl","name","nickname","LABELS","USER_NO_NAME","selected","Provider","headerRight","GROUP_CHANNEL_INVITE","HEADER_RIGHT","headerTitle","HEADER_TITLE","Header","onPressHeaderRight","userIds","updatedChannel","inviteWithUserIds","Boolean","LoadingComponent","StatusLoading","ErrorComponent","StatusError","onPressRetry","List","onLoadNext","onRefresh","ListEmptyComponent","StatusEmpty","isSuper","isBroadcast","_default","exports"],"sources":["createGroupChannelInviteFragment.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { TouchableOpacity } from 'react-native';\n\nimport { useUserList } from '@sendbird/uikit-chat-hooks';\nimport type { SendbirdGroupChannel, SendbirdUser, UserStruct } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport UserSelectableBar from '../components/UserSelectableBar';\nimport type { GroupChannelInviteFragment } from '../domain/groupChannelUserList/types';\nimport createUserListModule from '../domain/userList/module/createUserListModule';\nimport type { UserListModule } from '../domain/userList/types';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelInviteFragment = <UserType extends UserStruct>(\n initModule?: Partial<UserListModule<UserType>>,\n): GroupChannelInviteFragment<UserType> => {\n const UserListModule = createUserListModule<UserType>(initModule);\n\n return ({ channel, onPressHeaderLeft, onInviteMembers, sortComparator, queryCreator, renderUser }) => {\n const { sdk } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { users, refreshing, refresh, next, error, loading } = useUserList(sdk, {\n queryCreator,\n sortComparator,\n });\n\n const memberIds = shouldFilterMember(channel) ? channel.members.map((it) => it.userId) : [];\n\n const _renderUser: NonNullable<typeof renderUser> = useCallback(\n (user, selectedUsers, setSelectedUsers) => {\n if (queryCreator && !renderUser) {\n const hasRequiredKey = 'profileUrl' in user && 'nickname' in user;\n if (!hasRequiredKey) throw new Error('You should provide \"renderUser\" when providing \"queryCreator\"');\n }\n\n if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);\n\n const userIdxInMembers = memberIds.indexOf(user.userId);\n const userIdxInSelectedUsers = selectedUsers.findIndex((it) => it.userId === user.userId);\n\n const isMember = userIdxInMembers > -1;\n const isSelected = userIdxInSelectedUsers > -1;\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n disabled={isMember}\n onPress={() => {\n setSelectedUsers(([...draft]) => {\n if (isSelected) draft.splice(userIdxInSelectedUsers, 1);\n else draft.push(user);\n return draft;\n });\n }}\n >\n <UserSelectableBar\n uri={(user as unknown as SendbirdUser).profileUrl}\n name={(user as unknown as SendbirdUser).nickname || STRINGS.LABELS.USER_NO_NAME}\n selected={isMember || isSelected}\n disabled={isMember}\n />\n </TouchableOpacity>\n );\n },\n [channel, renderUser, queryCreator],\n );\n\n return (\n <UserListModule.Provider\n headerRight={(selectedUsers) => STRINGS.GROUP_CHANNEL_INVITE.HEADER_RIGHT({ selectedUsers })}\n headerTitle={STRINGS.GROUP_CHANNEL_INVITE.HEADER_TITLE}\n >\n <UserListModule.Header\n onPressHeaderLeft={onPressHeaderLeft}\n onPressHeaderRight={async (users) => {\n const userIds = users.map((it) => it.userId);\n const updatedChannel = await channel.inviteWithUserIds(userIds);\n onInviteMembers(updatedChannel);\n }}\n />\n <StatusComposition\n loading={loading}\n error={Boolean(error)}\n LoadingComponent={<UserListModule.StatusLoading />}\n ErrorComponent={<UserListModule.StatusError onPressRetry={() => refresh()} />}\n >\n <UserListModule.List\n onLoadNext={next}\n users={users}\n renderUser={_renderUser}\n onRefresh={refresh}\n refreshing={refreshing}\n ListEmptyComponent={<UserListModule.StatusEmpty />}\n />\n </StatusComposition>\n </UserListModule.Provider>\n );\n };\n};\n\nfunction shouldFilterMember(channel: SendbirdGroupChannel) {\n return !channel.isSuper && !channel.isBroadcast;\n}\n\nexport default createGroupChannelInviteFragment;\n"],"mappings":"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"}
|
|
@@ -18,7 +18,6 @@ const createGroupChannelListFragment = initModule => {
|
|
|
18
18
|
let {
|
|
19
19
|
onPressChannel,
|
|
20
20
|
onPressCreateChannel,
|
|
21
|
-
queryCreator,
|
|
22
21
|
collectionCreator,
|
|
23
22
|
renderGroupChannelPreview,
|
|
24
23
|
skipTypeSelection = false,
|
|
@@ -28,7 +27,7 @@ const createGroupChannelListFragment = initModule => {
|
|
|
28
27
|
const {
|
|
29
28
|
sdk,
|
|
30
29
|
currentUser,
|
|
31
|
-
|
|
30
|
+
sbOptions,
|
|
32
31
|
markAsDeliveredWithChannel
|
|
33
32
|
} = (0, _useContext.useSendbirdChat)();
|
|
34
33
|
const {
|
|
@@ -36,28 +35,24 @@ const createGroupChannelListFragment = initModule => {
|
|
|
36
35
|
next,
|
|
37
36
|
loading
|
|
38
37
|
} = (0, _uikitChatHooks.useGroupChannelList)(sdk, currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId, {
|
|
39
|
-
queryCreator,
|
|
40
38
|
collectionCreator,
|
|
41
|
-
enableCollectionWithoutLocalCache:
|
|
39
|
+
enableCollectionWithoutLocalCache: true
|
|
42
40
|
});
|
|
43
|
-
if (
|
|
41
|
+
if (sbOptions.appInfo.deliveryReceiptEnabled) {
|
|
44
42
|
(0, _uikitUtils.useAppState)('change', status => {
|
|
45
43
|
if (status === 'active') groupChannels.forEach(markAsDeliveredWithChannel);
|
|
46
44
|
});
|
|
47
45
|
}
|
|
48
|
-
const _renderGroupChannelPreview = (0, _uikitUtils.useFreshCallback)(
|
|
49
|
-
if (renderGroupChannelPreview) return renderGroupChannelPreview(
|
|
50
|
-
return /*#__PURE__*/_react.default.createElement(_GroupChannelPreviewContainer.default,
|
|
51
|
-
channel: channel,
|
|
52
|
-
onPress: () => onPressChannel(channel),
|
|
53
|
-
onLongPress: () => onLongPressChannel()
|
|
54
|
-
});
|
|
46
|
+
const _renderGroupChannelPreview = (0, _uikitUtils.useFreshCallback)(props => {
|
|
47
|
+
if (renderGroupChannelPreview) return renderGroupChannelPreview(props);
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(_GroupChannelPreviewContainer.default, props);
|
|
55
49
|
});
|
|
56
|
-
const isChannelTypeAvailable =
|
|
50
|
+
const isChannelTypeAvailable = sbOptions.appInfo.broadcastChannelEnabled || sbOptions.appInfo.superGroupChannelEnabled;
|
|
57
51
|
return /*#__PURE__*/_react.default.createElement(GroupChannelListModule.Provider, null, /*#__PURE__*/_react.default.createElement(GroupChannelListModule.Header, null), /*#__PURE__*/_react.default.createElement(_StatusComposition.default, {
|
|
58
52
|
loading: loading,
|
|
59
53
|
LoadingComponent: /*#__PURE__*/_react.default.createElement(GroupChannelListModule.StatusLoading, null)
|
|
60
54
|
}, /*#__PURE__*/_react.default.createElement(GroupChannelListModule.List, {
|
|
55
|
+
onPressChannel: onPressChannel,
|
|
61
56
|
menuItemCreator: menuItemCreator,
|
|
62
57
|
renderGroupChannelPreview: _renderGroupChannelPreview,
|
|
63
58
|
groupChannels: groupChannels,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_uikitChatHooks","_uikitUtils","_StatusComposition","_GroupChannelPreviewContainer","_createGroupChannelListModule","_useContext","obj","__esModule","default","createGroupChannelListFragment","initModule","GroupChannelListModule","createGroupChannelListModule","_ref","onPressChannel","onPressCreateChannel","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_uikitChatHooks","_uikitUtils","_StatusComposition","_GroupChannelPreviewContainer","_createGroupChannelListModule","_useContext","obj","__esModule","default","createGroupChannelListFragment","initModule","GroupChannelListModule","createGroupChannelListModule","_ref","onPressChannel","onPressCreateChannel","collectionCreator","renderGroupChannelPreview","skipTypeSelection","flatListProps","menuItemCreator","PASS","sdk","currentUser","sbOptions","markAsDeliveredWithChannel","useSendbirdChat","groupChannels","next","loading","useGroupChannelList","userId","enableCollectionWithoutLocalCache","appInfo","deliveryReceiptEnabled","useAppState","status","forEach","_renderGroupChannelPreview","useFreshCallback","props","createElement","isChannelTypeAvailable","broadcastChannelEnabled","superGroupChannelEnabled","Provider","Header","LoadingComponent","StatusLoading","List","onLoadNext","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","TypeSelector","onSelectType","_default","exports"],"sources":["createGroupChannelListFragment.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useGroupChannelList } from '@sendbird/uikit-chat-hooks';\nimport { PASS, useAppState, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport GroupChannelPreviewContainer from '../containers/GroupChannelPreviewContainer';\nimport createGroupChannelListModule from '../domain/groupChannelList/module/createGroupChannelListModule';\nimport type {\n GroupChannelListFragment,\n GroupChannelListModule,\n GroupChannelListProps,\n} from '../domain/groupChannelList/types';\nimport { useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelListFragment = (initModule?: Partial<GroupChannelListModule>): GroupChannelListFragment => {\n const GroupChannelListModule = createGroupChannelListModule(initModule);\n return ({\n onPressChannel,\n onPressCreateChannel,\n collectionCreator,\n renderGroupChannelPreview,\n skipTypeSelection = false,\n flatListProps = {},\n menuItemCreator = PASS,\n }) => {\n const { sdk, currentUser, sbOptions, markAsDeliveredWithChannel } = useSendbirdChat();\n const { groupChannels, next, loading } = useGroupChannelList(sdk, currentUser?.userId, {\n collectionCreator,\n enableCollectionWithoutLocalCache: true,\n });\n\n if (sbOptions.appInfo.deliveryReceiptEnabled) {\n useAppState('change', (status) => {\n if (status === 'active') groupChannels.forEach(markAsDeliveredWithChannel);\n });\n }\n\n const _renderGroupChannelPreview: GroupChannelListProps['List']['renderGroupChannelPreview'] = useFreshCallback(\n (props) => {\n if (renderGroupChannelPreview) return renderGroupChannelPreview(props);\n return <GroupChannelPreviewContainer {...props} />;\n },\n );\n\n const isChannelTypeAvailable =\n sbOptions.appInfo.broadcastChannelEnabled || sbOptions.appInfo.superGroupChannelEnabled;\n\n return (\n <GroupChannelListModule.Provider>\n <GroupChannelListModule.Header />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelListModule.StatusLoading />}>\n <GroupChannelListModule.List\n onPressChannel={onPressChannel}\n menuItemCreator={menuItemCreator}\n renderGroupChannelPreview={_renderGroupChannelPreview}\n groupChannels={groupChannels}\n onLoadNext={next}\n flatListProps={{\n ListEmptyComponent: <GroupChannelListModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }}\n />\n </StatusComposition>\n <GroupChannelListModule.TypeSelector\n skipTypeSelection={isChannelTypeAvailable ? skipTypeSelection : true}\n onSelectType={onPressCreateChannel}\n />\n </GroupChannelListModule.Provider>\n );\n };\n};\n\nexport default createGroupChannelListFragment;\n"],"mappings":"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"}
|