@sendbird/uikit-react-native 2.1.0 → 2.3.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 +42 -17
- package/lib/commonjs/components/ChatFlatList.js +2 -1
- package/lib/commonjs/components/ChatFlatList.js.map +1 -1
- package/lib/commonjs/components/FileViewer.js +2 -5
- package/lib/commonjs/components/FileViewer.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +26 -11
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +1 -6
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -10
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +102 -15
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/index.js +22 -3
- package/lib/commonjs/components/MessageRenderer/index.js.map +1 -1
- package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js +150 -0
- package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
- package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js +135 -0
- package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
- package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js +87 -0
- package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
- package/lib/commonjs/components/ReactionAddons/index.js +19 -0
- package/lib/commonjs/components/ReactionAddons/index.js.map +1 -0
- package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js +150 -0
- package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
- package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +276 -0
- package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
- package/lib/commonjs/components/ReactionBottomSheets/index.js +19 -0
- package/lib/commonjs/components/ReactionBottomSheets/index.js.map +1 -0
- package/lib/commonjs/constants.js +3 -1
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js +4 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +130 -79
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/PlatformServiceCtx.js.map +1 -1
- package/lib/commonjs/contexts/ReactionCtx.js +107 -0
- package/lib/commonjs/contexts/ReactionCtx.js.map +1 -0
- package/lib/commonjs/contexts/SendbirdChatCtx.js +26 -18
- package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/commonjs/contexts/UserProfileCtx.js +9 -0
- package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js +33 -37
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +95 -23
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js +121 -31
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +34 -13
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +210 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/index.js +8 -0
- package/lib/commonjs/domain/groupChannel/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js +4 -0
- package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js +4 -4
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +3 -2
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +2 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +2 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +39 -0
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +140 -0
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
- package/lib/commonjs/domain/groupChannelNotifications/index.js +46 -0
- package/lib/commonjs/domain/groupChannelNotifications/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +33 -0
- package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelNotifications/types.js +6 -0
- package/lib/commonjs/domain/groupChannelNotifications/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +2 -1
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +49 -6
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +11 -16
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
- package/lib/commonjs/domain/userList/component/UserListList.js +4 -1
- package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -1
- package/lib/commonjs/domain/userList/module/createUserListModule.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +11 -4
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelListFragment.js +4 -14
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js +34 -0
- package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +3 -1
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
- package/lib/commonjs/hooks/useConnection.js +3 -0
- package/lib/commonjs/hooks/useConnection.js.map +1 -1
- package/lib/commonjs/hooks/useContext.js +11 -1
- package/lib/commonjs/hooks/useContext.js.map +1 -1
- package/lib/commonjs/hooks/useKeyboardStatus.js +97 -0
- package/lib/commonjs/hooks/useKeyboardStatus.js.map +1 -0
- package/lib/commonjs/hooks/useMentionSuggestion.js +110 -0
- package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -0
- package/lib/commonjs/hooks/useMentionTextInput.js +139 -0
- package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -0
- package/lib/commonjs/index.js +95 -40
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/libs/EmojiManager.js +100 -0
- package/lib/commonjs/libs/EmojiManager.js.map +1 -0
- package/lib/commonjs/libs/ImageCompressionConfig.js +38 -0
- package/lib/commonjs/libs/ImageCompressionConfig.js.map +1 -0
- package/lib/commonjs/libs/MentionConfig.js +47 -0
- package/lib/commonjs/libs/MentionConfig.js.map +1 -0
- package/lib/commonjs/libs/MentionManager.js +235 -0
- package/lib/commonjs/libs/MentionManager.js.map +1 -0
- package/lib/commonjs/libs/SBUUtils.js +27 -0
- package/lib/commonjs/libs/SBUUtils.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js +20 -5
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- package/lib/commonjs/platform/createMediaService.expo.js +35 -1
- package/lib/commonjs/platform/createMediaService.expo.js.map +1 -1
- package/lib/commonjs/platform/createMediaService.native.js +41 -6
- package/lib/commonjs/platform/createMediaService.native.js.map +1 -1
- package/lib/commonjs/platform/dynamicModule.js +9 -57
- package/lib/commonjs/platform/dynamicModule.js.map +1 -1
- package/lib/commonjs/platform/types.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/components/ChatFlatList.js +3 -2
- package/lib/module/components/ChatFlatList.js.map +1 -1
- package/lib/module/components/FileViewer.js +2 -5
- package/lib/module/components/FileViewer.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +26 -11
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/index.js +1 -5
- package/lib/module/components/MessageRenderer/FileMessage/index.js.map +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -12
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +103 -19
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/index.js.map +1 -1
- package/lib/module/components/MessageRenderer/index.js +21 -4
- package/lib/module/components/MessageRenderer/index.js.map +1 -1
- package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js +132 -0
- package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
- package/lib/module/components/ReactionAddons/MessageReactionAddon.js +118 -0
- package/lib/module/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
- package/lib/module/components/ReactionAddons/ReactionRoundedButton.js +74 -0
- package/lib/module/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
- package/lib/module/components/ReactionAddons/index.js +7 -0
- package/lib/module/components/ReactionAddons/index.js.map +1 -0
- package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js +135 -0
- package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
- package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +259 -0
- package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
- package/lib/module/components/ReactionBottomSheets/index.js +7 -0
- package/lib/module/components/ReactionBottomSheets/index.js.map +1 -0
- package/lib/module/constants.js +1 -0
- package/lib/module/constants.js.map +1 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js +4 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +127 -81
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/contexts/PlatformServiceCtx.js.map +1 -1
- package/lib/module/contexts/ReactionCtx.js +85 -0
- package/lib/module/contexts/ReactionCtx.js.map +1 -0
- package/lib/module/contexts/SendbirdChatCtx.js +28 -18
- package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/module/contexts/UserProfileCtx.js +7 -0
- package/lib/module/contexts/UserProfileCtx.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js +34 -39
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +92 -26
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js +118 -33
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +35 -16
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +188 -0
- package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
- package/lib/module/domain/groupChannel/index.js +1 -0
- package/lib/module/domain/groupChannel/index.js.map +1 -1
- package/lib/module/domain/groupChannel/module/createGroupChannelModule.js +3 -0
- package/lib/module/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
- package/lib/module/domain/groupChannel/module/moduleContext.js +4 -4
- package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannel/types.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +4 -3
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +3 -2
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +3 -2
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
- package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +25 -0
- package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
- package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +122 -0
- package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
- package/lib/module/domain/groupChannelNotifications/index.js +5 -0
- package/lib/module/domain/groupChannelNotifications/index.js.map +1 -0
- package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +21 -0
- package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
- package/lib/module/domain/groupChannelNotifications/module/moduleContext.js +25 -0
- package/lib/module/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelNotifications/types.js +2 -0
- package/lib/module/domain/groupChannelNotifications/types.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +3 -2
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +46 -6
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js +12 -17
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
- package/lib/module/domain/userList/component/UserListList.js +3 -1
- package/lib/module/domain/userList/component/UserListList.js.map +1 -1
- package/lib/module/domain/userList/module/createUserListModule.js.map +1 -1
- package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +11 -4
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelListFragment.js +5 -9
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelNotificationsFragment.js +22 -0
- package/lib/module/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelSettingsFragment.js +3 -1
- package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
- package/lib/module/hooks/useConnection.js +3 -0
- package/lib/module/hooks/useConnection.js.map +1 -1
- package/lib/module/hooks/useContext.js +6 -0
- package/lib/module/hooks/useContext.js.map +1 -1
- package/lib/module/hooks/useKeyboardStatus.js +78 -0
- package/lib/module/hooks/useKeyboardStatus.js.map +1 -0
- package/lib/module/hooks/useMentionSuggestion.js +100 -0
- package/lib/module/hooks/useMentionSuggestion.js.map +1 -0
- package/lib/module/hooks/useMentionTextInput.js +128 -0
- package/lib/module/hooks/useMentionTextInput.js.map +1 -0
- package/lib/module/index.js +8 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/libs/EmojiManager.js +90 -0
- package/lib/module/libs/EmojiManager.js.map +1 -0
- package/lib/module/libs/ImageCompressionConfig.js +30 -0
- package/lib/module/libs/ImageCompressionConfig.js.map +1 -0
- package/lib/module/libs/MentionConfig.js +39 -0
- package/lib/module/libs/MentionConfig.js.map +1 -0
- package/lib/module/libs/MentionManager.js +223 -0
- package/lib/module/libs/MentionManager.js.map +1 -0
- package/lib/module/libs/SBUUtils.js +26 -1
- package/lib/module/libs/SBUUtils.js.map +1 -1
- package/lib/module/localization/StringSet.type.js +21 -6
- package/lib/module/localization/StringSet.type.js.map +1 -1
- package/lib/module/platform/createMediaService.expo.js +33 -1
- package/lib/module/platform/createMediaService.expo.js.map +1 -1
- package/lib/module/platform/createMediaService.native.js +38 -5
- package/lib/module/platform/createMediaService.native.js.map +1 -1
- package/lib/module/platform/dynamicModule.js +10 -56
- package/lib/module/platform/dynamicModule.js.map +1 -1
- package/lib/module/platform/types.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/__template__/types.d.ts +3 -3
- package/lib/typescript/src/components/ChannelCover.d.ts +1 -1
- package/lib/typescript/src/components/ChatFlatList.d.ts +1 -1
- package/lib/typescript/src/components/FileViewer.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +2 -2
- package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +11 -2
- package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/MessageOutgoingStatus.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +1 -1
- package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +2 -2
- package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +4 -1
- package/lib/typescript/src/components/MessageRenderer/index.d.ts +4 -3
- package/lib/typescript/src/components/NewMessagesButton.d.ts +1 -1
- package/lib/typescript/src/components/ReactionAddons/BottomSheetReactionAddon.d.ts +8 -0
- package/lib/typescript/src/components/ReactionAddons/MessageReactionAddon.d.ts +6 -0
- package/lib/typescript/src/components/ReactionAddons/ReactionRoundedButton.d.ts +14 -0
- package/lib/typescript/src/components/ReactionAddons/index.d.ts +11 -0
- package/lib/typescript/src/components/ReactionBottomSheets/ReactionListBottomSheet.d.ts +3 -0
- package/lib/typescript/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.d.ts +3 -0
- package/lib/typescript/src/components/ReactionBottomSheets/index.d.ts +20 -0
- package/lib/typescript/src/components/ScrollToBottomButton.d.ts +1 -1
- package/lib/typescript/src/components/StatusComposition.d.ts +1 -1
- package/lib/typescript/src/components/TypedPlaceholder.d.ts +1 -1
- package/lib/typescript/src/components/UserActionBar.d.ts +1 -1
- package/lib/typescript/src/components/UserSelectableBar.d.ts +1 -1
- package/lib/typescript/src/constants.d.ts +1 -0
- package/lib/typescript/src/containers/GroupChannelPreviewContainer.d.ts +1 -1
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +20 -8
- package/lib/typescript/src/contexts/LocalizationCtx.d.ts +2 -2
- package/lib/typescript/src/contexts/PlatformServiceCtx.d.ts +9 -3
- package/lib/typescript/src/contexts/ReactionCtx.d.ts +18 -0
- package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +16 -3
- package/lib/typescript/src/contexts/UserProfileCtx.d.ts +4 -4
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +35 -7
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +32 -5
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +19 -2
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannel/index.d.ts +1 -0
- package/lib/typescript/src/domain/groupChannel/module/createGroupChannelModule.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannel/types.d.ts +24 -7
- package/lib/typescript/src/domain/groupChannelBannedUsers/types.d.ts +3 -3
- package/lib/typescript/src/domain/groupChannelList/types.d.ts +2 -2
- package/lib/typescript/src/domain/groupChannelModeration/types.d.ts +3 -3
- package/lib/typescript/src/domain/groupChannelMutedMembers/types.d.ts +3 -3
- package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelNotifications/index.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelNotifications/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelNotifications/types.d.ts +33 -0
- package/lib/typescript/src/domain/groupChannelOperators/types.d.ts +3 -3
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +3 -1
- package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +6 -6
- package/lib/typescript/src/domain/userList/component/UserListList.d.ts +2 -1
- package/lib/typescript/src/domain/userList/module/createUserListModule.d.ts +2 -1
- package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +1 -1
- package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +1 -1
- package/lib/typescript/src/fragments/createGroupChannelNotificationsFragment.d.ts +3 -0
- package/lib/typescript/src/hooks/useConnection.d.ts +1 -1
- package/lib/typescript/src/hooks/useContext.d.ts +3 -26
- package/lib/typescript/src/hooks/useKeyboardStatus.d.ts +6 -0
- package/lib/typescript/src/hooks/useMentionSuggestion.d.ts +17 -0
- package/lib/typescript/src/hooks/useMentionTextInput.d.ts +18 -0
- package/lib/typescript/src/index.d.ts +8 -3
- package/lib/typescript/src/libs/EmojiManager.d.ts +16 -0
- package/lib/typescript/src/libs/ImageCompressionConfig.d.ts +16 -0
- package/lib/typescript/src/libs/MentionConfig.d.ts +24 -0
- package/lib/typescript/src/libs/MentionManager.d.ts +61 -0
- package/lib/typescript/src/libs/SBUUtils.d.ts +6 -0
- package/lib/typescript/src/localization/StringSet.type.d.ts +19 -2
- package/lib/typescript/src/platform/createMediaService.expo.d.ts +6 -2
- package/lib/typescript/src/platform/createMediaService.native.d.ts +8 -6
- package/lib/typescript/src/platform/dynamicModule.d.ts +8 -13
- package/lib/typescript/src/platform/types.d.ts +33 -8
- package/lib/typescript/src/types.d.ts +13 -4
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +16 -6
- package/src/components/ChatFlatList.tsx +2 -1
- package/src/components/FileViewer.tsx +2 -5
- package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +17 -12
- package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +30 -18
- package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +21 -11
- package/src/components/MessageRenderer/FileMessage/index.tsx +1 -4
- package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +82 -14
- package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +136 -62
- package/src/components/MessageRenderer/UserMessage/index.tsx +8 -1
- package/src/components/MessageRenderer/index.tsx +39 -7
- package/src/components/ReactionAddons/BottomSheetReactionAddon.tsx +106 -0
- package/src/components/ReactionAddons/MessageReactionAddon.tsx +123 -0
- package/src/components/ReactionAddons/ReactionRoundedButton.tsx +71 -0
- package/src/components/ReactionAddons/index.tsx +7 -0
- package/src/components/ReactionBottomSheets/ReactionListBottomSheet.tsx +113 -0
- package/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.tsx +249 -0
- package/src/components/ReactionBottomSheets/index.tsx +24 -0
- package/src/constants.ts +2 -0
- package/src/containers/GroupChannelPreviewContainer.tsx +3 -1
- package/src/containers/SendbirdUIKitContainer.tsx +165 -88
- package/src/contexts/PlatformServiceCtx.tsx +9 -2
- package/src/contexts/ReactionCtx.tsx +102 -0
- package/src/contexts/SendbirdChatCtx.tsx +46 -21
- package/src/contexts/UserProfileCtx.tsx +9 -0
- package/src/domain/groupChannel/component/GroupChannelInput/EditInput.tsx +56 -30
- package/src/domain/groupChannel/component/GroupChannelInput/SendInput.tsx +129 -32
- package/src/domain/groupChannel/component/GroupChannelInput/index.tsx +138 -43
- package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +30 -12
- package/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.tsx +173 -0
- package/src/domain/groupChannel/index.ts +1 -0
- package/src/domain/groupChannel/module/createGroupChannelModule.tsx +12 -1
- package/src/domain/groupChannel/module/moduleContext.tsx +4 -4
- package/src/domain/groupChannel/types.ts +28 -5
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.tsx +3 -2
- package/src/domain/groupChannelList/component/GroupChannelListList.tsx +2 -1
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.tsx +2 -1
- package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.tsx +14 -0
- package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.tsx +128 -0
- package/src/domain/groupChannelNotifications/index.ts +4 -0
- package/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.tsx +15 -0
- package/src/domain/groupChannelNotifications/module/moduleContext.tsx +31 -0
- package/src/domain/groupChannelNotifications/types.ts +38 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.tsx +2 -1
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +42 -3
- package/src/domain/groupChannelSettings/module/moduleContext.tsx +17 -14
- package/src/domain/groupChannelSettings/types.ts +2 -0
- package/src/domain/groupChannelUserList/types.ts +7 -2
- package/src/domain/userList/component/UserListList.tsx +5 -1
- package/src/domain/userList/module/createUserListModule.tsx +3 -1
- package/src/fragments/createGroupChannelCreateFragment.tsx +8 -2
- package/src/fragments/createGroupChannelFragment.tsx +19 -6
- package/src/fragments/createGroupChannelInviteFragment.tsx +2 -2
- package/src/fragments/createGroupChannelListFragment.tsx +5 -9
- package/src/fragments/createGroupChannelNotificationsFragment.tsx +27 -0
- package/src/fragments/createGroupChannelSettingsFragment.tsx +2 -0
- package/src/hooks/useConnection.ts +3 -1
- package/src/hooks/useContext.ts +7 -0
- package/src/hooks/useKeyboardStatus.ts +59 -0
- package/src/hooks/useMentionSuggestion.ts +106 -0
- package/src/hooks/useMentionTextInput.ts +139 -0
- package/src/index.ts +14 -2
- package/src/libs/EmojiManager.ts +80 -0
- package/src/libs/ImageCompressionConfig.ts +31 -0
- package/src/libs/MentionConfig.ts +40 -0
- package/src/libs/MentionManager.tsx +240 -0
- package/src/libs/SBUUtils.ts +28 -1
- package/src/localization/StringSet.type.ts +45 -8
- package/src/platform/createMediaService.expo.tsx +24 -1
- package/src/platform/createMediaService.native.tsx +31 -9
- package/src/platform/dynamicModule.ts +17 -59
- package/src/platform/types.ts +29 -7
- package/src/types.ts +12 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdGroupChannel } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelSettingsProps {\n Fragment: {\n channel: GroupChannelSettingsProps['Provider']['channel'];\n onPressHeaderLeft: GroupChannelSettingsProps['Header']['onPressHeaderLeft'];\n onPressMenuModeration: GroupChannelSettingsProps['Menu']['onPressMenuModeration'];\n onPressMenuMembers: GroupChannelSettingsProps['Menu']['onPressMenuMembers'];\n onPressMenuLeaveChannel: GroupChannelSettingsProps['Menu']['onPressMenuLeaveChannel'];\n menuItemsCreator?: GroupChannelSettingsProps['Menu']['menuItemsCreator'];\n };\n Header: {\n onPressHeaderLeft: () => void;\n };\n Info: {};\n Menu: {\n onPressMenuModeration: () => void;\n onPressMenuMembers: () => void;\n onPressMenuLeaveChannel: () => void;\n menuItemsCreator?: (defaultMenuItems: MenuBarProps[]) => MenuBarProps[];\n };\n Provider: {\n channel: SendbirdGroupChannel;\n };\n}\n\n/**\n * Internal context for GroupChannelSettings\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelSettingsContextsType {\n Fragment: React.Context<{\n channel: SendbirdGroupChannel;\n headerTitle: string;\n headerRight: string;\n onPressHeaderRight: () => void;\n }>;\n}\nexport interface GroupChannelSettingsModule {\n Provider: CommonComponent<GroupChannelSettingsProps['Provider']>;\n Header: CommonComponent<GroupChannelSettingsProps['Header']>;\n Info: CommonComponent<GroupChannelSettingsProps['Info']>;\n Menu: CommonComponent<GroupChannelSettingsProps['Menu']>;\n}\n\nexport type GroupChannelSettingsFragment = CommonComponent<GroupChannelSettingsProps['Fragment']>;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdGroupChannel } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelSettingsProps {\n Fragment: {\n channel: GroupChannelSettingsProps['Provider']['channel'];\n onPressHeaderLeft: GroupChannelSettingsProps['Header']['onPressHeaderLeft'];\n onPressMenuModeration: GroupChannelSettingsProps['Menu']['onPressMenuModeration'];\n onPressMenuMembers: GroupChannelSettingsProps['Menu']['onPressMenuMembers'];\n onPressMenuLeaveChannel: GroupChannelSettingsProps['Menu']['onPressMenuLeaveChannel'];\n onPressMenuNotification?: GroupChannelSettingsProps['Menu']['onPressMenuNotification'];\n menuItemsCreator?: GroupChannelSettingsProps['Menu']['menuItemsCreator'];\n };\n Header: {\n onPressHeaderLeft: () => void;\n };\n Info: {};\n Menu: {\n onPressMenuModeration: () => void;\n onPressMenuMembers: () => void;\n onPressMenuLeaveChannel: () => void;\n onPressMenuNotification?: () => void;\n menuItemsCreator?: (defaultMenuItems: MenuBarProps[]) => MenuBarProps[];\n };\n Provider: {\n channel: SendbirdGroupChannel;\n };\n}\n\n/**\n * Internal context for GroupChannelSettings\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelSettingsContextsType {\n Fragment: React.Context<{\n channel: SendbirdGroupChannel;\n headerTitle: string;\n headerRight: string;\n onPressHeaderRight: () => void;\n }>;\n}\nexport interface GroupChannelSettingsModule {\n Provider: CommonComponent<GroupChannelSettingsProps['Provider']>;\n Header: CommonComponent<GroupChannelSettingsProps['Header']>;\n Info: CommonComponent<GroupChannelSettingsProps['Info']>;\n Menu: CommonComponent<GroupChannelSettingsProps['Menu']>;\n}\n\nexport type GroupChannelSettingsFragment = CommonComponent<GroupChannelSettingsProps['Fragment']>;\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { UseUserListOptions
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { UseUserListOptions } from '@sendbird/uikit-chat-hooks';\nimport type {\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n UserStruct,\n} from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\nimport type { GroupChannelType } from '../groupChannelList/types';\nimport type { UserListProps } from '../userList/types';\n\nexport interface GroupChannelCreateProps<User extends UserStruct> {\n Fragment: {\n onPressHeaderLeft: () => void;\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n channelType?: GroupChannelType;\n onBeforeCreateChannel?: (\n params: SendbirdGroupChannelCreateParams,\n users: User[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n sortComparator?: UseUserListOptions<User>['sortComparator'];\n queryCreator?: UseUserListOptions<User>['queryCreator'];\n renderUser?: UserListProps<User>['List']['renderUser'];\n };\n}\nexport type GroupChannelCreateFragment<User extends UserStruct> = CommonComponent<\n GroupChannelCreateProps<User>['Fragment']\n>;\n\nexport interface GroupChannelInviteProps<User extends UserStruct> {\n Fragment: {\n channel: SendbirdGroupChannel;\n onPressHeaderLeft: () => void;\n onInviteMembers: (channel: SendbirdGroupChannel) => void;\n queryCreator?: UseUserListOptions<User>['queryCreator'];\n renderUser?: UserListProps<User>['List']['renderUser'];\n sortComparator?: UseUserListOptions<User>['sortComparator'];\n };\n}\nexport type GroupChannelInviteFragment<User extends UserStruct> = CommonComponent<\n GroupChannelInviteProps<User>['Fragment']\n>;\n\nexport interface GroupChannelMembersProps<User extends UserStruct> {\n Fragment: {\n channel: SendbirdGroupChannel;\n onPressHeaderLeft: () => void;\n onPressHeaderRight: () => void;\n sortComparator?: UseUserListOptions<User>['sortComparator'];\n renderUser?: UserListProps<User>['List']['renderUser'];\n };\n}\nexport type GroupChannelMembersFragment<User extends UserStruct> = CommonComponent<\n GroupChannelMembersProps<User>['Fragment']\n>;\n\nexport interface GroupChannelRegisterOperatorProps<User extends UserStruct = SendbirdMember> {\n Fragment: {\n channel: SendbirdGroupChannel;\n onPressHeaderLeft: () => void;\n onPressHeaderRight: (channel: SendbirdGroupChannel) => void;\n sortComparator?: UseUserListOptions<User>['sortComparator'];\n renderUser?: UserListProps<User>['List']['renderUser'];\n };\n}\nexport type GroupChannelRegisterOperatorFragment<User extends UserStruct> = CommonComponent<\n GroupChannelRegisterOperatorProps<User>['Fragment']\n>;\n"],"mappings":""}
|
|
@@ -11,6 +11,8 @@ var _reactNative = require("react-native");
|
|
|
11
11
|
|
|
12
12
|
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
13
13
|
|
|
14
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
15
|
+
|
|
14
16
|
var _moduleContext = require("../module/moduleContext");
|
|
15
17
|
|
|
16
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -48,7 +50,8 @@ const UserListList = _ref => {
|
|
|
48
50
|
paddingRight: right,
|
|
49
51
|
flexGrow: 1
|
|
50
52
|
},
|
|
51
|
-
ListEmptyComponent: ListEmptyComponent
|
|
53
|
+
ListEmptyComponent: ListEmptyComponent,
|
|
54
|
+
keyExtractor: _uikitUtils.getUserUniqId
|
|
52
55
|
});
|
|
53
56
|
};
|
|
54
57
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UserListList","users","onRefresh","refreshing","renderUser","onLoadNext","ListEmptyComponent","context","useContext","UserListContexts","List","renderItem","useCallback","item","selectedUsers","setSelectedUsers","left","right","useSafeAreaInsets","paddingLeft","paddingRight","flexGrow"],"sources":["UserListList.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react';\nimport { FlatList, ListRenderItem } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { UserListContexts } from '../module/moduleContext';\nimport type { UserListContextsType, UserListProps } from '../types';\n\nconst UserListList = <T
|
|
1
|
+
{"version":3,"names":["UserListList","users","onRefresh","refreshing","renderUser","onLoadNext","ListEmptyComponent","context","useContext","UserListContexts","List","renderItem","useCallback","item","selectedUsers","setSelectedUsers","left","right","useSafeAreaInsets","paddingLeft","paddingRight","flexGrow","getUserUniqId"],"sources":["UserListList.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react';\nimport { FlatList, ListRenderItem } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport type { UserStruct } from '@sendbird/uikit-utils';\nimport { getUserUniqId } from '@sendbird/uikit-utils';\n\nimport { UserListContexts } from '../module/moduleContext';\nimport type { UserListContextsType, UserListProps } from '../types';\n\nconst UserListList = <T extends UserStruct>({\n users,\n onRefresh,\n refreshing,\n renderUser,\n onLoadNext,\n ListEmptyComponent,\n}: UserListProps<T>['List']) => {\n const context = useContext(UserListContexts.List as UserListContextsType<T>['List']);\n const renderItem: ListRenderItem<T> = useCallback(\n ({ item }) => renderUser?.(item, context.selectedUsers, context.setSelectedUsers),\n [renderUser, context.selectedUsers, context.setSelectedUsers],\n );\n const { left, right } = useSafeAreaInsets();\n\n return (\n <FlatList\n data={users}\n refreshing={refreshing}\n onRefresh={onRefresh}\n renderItem={renderItem}\n onEndReached={onLoadNext}\n contentContainerStyle={{ paddingLeft: left, paddingRight: right, flexGrow: 1 }}\n ListEmptyComponent={ListEmptyComponent}\n keyExtractor={getUserUniqId}\n />\n );\n};\n\nexport default UserListList;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAGA;;AAEA;;;;;;AAGA,MAAMA,YAAY,GAAG,QAOW;EAAA,IAPY;IAC1CC,KAD0C;IAE1CC,SAF0C;IAG1CC,UAH0C;IAI1CC,UAJ0C;IAK1CC,UAL0C;IAM1CC;EAN0C,CAOZ;EAC9B,MAAMC,OAAO,GAAG,IAAAC,iBAAA,EAAWC,+BAAA,CAAiBC,IAA5B,CAAhB;EACA,MAAMC,UAA6B,GAAG,IAAAC,kBAAA,EACpC;IAAA,IAAC;MAAEC;IAAF,CAAD;IAAA,OAAcT,UAAd,aAAcA,UAAd,uBAAcA,UAAU,CAAGS,IAAH,EAASN,OAAO,CAACO,aAAjB,EAAgCP,OAAO,CAACQ,gBAAxC,CAAxB;EAAA,CADoC,EAEpC,CAACX,UAAD,EAAaG,OAAO,CAACO,aAArB,EAAoCP,OAAO,CAACQ,gBAA5C,CAFoC,CAAtC;EAIA,MAAM;IAAEC,IAAF;IAAQC;EAAR,IAAkB,IAAAC,6CAAA,GAAxB;EAEA,oBACE,6BAAC,qBAAD;IACE,IAAI,EAAEjB,KADR;IAEE,UAAU,EAAEE,UAFd;IAGE,SAAS,EAAED,SAHb;IAIE,UAAU,EAAES,UAJd;IAKE,YAAY,EAAEN,UALhB;IAME,qBAAqB,EAAE;MAAEc,WAAW,EAAEH,IAAf;MAAqBI,YAAY,EAAEH,KAAnC;MAA0CI,QAAQ,EAAE;IAApD,CANzB;IAOE,kBAAkB,EAAEf,kBAPtB;IAQE,YAAY,EAAEgB;EARhB,EADF;AAYD,CA3BD;;eA6BetB,Y"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createUserListModule","Header","UserListHeader","List","UserListList","StatusLoading","UserListStatusLoading","StatusEmpty","UserListStatusEmpty","StatusError","UserListStatusError","Provider","UserListContextsProvider","module"],"sources":["createUserListModule.tsx"],"sourcesContent":["import UserListHeader from '../component/UserListHeader';\nimport UserListList from '../component/UserListList';\nimport UserListStatusEmpty from '../component/UserListStatusEmpty';\nimport UserListStatusError from '../component/UserListStatusError';\nimport UserListStatusLoading from '../component/UserListStatusLoading';\nimport type { UserListModule } from '../types';\nimport { UserListContextsProvider } from './moduleContext';\n\nconst createUserListModule = <T
|
|
1
|
+
{"version":3,"names":["createUserListModule","Header","UserListHeader","List","UserListList","StatusLoading","UserListStatusLoading","StatusEmpty","UserListStatusEmpty","StatusError","UserListStatusError","Provider","UserListContextsProvider","module"],"sources":["createUserListModule.tsx"],"sourcesContent":["import type { UserStruct } from '@sendbird/uikit-utils';\n\nimport UserListHeader from '../component/UserListHeader';\nimport UserListList from '../component/UserListList';\nimport UserListStatusEmpty from '../component/UserListStatusEmpty';\nimport UserListStatusError from '../component/UserListStatusError';\nimport UserListStatusLoading from '../component/UserListStatusLoading';\nimport type { UserListModule } from '../types';\nimport { UserListContextsProvider } from './moduleContext';\n\nconst createUserListModule = <T extends UserStruct>({\n Header = UserListHeader,\n List = UserListList,\n StatusLoading = UserListStatusLoading,\n StatusEmpty = UserListStatusEmpty,\n StatusError = UserListStatusError,\n Provider = UserListContextsProvider,\n ...module\n}: Partial<UserListModule<T>> = {}): UserListModule<T> => {\n return { Header, List, StatusLoading, StatusEmpty, StatusError, Provider, ...module };\n};\n\nexport default createUserListModule;\n"],"mappings":";;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;AAEA,MAAMA,oBAAoB,GAAG,YAQ6B;EAAA,IARN;IAClDC,MAAM,GAAGC,uBADyC;IAElDC,IAAI,GAAGC,qBAF2C;IAGlDC,aAAa,GAAGC,8BAHkC;IAIlDC,WAAW,GAAGC,4BAJoC;IAKlDC,WAAW,GAAGC,4BALoC;IAMlDC,QAAQ,GAAGC,uCANuC;IAOlD,GAAGC;EAP+C,CAQM,uEAA1B,EAA0B;EACxD,OAAO;IAAEZ,MAAF;IAAUE,IAAV;IAAgBE,aAAhB;IAA+BE,WAA/B;IAA4CE,WAA5C;IAAyDE,QAAzD;IAAmE,GAAGE;EAAtE,CAAP;AACD,CAVD;;eAYeb,oB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGroupChannelCreateFragment","initModule","UserListModule","createUserListModule","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","Object","hasOwn","Error","isMe","userId","userIdx","findIndex","u","isSelected","draft","splice","push","profileUrl","nickname","LABELS","USER_NO_NAME","GROUP_CHANNEL_CREATE","HEADER_RIGHT","HEADER_TITLE","params","invitedUserIds","map","it","name","coverUrl","isDistinct","isBroadcast","isSuper","operatorUserIds","processedParams","channel","groupChannel","createChannel","Boolean"],"sources":["createGroupChannelCreateFragment.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity } from 'react-native';\n\nimport {
|
|
1
|
+
{"version":3,"names":["createGroupChannelCreateFragment","initModule","UserListModule","createUserListModule","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","Object","hasOwn","Error","isMe","userId","userIdx","findIndex","u","isSelected","draft","splice","push","profileUrl","nickname","LABELS","USER_NO_NAME","GROUP_CHANNEL_CREATE","HEADER_RIGHT","HEADER_TITLE","params","invitedUserIds","map","it","name","coverUrl","isDistinct","isBroadcast","isSuper","operatorUserIds","processedParams","channel","groupChannel","createChannel","Boolean"],"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 SendbirdGroupChannelCreateParams,\n SendbirdUser,\n UserStruct,\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 = 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 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: SendbirdGroupChannelCreateParams = {\n invitedUserIds: users.map((it) => it.userId),\n name: '',\n coverUrl: '',\n isDistinct: false,\n };\n\n if (channelType === 'BROADCAST') params.isBroadcast = true;\n if (channelType === 'SUPER_GROUP') params.isSuper = true;\n if (currentUser) params.operatorUserIds = [currentUser.userId];\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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"}
|
|
@@ -95,9 +95,12 @@ const createGroupChannelFragment = initModule => {
|
|
|
95
95
|
});
|
|
96
96
|
await sendFileMessage(processedParams);
|
|
97
97
|
});
|
|
98
|
-
const onSendUserMessage = (0, _uikitUtils.useFreshCallback)(async text => {
|
|
98
|
+
const onSendUserMessage = (0, _uikitUtils.useFreshCallback)(async (text, mention) => {
|
|
99
99
|
const processedParams = await onBeforeSendUserMessage({
|
|
100
|
-
message: text
|
|
100
|
+
message: text,
|
|
101
|
+
mentionedUserIds: mention === null || mention === void 0 ? void 0 : mention.userIds,
|
|
102
|
+
mentionedMessageTemplate: mention === null || mention === void 0 ? void 0 : mention.messageTemplate,
|
|
103
|
+
mentionType: mention === null || mention === void 0 ? void 0 : mention.type
|
|
101
104
|
});
|
|
102
105
|
await sendUserMessage(processedParams);
|
|
103
106
|
});
|
|
@@ -107,9 +110,12 @@ const createGroupChannelFragment = initModule => {
|
|
|
107
110
|
});
|
|
108
111
|
await updateFileMessage(message.messageId, processedParams);
|
|
109
112
|
});
|
|
110
|
-
const onUpdateUserMessage = (0, _uikitUtils.useFreshCallback)(async (editedText, message) => {
|
|
113
|
+
const onUpdateUserMessage = (0, _uikitUtils.useFreshCallback)(async (editedText, message, mention) => {
|
|
111
114
|
const processedParams = await onBeforeSendUserMessage({
|
|
112
|
-
message: editedText
|
|
115
|
+
message: editedText,
|
|
116
|
+
mentionedUserIds: mention === null || mention === void 0 ? void 0 : mention.userIds,
|
|
117
|
+
mentionedMessageTemplate: mention === null || mention === void 0 ? void 0 : mention.messageTemplate,
|
|
118
|
+
mentionType: mention === null || mention === void 0 ? void 0 : mention.type
|
|
113
119
|
});
|
|
114
120
|
await updateUserMessage(message.messageId, processedParams);
|
|
115
121
|
});
|
|
@@ -141,6 +147,7 @@ const createGroupChannelFragment = initModule => {
|
|
|
141
147
|
onPressMediaMessage: onPressMediaMessage,
|
|
142
148
|
flatListProps: memoizedFlatListProps
|
|
143
149
|
}), /*#__PURE__*/_react.default.createElement(GroupChannelModule.Input, {
|
|
150
|
+
SuggestedMentionList: GroupChannelModule.SuggestedMentionList,
|
|
144
151
|
shouldRenderInput: shouldRenderInput(channel),
|
|
145
152
|
onSendFileMessage: onSendFileMessage,
|
|
146
153
|
onSendUserMessage: onSendUserMessage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGroupChannelFragment","initModule","GroupChannelModule","createGroupChannelModule","renderNewMessagesButton","props","renderScrollToBottomButton","renderMessage","enableMessageGrouping","enableTypingIndicator","onPressHeaderLeft","NOOP","onPressHeaderRight","onPressImageMessage","onPressMediaMessage","onChannelDeleted","onBeforeSendFileMessage","PASS","onBeforeSendUserMessage","channel","keyboardAvoidOffset","queryCreator","collectionCreator","sortComparator","messageComparator","flatListProps","sdk","currentUser","useSendbirdChat","messages","nextMessages","newMessagesFromMembers","next","prev","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","loading","useGroupChannelMessages","userId","enableCollectionWithoutLocalCache","_renderMessage","useFreshCallback","memoizedFlatListProps","useMemo","ListEmptyComponent","contentContainerStyle","flexGrow","onSendFileMessage","file","processedParams","onSendUserMessage","text","message","onUpdateFileMessage","editedFile","messageId","onUpdateUserMessage","editedText","shouldRenderInput","isBroadcast","myRole"],"sources":["createGroupChannelFragment.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\n\nimport { useGroupChannelMessages } from '@sendbird/uikit-chat-hooks';\nimport { NOOP, PASS, SendbirdGroupChannel, messageComparator, useFreshCallback } 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 createGroupChannelModule from '../domain/groupChannel/module/createGroupChannelModule';\nimport type { GroupChannelFragment, GroupChannelModule, GroupChannelProps } from '../domain/groupChannel/types';\nimport { useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): GroupChannelFragment => {\n const GroupChannelModule = createGroupChannelModule(initModule);\n\n return ({\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 onPressImageMessage,\n onPressMediaMessage = NOOP,\n onChannelDeleted = NOOP,\n onBeforeSendFileMessage = PASS,\n onBeforeSendUserMessage = PASS,\n channel,\n keyboardAvoidOffset,\n queryCreator,\n collectionCreator,\n sortComparator = messageComparator,\n flatListProps,\n }) => {\n const { sdk, currentUser } = useSendbirdChat();\n\n const {\n messages,\n nextMessages,\n newMessagesFromMembers,\n next,\n prev,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n loading,\n } = useGroupChannelMessages(sdk, channel, currentUser?.userId, {\n collectionCreator,\n queryCreator,\n sortComparator,\n onChannelDeleted,\n enableCollectionWithoutLocalCache: !queryCreator,\n });\n\n const _renderMessage: GroupChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n if (renderMessage) return renderMessage(props);\n return <MessageRenderer {...props} />;\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <GroupChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [loading, flatListProps],\n );\n\n const onSendFileMessage: GroupChannelProps['Input']['onSendFileMessage'] = useFreshCallback(async (file) => {\n const processedParams = await onBeforeSendFileMessage({ file });\n await sendFileMessage(processedParams);\n });\n const onSendUserMessage: GroupChannelProps['Input']['onSendUserMessage'] = useFreshCallback(async (text) => {\n const processedParams = await onBeforeSendUserMessage({ message: text });\n await sendUserMessage(processedParams);\n });\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 const onUpdateUserMessage: GroupChannelProps['Input']['onUpdateUserMessage'] = useFreshCallback(\n async (editedText, message) => {\n const processedParams = await onBeforeSendUserMessage({ message: editedText });\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n\n return (\n <GroupChannelModule.Provider\n channel={channel}\n enableTypingIndicator={enableTypingIndicator}\n keyboardAvoidOffset={keyboardAvoidOffset}\n >\n <GroupChannelModule.Header onPressHeaderLeft={onPressHeaderLeft} onPressHeaderRight={onPressHeaderRight} />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelModule.StatusLoading />}>\n <GroupChannelModule.MessageList\n channel={channel}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={_renderMessage}\n messages={messages}\n nextMessages={nextMessages}\n newMessagesFromMembers={newMessagesFromMembers}\n onTopReached={prev}\n onBottomReached={next}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressImageMessage={onPressImageMessage}\n onPressMediaMessage={onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n />\n <GroupChannelModule.Input\n shouldRenderInput={shouldRenderInput(channel)}\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\nexport default createGroupChannelFragment;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["createGroupChannelFragment","initModule","GroupChannelModule","createGroupChannelModule","renderNewMessagesButton","props","renderScrollToBottomButton","renderMessage","enableMessageGrouping","enableTypingIndicator","onPressHeaderLeft","NOOP","onPressHeaderRight","onPressImageMessage","onPressMediaMessage","onChannelDeleted","onBeforeSendFileMessage","PASS","onBeforeSendUserMessage","channel","keyboardAvoidOffset","queryCreator","collectionCreator","sortComparator","messageComparator","flatListProps","sdk","currentUser","useSendbirdChat","messages","nextMessages","newMessagesFromMembers","next","prev","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","loading","useGroupChannelMessages","userId","enableCollectionWithoutLocalCache","_renderMessage","useFreshCallback","memoizedFlatListProps","useMemo","ListEmptyComponent","contentContainerStyle","flexGrow","onSendFileMessage","file","processedParams","onSendUserMessage","text","mention","message","mentionedUserIds","userIds","mentionedMessageTemplate","messageTemplate","mentionType","type","onUpdateFileMessage","editedFile","messageId","onUpdateUserMessage","editedText","SuggestedMentionList","shouldRenderInput","isBroadcast","myRole"],"sources":["createGroupChannelFragment.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\n\nimport { useGroupChannelMessages } from '@sendbird/uikit-chat-hooks';\nimport { NOOP, PASS, SendbirdGroupChannel, messageComparator, useFreshCallback } 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 createGroupChannelModule from '../domain/groupChannel/module/createGroupChannelModule';\nimport type { GroupChannelFragment, GroupChannelModule, GroupChannelProps } from '../domain/groupChannel/types';\nimport { useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): GroupChannelFragment => {\n const GroupChannelModule = createGroupChannelModule(initModule);\n\n return ({\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 onPressImageMessage,\n onPressMediaMessage = NOOP,\n onChannelDeleted = NOOP,\n onBeforeSendFileMessage = PASS,\n onBeforeSendUserMessage = PASS,\n channel,\n keyboardAvoidOffset,\n queryCreator,\n collectionCreator,\n sortComparator = messageComparator,\n flatListProps,\n }) => {\n const { sdk, currentUser } = useSendbirdChat();\n\n const {\n messages,\n nextMessages,\n newMessagesFromMembers,\n next,\n prev,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n loading,\n } = useGroupChannelMessages(sdk, channel, currentUser?.userId, {\n collectionCreator,\n queryCreator,\n sortComparator,\n onChannelDeleted,\n enableCollectionWithoutLocalCache: !queryCreator,\n });\n\n const _renderMessage: GroupChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n if (renderMessage) return renderMessage(props);\n return <MessageRenderer {...props} />;\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <GroupChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [loading, flatListProps],\n );\n\n const onSendFileMessage: GroupChannelProps['Input']['onSendFileMessage'] = useFreshCallback(async (file) => {\n const processedParams = await onBeforeSendFileMessage({ file });\n await sendFileMessage(processedParams);\n });\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 await sendUserMessage(processedParams);\n },\n );\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 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 enableTypingIndicator={enableTypingIndicator}\n keyboardAvoidOffset={keyboardAvoidOffset}\n >\n <GroupChannelModule.Header onPressHeaderLeft={onPressHeaderLeft} onPressHeaderRight={onPressHeaderRight} />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelModule.StatusLoading />}>\n <GroupChannelModule.MessageList\n channel={channel}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={_renderMessage}\n messages={messages}\n nextMessages={nextMessages}\n newMessagesFromMembers={newMessagesFromMembers}\n onTopReached={prev}\n onBottomReached={next}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressImageMessage={onPressImageMessage}\n onPressMediaMessage={onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n />\n <GroupChannelModule.Input\n SuggestedMentionList={GroupChannelModule.SuggestedMentionList}\n shouldRenderInput={shouldRenderInput(channel)}\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\nexport default createGroupChannelFragment;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGroupChannelInviteFragment","initModule","UserListModule","createUserListModule","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","Object","hasOwn","Error","userIdxInMembers","indexOf","userIdxInSelectedUsers","findIndex","isMember","isSelected","draft","splice","push","profileUrl","nickname","LABELS","USER_NO_NAME","GROUP_CHANNEL_INVITE","HEADER_RIGHT","HEADER_TITLE","userIds","updatedChannel","inviteWithUserIds","Boolean","isSuper","isBroadcast"],"sources":["createGroupChannelInviteFragment.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { TouchableOpacity } from 'react-native';\n\nimport {
|
|
1
|
+
{"version":3,"names":["createGroupChannelInviteFragment","initModule","UserListModule","createUserListModule","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","Object","hasOwn","Error","userIdxInMembers","indexOf","userIdxInSelectedUsers","findIndex","isMember","isSelected","draft","splice","push","profileUrl","nickname","LABELS","USER_NO_NAME","GROUP_CHANNEL_INVITE","HEADER_RIGHT","HEADER_TITLE","userIds","updatedChannel","inviteWithUserIds","Boolean","isSuper","isBroadcast"],"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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"}
|
|
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _react =
|
|
9
|
-
|
|
10
|
-
var _reactNative = require("react-native");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
9
|
|
|
12
10
|
var _uikitChatHooks = require("@sendbird/uikit-chat-hooks");
|
|
13
11
|
|
|
@@ -23,10 +21,6 @@ var _useContext = require("../hooks/useContext");
|
|
|
23
21
|
|
|
24
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
23
|
|
|
26
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
-
|
|
28
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
|
-
|
|
30
24
|
const createGroupChannelListFragment = initModule => {
|
|
31
25
|
const GroupChannelListModule = (0, _createGroupChannelListModule.default)(initModule);
|
|
32
26
|
return _ref => {
|
|
@@ -57,13 +51,9 @@ const createGroupChannelListFragment = initModule => {
|
|
|
57
51
|
});
|
|
58
52
|
|
|
59
53
|
if (features.deliveryReceiptEnabled) {
|
|
60
|
-
(0,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
return () => listener.remove();
|
|
66
|
-
}, []);
|
|
54
|
+
(0, _uikitUtils.useAppState)('change', status => {
|
|
55
|
+
if (status === 'active') groupChannels.forEach(markAsDeliveredWithChannel);
|
|
56
|
+
});
|
|
67
57
|
}
|
|
68
58
|
|
|
69
59
|
const _renderGroupChannelPreview = (0, _uikitUtils.useFreshCallback)((channel, onLongPressChannel) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGroupChannelListFragment","initModule","GroupChannelListModule","createGroupChannelListModule","onPressChannel","onPressCreateChannel","queryCreator","collectionCreator","renderGroupChannelPreview","skipTypeSelection","flatListProps","menuItemCreator","PASS","sdk","currentUser","features","markAsDeliveredWithChannel","useSendbirdChat","groupChannels","next","loading","useGroupChannelList","userId","enableCollectionWithoutLocalCache","deliveryReceiptEnabled","
|
|
1
|
+
{"version":3,"names":["createGroupChannelListFragment","initModule","GroupChannelListModule","createGroupChannelListModule","onPressChannel","onPressCreateChannel","queryCreator","collectionCreator","renderGroupChannelPreview","skipTypeSelection","flatListProps","menuItemCreator","PASS","sdk","currentUser","features","markAsDeliveredWithChannel","useSendbirdChat","groupChannels","next","loading","useGroupChannelList","userId","enableCollectionWithoutLocalCache","deliveryReceiptEnabled","useAppState","status","forEach","_renderGroupChannelPreview","useFreshCallback","channel","onLongPressChannel","isChannelTypeAvailable","broadcastChannelEnabled","superGroupChannelEnabled","ListEmptyComponent","contentContainerStyle","flexGrow"],"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 queryCreator,\n collectionCreator,\n renderGroupChannelPreview,\n skipTypeSelection = false,\n flatListProps = {},\n menuItemCreator = PASS,\n }) => {\n const { sdk, currentUser, features, markAsDeliveredWithChannel } = useSendbirdChat();\n const { groupChannels, next, loading } = useGroupChannelList(sdk, currentUser?.userId, {\n queryCreator,\n collectionCreator,\n enableCollectionWithoutLocalCache: !queryCreator,\n });\n\n if (features.deliveryReceiptEnabled) {\n useAppState('change', (status) => {\n if (status === 'active') groupChannels.forEach(markAsDeliveredWithChannel);\n });\n }\n\n const _renderGroupChannelPreview: GroupChannelListProps['List']['renderGroupChannelPreview'] = useFreshCallback(\n (channel, onLongPressChannel) => {\n if (renderGroupChannelPreview) return renderGroupChannelPreview(channel, onLongPressChannel);\n return (\n <GroupChannelPreviewContainer\n channel={channel}\n onPress={() => onPressChannel(channel)}\n onLongPress={() => onLongPressChannel()}\n />\n );\n },\n );\n\n const isChannelTypeAvailable = features.broadcastChannelEnabled || features.superGroupChannelEnabled;\n\n return (\n <GroupChannelListModule.Provider>\n <GroupChannelListModule.Header />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelListModule.StatusLoading />}>\n <GroupChannelListModule.List\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":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;AAMA;;;;AAEA,MAAMA,8BAA8B,GAAIC,UAAD,IAA4E;EACjH,MAAMC,sBAAsB,GAAG,IAAAC,qCAAA,EAA6BF,UAA7B,CAA/B;EACA,OAAO,QASD;IAAA,IATE;MACNG,cADM;MAENC,oBAFM;MAGNC,YAHM;MAINC,iBAJM;MAKNC,yBALM;MAMNC,iBAAiB,GAAG,KANd;MAONC,aAAa,GAAG,EAPV;MAQNC,eAAe,GAAGC;IARZ,CASF;IACJ,MAAM;MAAEC,GAAF;MAAOC,WAAP;MAAoBC,QAApB;MAA8BC;IAA9B,IAA6D,IAAAC,2BAAA,GAAnE;IACA,MAAM;MAAEC,aAAF;MAAiBC,IAAjB;MAAuBC;IAAvB,IAAmC,IAAAC,mCAAA,EAAoBR,GAApB,EAAyBC,WAAzB,aAAyBA,WAAzB,uBAAyBA,WAAW,CAAEQ,MAAtC,EAA8C;MACrFhB,YADqF;MAErFC,iBAFqF;MAGrFgB,iCAAiC,EAAE,CAACjB;IAHiD,CAA9C,CAAzC;;IAMA,IAAIS,QAAQ,CAACS,sBAAb,EAAqC;MACnC,IAAAC,uBAAA,EAAY,QAAZ,EAAuBC,MAAD,IAAY;QAChC,IAAIA,MAAM,KAAK,QAAf,EAAyBR,aAAa,CAACS,OAAd,CAAsBX,0BAAtB;MAC1B,CAFD;IAGD;;IAED,MAAMY,0BAAsF,GAAG,IAAAC,4BAAA,EAC7F,CAACC,OAAD,EAAUC,kBAAV,KAAiC;MAC/B,IAAIvB,yBAAJ,EAA+B,OAAOA,yBAAyB,CAACsB,OAAD,EAAUC,kBAAV,CAAhC;MAC/B,oBACE,6BAAC,qCAAD;QACE,OAAO,EAAED,OADX;QAEE,OAAO,EAAE,MAAM1B,cAAc,CAAC0B,OAAD,CAF/B;QAGE,WAAW,EAAE,MAAMC,kBAAkB;MAHvC,EADF;IAOD,CAV4F,CAA/F;;IAaA,MAAMC,sBAAsB,GAAGjB,QAAQ,CAACkB,uBAAT,IAAoClB,QAAQ,CAACmB,wBAA5E;IAEA,oBACE,6BAAC,sBAAD,CAAwB,QAAxB,qBACE,6BAAC,sBAAD,CAAwB,MAAxB,OADF,eAEE,6BAAC,0BAAD;MAAmB,OAAO,EAAEd,OAA5B;MAAqC,gBAAgB,eAAE,6BAAC,sBAAD,CAAwB,aAAxB;IAAvD,gBACE,6BAAC,sBAAD,CAAwB,IAAxB;MACE,eAAe,EAAET,eADnB;MAEE,yBAAyB,EAAEiB,0BAF7B;MAGE,aAAa,EAAEV,aAHjB;MAIE,UAAU,EAAEC,IAJd;MAKE,aAAa,EAAE;QACbgB,kBAAkB,eAAE,6BAAC,sBAAD,CAAwB,WAAxB,OADP;QAEbC,qBAAqB,EAAE;UAAEC,QAAQ,EAAE;QAAZ,CAFV;QAGb,GAAG3B;MAHU;IALjB,EADF,CAFF,eAeE,6BAAC,sBAAD,CAAwB,YAAxB;MACE,iBAAiB,EAAEsB,sBAAsB,GAAGvB,iBAAH,GAAuB,IADlE;MAEE,YAAY,EAAEJ;IAFhB,EAfF,CADF;EAsBD,CA5DD;AA6DD,CA/DD;;eAiEeL,8B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
11
|
+
|
|
12
|
+
var _groupChannelNotifications = require("../domain/groupChannelNotifications");
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
const createGroupChannelNotificationsFragment = initModule => {
|
|
17
|
+
const GroupChannelNotificationsModule = (0, _groupChannelNotifications.createGroupChannelNotificationsModule)(initModule);
|
|
18
|
+
return _ref => {
|
|
19
|
+
let {
|
|
20
|
+
onPressHeaderLeft = _uikitUtils.NOOP,
|
|
21
|
+
children,
|
|
22
|
+
channel
|
|
23
|
+
} = _ref;
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(GroupChannelNotificationsModule.Provider, {
|
|
25
|
+
channel: channel
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement(GroupChannelNotificationsModule.Header, {
|
|
27
|
+
onPressHeaderLeft: onPressHeaderLeft
|
|
28
|
+
}), /*#__PURE__*/_react.default.createElement(GroupChannelNotificationsModule.View, null), children);
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
var _default = createGroupChannelNotificationsFragment;
|
|
33
|
+
exports.default = _default;
|
|
34
|
+
//# sourceMappingURL=createGroupChannelNotificationsFragment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createGroupChannelNotificationsFragment","initModule","GroupChannelNotificationsModule","createGroupChannelNotificationsModule","onPressHeaderLeft","NOOP","children","channel"],"sources":["createGroupChannelNotificationsFragment.tsx"],"sourcesContent":["import React from 'react';\n\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport { createGroupChannelNotificationsModule } from '../domain/groupChannelNotifications';\nimport type {\n GroupChannelNotificationsFragment,\n GroupChannelNotificationsModule,\n} from '../domain/groupChannelNotifications/types';\n\nconst createGroupChannelNotificationsFragment = (\n initModule?: Partial<GroupChannelNotificationsModule>,\n): GroupChannelNotificationsFragment => {\n const GroupChannelNotificationsModule = createGroupChannelNotificationsModule(initModule);\n\n return ({ onPressHeaderLeft = NOOP, children, channel }) => {\n return (\n <GroupChannelNotificationsModule.Provider channel={channel}>\n <GroupChannelNotificationsModule.Header onPressHeaderLeft={onPressHeaderLeft} />\n <GroupChannelNotificationsModule.View />\n {children}\n </GroupChannelNotificationsModule.Provider>\n );\n };\n};\n\nexport default createGroupChannelNotificationsFragment;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA;;;;AAMA,MAAMA,uCAAuC,GAC3CC,UAD8C,IAER;EACtC,MAAMC,+BAA+B,GAAG,IAAAC,gEAAA,EAAsCF,UAAtC,CAAxC;EAEA,OAAO,QAAqD;IAAA,IAApD;MAAEG,iBAAiB,GAAGC,gBAAtB;MAA4BC,QAA5B;MAAsCC;IAAtC,CAAoD;IAC1D,oBACE,6BAAC,+BAAD,CAAiC,QAAjC;MAA0C,OAAO,EAAEA;IAAnD,gBACE,6BAAC,+BAAD,CAAiC,MAAjC;MAAwC,iBAAiB,EAAEH;IAA3D,EADF,eAEE,6BAAC,+BAAD,CAAiC,IAAjC,OAFF,EAGGE,QAHH,CADF;EAOD,CARD;AASD,CAdD;;eAgBeN,uC"}
|
|
@@ -28,6 +28,7 @@ const createGroupChannelSettingsFragment = initModule => {
|
|
|
28
28
|
onPressMenuModeration,
|
|
29
29
|
onPressMenuMembers,
|
|
30
30
|
onPressMenuLeaveChannel,
|
|
31
|
+
onPressMenuNotification,
|
|
31
32
|
menuItemsCreator
|
|
32
33
|
} = _ref;
|
|
33
34
|
const {
|
|
@@ -53,7 +54,8 @@ const createGroupChannelSettingsFragment = initModule => {
|
|
|
53
54
|
menuItemsCreator: menuItemsCreator,
|
|
54
55
|
onPressMenuModeration: onPressMenuModeration,
|
|
55
56
|
onPressMenuMembers: onPressMenuMembers,
|
|
56
|
-
onPressMenuLeaveChannel: onPressMenuLeaveChannel
|
|
57
|
+
onPressMenuLeaveChannel: onPressMenuLeaveChannel,
|
|
58
|
+
onPressMenuNotification: onPressMenuNotification
|
|
57
59
|
})));
|
|
58
60
|
};
|
|
59
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGroupChannelSettingsFragment","initModule","GroupChannelSettingsModule","createGroupChannelSettingsModule","onPressHeaderLeft","NOOP","channel","onPressMenuModeration","onPressMenuMembers","onPressMenuLeaveChannel","menuItemsCreator","colors","useUIKitTheme","left","right","useSafeAreaInsets","backgroundColor","background","paddingLeft","styles","viewContainer","paddingHorizontal","paddingRight","createStyleSheet"],"sources":["createGroupChannelSettingsFragment.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport createGroupChannelSettingsModule from '../domain/groupChannelSettings/module/createGroupChannelSettingsModule';\nimport type { GroupChannelSettingsFragment, GroupChannelSettingsModule } from '../domain/groupChannelSettings/types';\n\nconst createGroupChannelSettingsFragment = (\n initModule?: Partial<GroupChannelSettingsModule>,\n): GroupChannelSettingsFragment => {\n const GroupChannelSettingsModule = createGroupChannelSettingsModule(initModule);\n\n return ({\n onPressHeaderLeft = NOOP,\n channel,\n onPressMenuModeration,\n onPressMenuMembers,\n onPressMenuLeaveChannel,\n menuItemsCreator,\n }) => {\n const { colors } = useUIKitTheme();\n const { left, right } = useSafeAreaInsets();\n\n return (\n <GroupChannelSettingsModule.Provider channel={channel}>\n <GroupChannelSettingsModule.Header onPressHeaderLeft={onPressHeaderLeft} />\n <ScrollView\n style={{ backgroundColor: colors.background }}\n contentContainerStyle={{\n paddingLeft: left + styles.viewContainer.paddingHorizontal,\n paddingRight: right + styles.viewContainer.paddingHorizontal,\n }}\n >\n <GroupChannelSettingsModule.Info />\n <GroupChannelSettingsModule.Menu\n menuItemsCreator={menuItemsCreator}\n onPressMenuModeration={onPressMenuModeration}\n onPressMenuMembers={onPressMenuMembers}\n onPressMenuLeaveChannel={onPressMenuLeaveChannel}\n />\n </ScrollView>\n </GroupChannelSettingsModule.Provider>\n );\n };\n};\n\nconst styles = createStyleSheet({\n viewContainer: {\n paddingHorizontal: 16,\n },\n});\n\nexport default createGroupChannelSettingsFragment;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;;;AAGA,MAAMA,kCAAkC,GACtCC,UADyC,IAER;EACjC,MAAMC,0BAA0B,GAAG,IAAAC,yCAAA,EAAiCF,UAAjC,CAAnC;EAEA,OAAO,
|
|
1
|
+
{"version":3,"names":["createGroupChannelSettingsFragment","initModule","GroupChannelSettingsModule","createGroupChannelSettingsModule","onPressHeaderLeft","NOOP","channel","onPressMenuModeration","onPressMenuMembers","onPressMenuLeaveChannel","onPressMenuNotification","menuItemsCreator","colors","useUIKitTheme","left","right","useSafeAreaInsets","backgroundColor","background","paddingLeft","styles","viewContainer","paddingHorizontal","paddingRight","createStyleSheet"],"sources":["createGroupChannelSettingsFragment.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport createGroupChannelSettingsModule from '../domain/groupChannelSettings/module/createGroupChannelSettingsModule';\nimport type { GroupChannelSettingsFragment, GroupChannelSettingsModule } from '../domain/groupChannelSettings/types';\n\nconst createGroupChannelSettingsFragment = (\n initModule?: Partial<GroupChannelSettingsModule>,\n): GroupChannelSettingsFragment => {\n const GroupChannelSettingsModule = createGroupChannelSettingsModule(initModule);\n\n return ({\n onPressHeaderLeft = NOOP,\n channel,\n onPressMenuModeration,\n onPressMenuMembers,\n onPressMenuLeaveChannel,\n onPressMenuNotification,\n menuItemsCreator,\n }) => {\n const { colors } = useUIKitTheme();\n const { left, right } = useSafeAreaInsets();\n\n return (\n <GroupChannelSettingsModule.Provider channel={channel}>\n <GroupChannelSettingsModule.Header onPressHeaderLeft={onPressHeaderLeft} />\n <ScrollView\n style={{ backgroundColor: colors.background }}\n contentContainerStyle={{\n paddingLeft: left + styles.viewContainer.paddingHorizontal,\n paddingRight: right + styles.viewContainer.paddingHorizontal,\n }}\n >\n <GroupChannelSettingsModule.Info />\n <GroupChannelSettingsModule.Menu\n menuItemsCreator={menuItemsCreator}\n onPressMenuModeration={onPressMenuModeration}\n onPressMenuMembers={onPressMenuMembers}\n onPressMenuLeaveChannel={onPressMenuLeaveChannel}\n onPressMenuNotification={onPressMenuNotification}\n />\n </ScrollView>\n </GroupChannelSettingsModule.Provider>\n );\n };\n};\n\nconst styles = createStyleSheet({\n viewContainer: {\n paddingHorizontal: 16,\n },\n});\n\nexport default createGroupChannelSettingsFragment;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;;;AAGA,MAAMA,kCAAkC,GACtCC,UADyC,IAER;EACjC,MAAMC,0BAA0B,GAAG,IAAAC,yCAAA,EAAiCF,UAAjC,CAAnC;EAEA,OAAO,QAQD;IAAA,IARE;MACNG,iBAAiB,GAAGC,gBADd;MAENC,OAFM;MAGNC,qBAHM;MAINC,kBAJM;MAKNC,uBALM;MAMNC,uBANM;MAONC;IAPM,CAQF;IACJ,MAAM;MAAEC;IAAF,IAAa,IAAAC,yCAAA,GAAnB;IACA,MAAM;MAAEC,IAAF;MAAQC;IAAR,IAAkB,IAAAC,6CAAA,GAAxB;IAEA,oBACE,6BAAC,0BAAD,CAA4B,QAA5B;MAAqC,OAAO,EAAEV;IAA9C,gBACE,6BAAC,0BAAD,CAA4B,MAA5B;MAAmC,iBAAiB,EAAEF;IAAtD,EADF,eAEE,6BAAC,uBAAD;MACE,KAAK,EAAE;QAAEa,eAAe,EAAEL,MAAM,CAACM;MAA1B,CADT;MAEE,qBAAqB,EAAE;QACrBC,WAAW,EAAEL,IAAI,GAAGM,MAAM,CAACC,aAAP,CAAqBC,iBADpB;QAErBC,YAAY,EAAER,KAAK,GAAGK,MAAM,CAACC,aAAP,CAAqBC;MAFtB;IAFzB,gBAOE,6BAAC,0BAAD,CAA4B,IAA5B,OAPF,eAQE,6BAAC,0BAAD,CAA4B,IAA5B;MACE,gBAAgB,EAAEX,gBADpB;MAEE,qBAAqB,EAAEJ,qBAFzB;MAGE,kBAAkB,EAAEC,kBAHtB;MAIE,uBAAuB,EAAEC,uBAJ3B;MAKE,uBAAuB,EAAEC;IAL3B,EARF,CAFF,CADF;EAqBD,CAjCD;AAkCD,CAvCD;;AAyCA,MAAMU,MAAM,GAAG,IAAAI,4CAAA,EAAiB;EAC9BH,aAAa,EAAE;IACbC,iBAAiB,EAAE;EADN;AADe,CAAjB,CAAf;eAMetB,kC"}
|
|
@@ -20,6 +20,7 @@ const cacheRestrictCodes = [400300, 400301, 400302, 400310];
|
|
|
20
20
|
const useConnection = () => {
|
|
21
21
|
const {
|
|
22
22
|
sdk,
|
|
23
|
+
emojiManager,
|
|
23
24
|
setCurrentUser,
|
|
24
25
|
features
|
|
25
26
|
} = (0, _useContext.useSendbirdChat)();
|
|
@@ -56,6 +57,7 @@ const useConnection = () => {
|
|
|
56
57
|
_uikitUtils.Logger.debug('[useConnection]', 'connected! (online)');
|
|
57
58
|
|
|
58
59
|
setCurrentUser(user);
|
|
60
|
+
sdk.getAllEmoji().then(emojiManager.init);
|
|
59
61
|
return user;
|
|
60
62
|
} catch (e) {
|
|
61
63
|
const error = e;
|
|
@@ -71,6 +73,7 @@ const useConnection = () => {
|
|
|
71
73
|
_uikitUtils.Logger.debug('[useConnection]', 'connected! (offline)');
|
|
72
74
|
|
|
73
75
|
setCurrentUser(sdk.currentUser);
|
|
76
|
+
sdk.getAllEmoji().finally(emojiManager.init);
|
|
74
77
|
return sdk.currentUser;
|
|
75
78
|
}
|
|
76
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cacheRestrictCodes","useConnection","sdk","setCurrentUser","features","useSendbirdChat","registerPushTokenForCurrentUser","unregisterPushTokenForCurrentUser","usePushTokenRegistration","connect","useCallback","userId","opts","Logger","debug","user","accessToken","nickname","updateCurrentUserInfo","then","updatedUser","catch","e","warn","useUserIdForNicknameEnabled","autoPushTokenRegistrationEnabled","error","isCacheEnabled","some","code","message","clearCachedData","currentUser","disconnect","undefined","reconnect"],"sources":["useConnection.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { Logger, SendbirdError, SendbirdUser } from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from './useContext';\nimport usePushTokenRegistration from './usePushTokenRegistration';\n\ntype ConnectOptions = { nickname?: string; accessToken?: string };\nconst cacheRestrictCodes = [400300, 400301, 400302, 400310];\n\nconst useConnection = () => {\n const { sdk, setCurrentUser, features } = useSendbirdChat();\n const { registerPushTokenForCurrentUser, unregisterPushTokenForCurrentUser } = usePushTokenRegistration();\n\n const connect = useCallback(\n async (userId: string, opts?: ConnectOptions): Promise<SendbirdUser> => {\n try {\n Logger.debug('[useConnection]', 'connect start:', userId);\n let user = await sdk.connect(userId, opts?.accessToken);\n\n if (opts?.nickname) {\n Logger.debug('[useConnection]', 'nickname-sync start:', opts.nickname);\n await sdk\n .updateCurrentUserInfo({ nickname: opts.nickname })\n .then((updatedUser) => (user = updatedUser))\n .catch((e) => Logger.warn('[useConnection]', 'nickname-sync failure', e));\n } else if (features.useUserIdForNicknameEnabled) {\n await sdk.updateCurrentUserInfo({ nickname: userId }).then((updatedUser) => (user = updatedUser));\n }\n\n if (features.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, register for current user');\n await registerPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken Registration failure', e);\n });\n }\n\n Logger.debug('[useConnection]', 'connected! (online)');\n setCurrentUser(user);\n\n return user;\n } catch (e) {\n const error = e as unknown as SendbirdError;\n\n if (sdk.isCacheEnabled) {\n if (cacheRestrictCodes.some((code) => error.code === code)) {\n Logger.warn('[useConnection]', 'offline connect restricted', error.message, error.code);\n Logger.warn('[useConnection]', 'clear cached-data');\n await sdk.clearCachedData().catch((e) => Logger.warn('[useConnection]', 'clear cached-data failure', e));\n } else if (sdk.currentUser) {\n Logger.debug('[useConnection]', 'connected! (offline)');\n setCurrentUser(sdk.currentUser);\n return sdk.currentUser;\n }\n }\n\n Logger.warn('[useConnection]', 'connect failure', error.message, error.code);\n throw error;\n }\n },\n [sdk, registerPushTokenForCurrentUser, features.autoPushTokenRegistrationEnabled],\n );\n\n const disconnect = useCallback(async () => {\n Logger.debug('[useConnection]', 'disconnect start');\n\n if (features.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, unregister for current user');\n await unregisterPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken unregister failure', e);\n });\n }\n\n await sdk.disconnect().then(() => setCurrentUser(undefined));\n Logger.debug('[useConnection]', 'disconnected!');\n }, [sdk, unregisterPushTokenForCurrentUser, features.autoPushTokenRegistrationEnabled]);\n\n return { connect, disconnect, reconnect: () => sdk.reconnect() };\n};\n\nexport default useConnection;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA;;AACA;;;;AAGA,MAAMA,kBAAkB,GAAG,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,EAAyB,MAAzB,CAA3B;;AAEA,MAAMC,aAAa,GAAG,MAAM;EAC1B,MAAM;IAAEC,GAAF;IAAOC,
|
|
1
|
+
{"version":3,"names":["cacheRestrictCodes","useConnection","sdk","emojiManager","setCurrentUser","features","useSendbirdChat","registerPushTokenForCurrentUser","unregisterPushTokenForCurrentUser","usePushTokenRegistration","connect","useCallback","userId","opts","Logger","debug","user","accessToken","nickname","updateCurrentUserInfo","then","updatedUser","catch","e","warn","useUserIdForNicknameEnabled","autoPushTokenRegistrationEnabled","getAllEmoji","init","error","isCacheEnabled","some","code","message","clearCachedData","currentUser","finally","disconnect","undefined","reconnect"],"sources":["useConnection.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { Logger, SendbirdError, SendbirdUser } from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from './useContext';\nimport usePushTokenRegistration from './usePushTokenRegistration';\n\ntype ConnectOptions = { nickname?: string; accessToken?: string };\nconst cacheRestrictCodes = [400300, 400301, 400302, 400310];\n\nconst useConnection = () => {\n const { sdk, emojiManager, setCurrentUser, features } = useSendbirdChat();\n const { registerPushTokenForCurrentUser, unregisterPushTokenForCurrentUser } = usePushTokenRegistration();\n\n const connect = useCallback(\n async (userId: string, opts?: ConnectOptions): Promise<SendbirdUser> => {\n try {\n Logger.debug('[useConnection]', 'connect start:', userId);\n let user = await sdk.connect(userId, opts?.accessToken);\n\n if (opts?.nickname) {\n Logger.debug('[useConnection]', 'nickname-sync start:', opts.nickname);\n await sdk\n .updateCurrentUserInfo({ nickname: opts.nickname })\n .then((updatedUser) => (user = updatedUser))\n .catch((e) => Logger.warn('[useConnection]', 'nickname-sync failure', e));\n } else if (features.useUserIdForNicknameEnabled) {\n await sdk.updateCurrentUserInfo({ nickname: userId }).then((updatedUser) => (user = updatedUser));\n }\n\n if (features.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, register for current user');\n await registerPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken Registration failure', e);\n });\n }\n\n Logger.debug('[useConnection]', 'connected! (online)');\n setCurrentUser(user);\n sdk.getAllEmoji().then(emojiManager.init);\n\n return user;\n } catch (e) {\n const error = e as unknown as SendbirdError;\n\n if (sdk.isCacheEnabled) {\n if (cacheRestrictCodes.some((code) => error.code === code)) {\n Logger.warn('[useConnection]', 'offline connect restricted', error.message, error.code);\n Logger.warn('[useConnection]', 'clear cached-data');\n await sdk.clearCachedData().catch((e) => Logger.warn('[useConnection]', 'clear cached-data failure', e));\n } else if (sdk.currentUser) {\n Logger.debug('[useConnection]', 'connected! (offline)');\n setCurrentUser(sdk.currentUser);\n sdk.getAllEmoji().finally(emojiManager.init);\n return sdk.currentUser;\n }\n }\n\n Logger.warn('[useConnection]', 'connect failure', error.message, error.code);\n throw error;\n }\n },\n [sdk, registerPushTokenForCurrentUser, features.autoPushTokenRegistrationEnabled],\n );\n\n const disconnect = useCallback(async () => {\n Logger.debug('[useConnection]', 'disconnect start');\n\n if (features.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, unregister for current user');\n await unregisterPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken unregister failure', e);\n });\n }\n\n await sdk.disconnect().then(() => setCurrentUser(undefined));\n Logger.debug('[useConnection]', 'disconnected!');\n }, [sdk, unregisterPushTokenForCurrentUser, features.autoPushTokenRegistrationEnabled]);\n\n return { connect, disconnect, reconnect: () => sdk.reconnect() };\n};\n\nexport default useConnection;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA;;AACA;;;;AAGA,MAAMA,kBAAkB,GAAG,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,EAAyB,MAAzB,CAA3B;;AAEA,MAAMC,aAAa,GAAG,MAAM;EAC1B,MAAM;IAAEC,GAAF;IAAOC,YAAP;IAAqBC,cAArB;IAAqCC;EAArC,IAAkD,IAAAC,2BAAA,GAAxD;EACA,MAAM;IAAEC,+BAAF;IAAmCC;EAAnC,IAAyE,IAAAC,iCAAA,GAA/E;EAEA,MAAMC,OAAO,GAAG,IAAAC,kBAAA,EACd,OAAOC,MAAP,EAAuBC,IAAvB,KAAwE;IACtE,IAAI;MACFC,kBAAA,CAAOC,KAAP,CAAa,iBAAb,EAAgC,gBAAhC,EAAkDH,MAAlD;;MACA,IAAII,IAAI,GAAG,MAAMd,GAAG,CAACQ,OAAJ,CAAYE,MAAZ,EAAoBC,IAApB,aAAoBA,IAApB,uBAAoBA,IAAI,CAAEI,WAA1B,CAAjB;;MAEA,IAAIJ,IAAJ,aAAIA,IAAJ,eAAIA,IAAI,CAAEK,QAAV,EAAoB;QAClBJ,kBAAA,CAAOC,KAAP,CAAa,iBAAb,EAAgC,sBAAhC,EAAwDF,IAAI,CAACK,QAA7D;;QACA,MAAMhB,GAAG,CACNiB,qBADG,CACmB;UAAED,QAAQ,EAAEL,IAAI,CAACK;QAAjB,CADnB,EAEHE,IAFG,CAEGC,WAAD,IAAkBL,IAAI,GAAGK,WAF3B,EAGHC,KAHG,CAGIC,CAAD,IAAOT,kBAAA,CAAOU,IAAP,CAAY,iBAAZ,EAA+B,uBAA/B,EAAwDD,CAAxD,CAHV,CAAN;MAID,CAND,MAMO,IAAIlB,QAAQ,CAACoB,2BAAb,EAA0C;QAC/C,MAAMvB,GAAG,CAACiB,qBAAJ,CAA0B;UAAED,QAAQ,EAAEN;QAAZ,CAA1B,EAAgDQ,IAAhD,CAAsDC,WAAD,IAAkBL,IAAI,GAAGK,WAA9E,CAAN;MACD;;MAED,IAAIhB,QAAQ,CAACqB,gCAAb,EAA+C;QAC7CZ,kBAAA,CAAOC,KAAP,CAAa,iBAAb,EAAgC,8DAAhC;;QACA,MAAMR,+BAA+B,GAAGe,KAAlC,CAAyCC,CAAD,IAAO;UACnDT,kBAAA,CAAOU,IAAP,CAAY,iBAAZ,EAA+B,oCAA/B,EAAqED,CAArE;QACD,CAFK,CAAN;MAGD;;MAEDT,kBAAA,CAAOC,KAAP,CAAa,iBAAb,EAAgC,qBAAhC;;MACAX,cAAc,CAACY,IAAD,CAAd;MACAd,GAAG,CAACyB,WAAJ,GAAkBP,IAAlB,CAAuBjB,YAAY,CAACyB,IAApC;MAEA,OAAOZ,IAAP;IACD,CA1BD,CA0BE,OAAOO,CAAP,EAAU;MACV,MAAMM,KAAK,GAAGN,CAAd;;MAEA,IAAIrB,GAAG,CAAC4B,cAAR,EAAwB;QACtB,IAAI9B,kBAAkB,CAAC+B,IAAnB,CAAyBC,IAAD,IAAUH,KAAK,CAACG,IAAN,KAAeA,IAAjD,CAAJ,EAA4D;UAC1DlB,kBAAA,CAAOU,IAAP,CAAY,iBAAZ,EAA+B,4BAA/B,EAA6DK,KAAK,CAACI,OAAnE,EAA4EJ,KAAK,CAACG,IAAlF;;UACAlB,kBAAA,CAAOU,IAAP,CAAY,iBAAZ,EAA+B,mBAA/B;;UACA,MAAMtB,GAAG,CAACgC,eAAJ,GAAsBZ,KAAtB,CAA6BC,CAAD,IAAOT,kBAAA,CAAOU,IAAP,CAAY,iBAAZ,EAA+B,2BAA/B,EAA4DD,CAA5D,CAAnC,CAAN;QACD,CAJD,MAIO,IAAIrB,GAAG,CAACiC,WAAR,EAAqB;UAC1BrB,kBAAA,CAAOC,KAAP,CAAa,iBAAb,EAAgC,sBAAhC;;UACAX,cAAc,CAACF,GAAG,CAACiC,WAAL,CAAd;UACAjC,GAAG,CAACyB,WAAJ,GAAkBS,OAAlB,CAA0BjC,YAAY,CAACyB,IAAvC;UACA,OAAO1B,GAAG,CAACiC,WAAX;QACD;MACF;;MAEDrB,kBAAA,CAAOU,IAAP,CAAY,iBAAZ,EAA+B,iBAA/B,EAAkDK,KAAK,CAACI,OAAxD,EAAiEJ,KAAK,CAACG,IAAvE;;MACA,MAAMH,KAAN;IACD;EACF,CA/Ca,EAgDd,CAAC3B,GAAD,EAAMK,+BAAN,EAAuCF,QAAQ,CAACqB,gCAAhD,CAhDc,CAAhB;EAmDA,MAAMW,UAAU,GAAG,IAAA1B,kBAAA,EAAY,YAAY;IACzCG,kBAAA,CAAOC,KAAP,CAAa,iBAAb,EAAgC,kBAAhC;;IAEA,IAAIV,QAAQ,CAACqB,gCAAb,EAA+C;MAC7CZ,kBAAA,CAAOC,KAAP,CAAa,iBAAb,EAAgC,gEAAhC;;MACA,MAAMP,iCAAiC,GAAGc,KAApC,CAA2CC,CAAD,IAAO;QACrDT,kBAAA,CAAOU,IAAP,CAAY,iBAAZ,EAA+B,kCAA/B,EAAmED,CAAnE;MACD,CAFK,CAAN;IAGD;;IAED,MAAMrB,GAAG,CAACmC,UAAJ,GAAiBjB,IAAjB,CAAsB,MAAMhB,cAAc,CAACkC,SAAD,CAA1C,CAAN;;IACAxB,kBAAA,CAAOC,KAAP,CAAa,iBAAb,EAAgC,eAAhC;EACD,CAZkB,EAYhB,CAACb,GAAD,EAAMM,iCAAN,EAAyCH,QAAQ,CAACqB,gCAAlD,CAZgB,CAAnB;EAcA,OAAO;IAAEhB,OAAF;IAAW2B,UAAX;IAAuBE,SAAS,EAAE,MAAMrC,GAAG,CAACqC,SAAJ;EAAxC,CAAP;AACD,CAtED;;eAwEetC,a"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.useUserProfile = exports.useSendbirdChat = exports.usePlatformService = exports.useLocalization = void 0;
|
|
6
|
+
exports.useUserProfile = exports.useSendbirdChat = exports.useReaction = exports.usePlatformService = exports.useLocalization = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
|
|
@@ -11,6 +11,8 @@ var _LocalizationCtx = require("../contexts/LocalizationCtx");
|
|
|
11
11
|
|
|
12
12
|
var _PlatformServiceCtx = require("../contexts/PlatformServiceCtx");
|
|
13
13
|
|
|
14
|
+
var _ReactionCtx = require("../contexts/ReactionCtx");
|
|
15
|
+
|
|
14
16
|
var _SendbirdChatCtx = require("../contexts/SendbirdChatCtx");
|
|
15
17
|
|
|
16
18
|
var _UserProfileCtx = require("../contexts/UserProfileCtx");
|
|
@@ -46,4 +48,12 @@ const useUserProfile = () => {
|
|
|
46
48
|
};
|
|
47
49
|
|
|
48
50
|
exports.useUserProfile = useUserProfile;
|
|
51
|
+
|
|
52
|
+
const useReaction = () => {
|
|
53
|
+
const value = (0, _react.useContext)(_ReactionCtx.ReactionContext);
|
|
54
|
+
if (!value) throw new Error('ReactionContext is not provided');
|
|
55
|
+
return value;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
exports.useReaction = useReaction;
|
|
49
59
|
//# sourceMappingURL=useContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useLocalization","value","useContext","LocalizationContext","Error","usePlatformService","PlatformServiceContext","useSendbirdChat","SendbirdChatContext","useUserProfile","UserProfileContext"],"sources":["useContext.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { LocalizationContext } from '../contexts/LocalizationCtx';\nimport { PlatformServiceContext } from '../contexts/PlatformServiceCtx';\nimport { SendbirdChatContext } from '../contexts/SendbirdChatCtx';\nimport { UserProfileContext } from '../contexts/UserProfileCtx';\n\nexport const useLocalization = () => {\n const value = useContext(LocalizationContext);\n if (!value) throw new Error('LocalizationContext is not provided');\n return value;\n};\n\nexport const usePlatformService = () => {\n const value = useContext(PlatformServiceContext);\n if (!value) throw new Error('PlatformServiceContext is not provided');\n return value;\n};\n\nexport const useSendbirdChat = () => {\n const value = useContext(SendbirdChatContext);\n if (!value) throw new Error('SendbirdChatContext is not provided');\n return value;\n};\n\nexport const useUserProfile = () => {\n const value = useContext(UserProfileContext);\n if (!value) throw new Error('UserProfileContext is not provided');\n return value;\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEO,MAAMA,eAAe,GAAG,MAAM;EACnC,MAAMC,KAAK,GAAG,IAAAC,iBAAA,EAAWC,oCAAX,CAAd;EACA,IAAI,CAACF,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMI,kBAAkB,GAAG,MAAM;EACtC,MAAMJ,KAAK,GAAG,IAAAC,iBAAA,EAAWI,0CAAX,CAAd;EACA,IAAI,CAACL,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,wCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMM,eAAe,GAAG,MAAM;EACnC,MAAMN,KAAK,GAAG,IAAAC,iBAAA,EAAWM,oCAAX,CAAd;EACA,IAAI,CAACP,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMQ,cAAc,GAAG,MAAM;EAClC,MAAMR,KAAK,GAAG,IAAAC,iBAAA,EAAWQ,kCAAX,CAAd;EACA,IAAI,CAACT,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,oCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM"}
|
|
1
|
+
{"version":3,"names":["useLocalization","value","useContext","LocalizationContext","Error","usePlatformService","PlatformServiceContext","useSendbirdChat","SendbirdChatContext","useUserProfile","UserProfileContext","useReaction","ReactionContext"],"sources":["useContext.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { LocalizationContext } from '../contexts/LocalizationCtx';\nimport { PlatformServiceContext } from '../contexts/PlatformServiceCtx';\nimport { ReactionContext } from '../contexts/ReactionCtx';\nimport { SendbirdChatContext } from '../contexts/SendbirdChatCtx';\nimport { UserProfileContext } from '../contexts/UserProfileCtx';\n\nexport const useLocalization = () => {\n const value = useContext(LocalizationContext);\n if (!value) throw new Error('LocalizationContext is not provided');\n return value;\n};\n\nexport const usePlatformService = () => {\n const value = useContext(PlatformServiceContext);\n if (!value) throw new Error('PlatformServiceContext is not provided');\n return value;\n};\n\nexport const useSendbirdChat = () => {\n const value = useContext(SendbirdChatContext);\n if (!value) throw new Error('SendbirdChatContext is not provided');\n return value;\n};\n\nexport const useUserProfile = () => {\n const value = useContext(UserProfileContext);\n if (!value) throw new Error('UserProfileContext is not provided');\n return value;\n};\n\nexport const useReaction = () => {\n const value = useContext(ReactionContext);\n if (!value) throw new Error('ReactionContext is not provided');\n return value;\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEO,MAAMA,eAAe,GAAG,MAAM;EACnC,MAAMC,KAAK,GAAG,IAAAC,iBAAA,EAAWC,oCAAX,CAAd;EACA,IAAI,CAACF,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMI,kBAAkB,GAAG,MAAM;EACtC,MAAMJ,KAAK,GAAG,IAAAC,iBAAA,EAAWI,0CAAX,CAAd;EACA,IAAI,CAACL,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,wCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMM,eAAe,GAAG,MAAM;EACnC,MAAMN,KAAK,GAAG,IAAAC,iBAAA,EAAWM,oCAAX,CAAd;EACA,IAAI,CAACP,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMQ,cAAc,GAAG,MAAM;EAClC,MAAMR,KAAK,GAAG,IAAAC,iBAAA,EAAWQ,kCAAX,CAAd;EACA,IAAI,CAACT,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,oCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMU,WAAW,GAAG,MAAM;EAC/B,MAAMV,KAAK,GAAG,IAAAC,iBAAA,EAAWU,4BAAX,CAAd;EACA,IAAI,CAACX,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,iCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM"}
|