@sendbird/uikit-react-native 2.3.0 → 2.4.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 +13 -16
- package/lib/commonjs/components/ChannelCover.js +54 -40
- package/lib/commonjs/components/ChannelCover.js.map +1 -1
- package/lib/commonjs/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/EditInput.js +28 -13
- package/lib/commonjs/components/ChannelInput/EditInput.js.map +1 -0
- package/lib/commonjs/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/SendInput.js +61 -27
- package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -0
- package/lib/commonjs/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/index.js +33 -34
- package/lib/commonjs/components/ChannelInput/index.js.map +1 -0
- package/lib/commonjs/components/FileViewer.js +3 -3
- package/lib/commonjs/components/FileViewer.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +2 -2
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageTime.js +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageTime.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js +1 -1
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
- package/lib/commonjs/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js +58 -0
- package/lib/commonjs/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js.map +1 -0
- package/lib/commonjs/components/OpenChannelMessageRenderer/index.js +135 -0
- package/lib/commonjs/components/OpenChannelMessageRenderer/index.js.map +1 -0
- package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js +2 -4
- package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -1
- package/lib/commonjs/components/TypedPlaceholder.js +6 -0
- package/lib/commonjs/components/TypedPlaceholder.js.map +1 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js +2 -2
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +20 -8
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/UserProfileCtx.js +20 -10
- package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js +54 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +10 -10
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js +2 -2
- 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/index.js +8 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +4 -2
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +4 -2
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +2 -3
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelHeader.js +83 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js +95 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js.map +1 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js +351 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js.map +1 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelStatusEmpty.js +34 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelStatusLoading.js +34 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/openChannel/index.js +62 -0
- package/lib/commonjs/domain/openChannel/index.js.map +1 -0
- package/lib/commonjs/domain/openChannel/module/createOpenChannelModule.js +45 -0
- package/lib/commonjs/domain/openChannel/module/createOpenChannelModule.js.map +1 -0
- package/lib/commonjs/domain/openChannel/module/moduleContext.js +53 -0
- package/lib/commonjs/domain/openChannel/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannel/types.js +6 -0
- package/lib/commonjs/domain/openChannel/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js +39 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js +54 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js +28 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js +32 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js +28 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/index.js +70 -0
- package/lib/commonjs/domain/openChannelBannedUsers/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js +45 -0
- package/lib/commonjs/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/openChannelBannedUsers/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/types.js +6 -0
- package/lib/commonjs/domain/openChannelBannedUsers/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateHeader.js +53 -0
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +169 -0
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js +22 -0
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/index.js +54 -0
- package/lib/commonjs/domain/openChannelCreate/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/module/createOpenChannelCreateModule.js +37 -0
- package/lib/commonjs/domain/openChannelCreate/module/createOpenChannelCreateModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/module/moduleContext.js +44 -0
- package/lib/commonjs/domain/openChannelCreate/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/types.js +6 -0
- package/lib/commonjs/domain/openChannelCreate/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListHeader.js +39 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js +58 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusEmpty.js +34 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusError.js +32 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusError.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusLoading.js +34 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/index.js +70 -0
- package/lib/commonjs/domain/openChannelList/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/module/createOpenChannelListModule.js +45 -0
- package/lib/commonjs/domain/openChannelList/module/createOpenChannelListModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/module/moduleContext.js +42 -0
- package/lib/commonjs/domain/openChannelList/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/types.js +6 -0
- package/lib/commonjs/domain/openChannelList/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationHeader.js +39 -0
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationMenu.js +74 -0
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationMenu.js.map +1 -0
- package/lib/commonjs/domain/openChannelModeration/index.js +46 -0
- package/lib/commonjs/domain/openChannelModeration/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelModeration/module/createOpenChannelModerationModule.js +33 -0
- package/lib/commonjs/domain/openChannelModeration/module/createOpenChannelModerationModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelModeration/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/openChannelModeration/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelModeration/types.js +6 -0
- package/lib/commonjs/domain/openChannelModeration/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js +39 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js +54 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js +28 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js +32 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js +28 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/index.js +62 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js +45 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/types.js +6 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js +44 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsList.js +54 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsList.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js +28 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js +32 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js +28 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/index.js +62 -0
- package/lib/commonjs/domain/openChannelOperators/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js +45 -0
- package/lib/commonjs/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/openChannelOperators/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/types.js +6 -0
- package/lib/commonjs/domain/openChannelOperators/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsHeader.js +49 -0
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsInfo.js +68 -0
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsInfo.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsMenu.js +118 -0
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsMenu.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/index.js +54 -0
- package/lib/commonjs/domain/openChannelSettings/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/module/createOpenChannelSettingsModule.js +37 -0
- package/lib/commonjs/domain/openChannelSettings/module/createOpenChannelSettingsModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/module/moduleContext.js +186 -0
- package/lib/commonjs/domain/openChannelSettings/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/types.js +6 -0
- package/lib/commonjs/domain/openChannelSettings/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelUserList/types.js +6 -0
- package/lib/commonjs/domain/openChannelUserList/types.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +3 -6
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +33 -3
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +6 -8
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js +13 -4
- package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js +2 -4
- package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelBannedUsersFragment.js +101 -0
- package/lib/commonjs/fragments/createOpenChannelBannedUsersFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelCreateFragment.js +86 -0
- package/lib/commonjs/fragments/createOpenChannelCreateFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelFragment.js +177 -0
- package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelListFragment.js +93 -0
- package/lib/commonjs/fragments/createOpenChannelListFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelModerationFragment.js +68 -0
- package/lib/commonjs/fragments/createOpenChannelModerationFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelMutedParticipantsFragment.js +117 -0
- package/lib/commonjs/fragments/createOpenChannelMutedParticipantsFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelOperatorsFragment.js +124 -0
- package/lib/commonjs/fragments/createOpenChannelOperatorsFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelParticipantsFragment.js +162 -0
- package/lib/commonjs/fragments/createOpenChannelParticipantsFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelRegisterOperatorFragment.js +116 -0
- package/lib/commonjs/fragments/createOpenChannelRegisterOperatorFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelSettingsFragment.js +70 -0
- package/lib/commonjs/fragments/createOpenChannelSettingsFragment.js.map +1 -0
- package/lib/commonjs/hooks/useMentionSuggestion.js +3 -12
- package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -1
- package/lib/commonjs/index.js +475 -46
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/localization/StringSet.en.js +2 -2
- package/lib/commonjs/localization/StringSet.en.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js +0 -250
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- package/lib/commonjs/localization/createBaseStringSet.js +393 -0
- package/lib/commonjs/localization/createBaseStringSet.js.map +1 -0
- package/lib/commonjs/platform/createFileService.native.js +5 -0
- package/lib/commonjs/platform/createFileService.native.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/components/ChannelCover.js +47 -33
- package/lib/module/components/ChannelCover.js.map +1 -1
- package/lib/module/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/EditInput.js +28 -13
- package/lib/module/components/ChannelInput/EditInput.js.map +1 -0
- package/lib/module/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/SendInput.js +62 -28
- package/lib/module/components/ChannelInput/SendInput.js.map +1 -0
- package/lib/module/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/index.js +35 -35
- package/lib/module/components/ChannelInput/index.js.map +1 -0
- package/lib/module/components/FileViewer.js +3 -3
- package/lib/module/components/FileViewer.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +2 -2
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/MessageDateSeparator.js.map +1 -1
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +1 -1
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -1
- package/lib/module/components/MessageRenderer/MessageTime.js +1 -1
- package/lib/module/components/MessageRenderer/MessageTime.js.map +1 -1
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js +1 -1
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js.map +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
- package/lib/module/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js +44 -0
- package/lib/module/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js.map +1 -0
- package/lib/module/components/OpenChannelMessageRenderer/index.js +119 -0
- package/lib/module/components/OpenChannelMessageRenderer/index.js.map +1 -0
- package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js +3 -4
- package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -1
- package/lib/module/components/TypedPlaceholder.js +6 -0
- package/lib/module/components/TypedPlaceholder.js.map +1 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js +3 -3
- package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +20 -8
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/contexts/UserProfileCtx.js +21 -11
- package/lib/module/contexts/UserProfileCtx.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput.js +36 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +10 -10
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/module/domain/groupChannel/module/moduleContext.js +3 -3
- 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/index.js +1 -0
- package/lib/module/domain/groupChannelBannedUsers/index.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +2 -2
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +4 -2
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +4 -2
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js +3 -4
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/module/domain/openChannel/component/OpenChannelHeader.js +63 -0
- package/lib/module/domain/openChannel/component/OpenChannelHeader.js.map +1 -0
- package/lib/module/domain/openChannel/component/OpenChannelInput.js +74 -0
- package/lib/module/domain/openChannel/component/OpenChannelInput.js.map +1 -0
- package/lib/module/domain/openChannel/component/OpenChannelMessageList.js +325 -0
- package/lib/module/domain/openChannel/component/OpenChannelMessageList.js.map +1 -0
- package/lib/module/domain/openChannel/component/OpenChannelStatusEmpty.js +21 -0
- package/lib/module/domain/openChannel/component/OpenChannelStatusEmpty.js.map +1 -0
- package/lib/module/domain/openChannel/component/OpenChannelStatusLoading.js +21 -0
- package/lib/module/domain/openChannel/component/OpenChannelStatusLoading.js.map +1 -0
- package/lib/module/domain/openChannel/index.js +7 -0
- package/lib/module/domain/openChannel/index.js.map +1 -0
- package/lib/module/domain/openChannel/module/createOpenChannelModule.js +30 -0
- package/lib/module/domain/openChannel/module/createOpenChannelModule.js.map +1 -0
- package/lib/module/domain/openChannel/module/moduleContext.js +32 -0
- package/lib/module/domain/openChannel/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannel/types.js +2 -0
- package/lib/module/domain/openChannel/types.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js +25 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js +41 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js +16 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js +20 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js +16 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/index.js +8 -0
- package/lib/module/domain/openChannelBannedUsers/index.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js +30 -0
- package/lib/module/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/module/moduleContext.js +25 -0
- package/lib/module/domain/openChannelBannedUsers/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/types.js +2 -0
- package/lib/module/domain/openChannelBannedUsers/types.js.map +1 -0
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateHeader.js +38 -0
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateHeader.js.map +1 -0
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +153 -0
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -0
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js +11 -0
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js.map +1 -0
- package/lib/module/domain/openChannelCreate/index.js +6 -0
- package/lib/module/domain/openChannelCreate/index.js.map +1 -0
- package/lib/module/domain/openChannelCreate/module/createOpenChannelCreateModule.js +24 -0
- package/lib/module/domain/openChannelCreate/module/createOpenChannelCreateModule.js.map +1 -0
- package/lib/module/domain/openChannelCreate/module/moduleContext.js +24 -0
- package/lib/module/domain/openChannelCreate/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelCreate/types.js +2 -0
- package/lib/module/domain/openChannelCreate/types.js.map +1 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListHeader.js +25 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListHeader.js.map +1 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListList.js +45 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListList.js.map +1 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusEmpty.js +21 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusEmpty.js.map +1 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusError.js +20 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusError.js.map +1 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusLoading.js +21 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusLoading.js.map +1 -0
- package/lib/module/domain/openChannelList/index.js +8 -0
- package/lib/module/domain/openChannelList/index.js.map +1 -0
- package/lib/module/domain/openChannelList/module/createOpenChannelListModule.js +30 -0
- package/lib/module/domain/openChannelList/module/createOpenChannelListModule.js.map +1 -0
- package/lib/module/domain/openChannelList/module/moduleContext.js +22 -0
- package/lib/module/domain/openChannelList/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelList/types.js +2 -0
- package/lib/module/domain/openChannelList/types.js.map +1 -0
- package/lib/module/domain/openChannelModeration/component/OpenChannelModerationHeader.js +25 -0
- package/lib/module/domain/openChannelModeration/component/OpenChannelModerationHeader.js.map +1 -0
- package/lib/module/domain/openChannelModeration/component/OpenChannelModerationMenu.js +61 -0
- package/lib/module/domain/openChannelModeration/component/OpenChannelModerationMenu.js.map +1 -0
- package/lib/module/domain/openChannelModeration/index.js +5 -0
- package/lib/module/domain/openChannelModeration/index.js.map +1 -0
- package/lib/module/domain/openChannelModeration/module/createOpenChannelModerationModule.js +21 -0
- package/lib/module/domain/openChannelModeration/module/createOpenChannelModerationModule.js.map +1 -0
- package/lib/module/domain/openChannelModeration/module/moduleContext.js +25 -0
- package/lib/module/domain/openChannelModeration/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelModeration/types.js +2 -0
- package/lib/module/domain/openChannelModeration/types.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js +25 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js +41 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js +16 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js +20 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js +16 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/index.js +7 -0
- package/lib/module/domain/openChannelMutedParticipants/index.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js +30 -0
- package/lib/module/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/module/moduleContext.js +25 -0
- package/lib/module/domain/openChannelMutedParticipants/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/types.js +2 -0
- package/lib/module/domain/openChannelMutedParticipants/types.js.map +1 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js +30 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js.map +1 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsList.js +41 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsList.js.map +1 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js +16 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js.map +1 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js +20 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js.map +1 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js +16 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js.map +1 -0
- package/lib/module/domain/openChannelOperators/index.js +7 -0
- package/lib/module/domain/openChannelOperators/index.js.map +1 -0
- package/lib/module/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js +30 -0
- package/lib/module/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js.map +1 -0
- package/lib/module/domain/openChannelOperators/module/moduleContext.js +25 -0
- package/lib/module/domain/openChannelOperators/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelOperators/types.js +2 -0
- package/lib/module/domain/openChannelOperators/types.js.map +1 -0
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsHeader.js +35 -0
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsHeader.js.map +1 -0
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsInfo.js +49 -0
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsInfo.js.map +1 -0
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsMenu.js +99 -0
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsMenu.js.map +1 -0
- package/lib/module/domain/openChannelSettings/index.js +6 -0
- package/lib/module/domain/openChannelSettings/index.js.map +1 -0
- package/lib/module/domain/openChannelSettings/module/createOpenChannelSettingsModule.js +24 -0
- package/lib/module/domain/openChannelSettings/module/createOpenChannelSettingsModule.js.map +1 -0
- package/lib/module/domain/openChannelSettings/module/moduleContext.js +161 -0
- package/lib/module/domain/openChannelSettings/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelSettings/types.js +2 -0
- package/lib/module/domain/openChannelSettings/types.js.map +1 -0
- package/lib/module/domain/openChannelUserList/types.js +2 -0
- package/lib/module/domain/openChannelUserList/types.js.map +1 -0
- package/lib/module/fragments/createGroupChannelCreateFragment.js +4 -7
- package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +33 -3
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelMembersFragment.js +7 -9
- package/lib/module/fragments/createGroupChannelMembersFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelMutedMembersFragment.js +14 -4
- package/lib/module/fragments/createGroupChannelMutedMembersFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelOperatorsFragment.js +3 -4
- package/lib/module/fragments/createGroupChannelOperatorsFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelBannedUsersFragment.js +84 -0
- package/lib/module/fragments/createOpenChannelBannedUsersFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelCreateFragment.js +69 -0
- package/lib/module/fragments/createOpenChannelCreateFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelFragment.js +153 -0
- package/lib/module/fragments/createOpenChannelFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelListFragment.js +77 -0
- package/lib/module/fragments/createOpenChannelListFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelModerationFragment.js +53 -0
- package/lib/module/fragments/createOpenChannelModerationFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelMutedParticipantsFragment.js +100 -0
- package/lib/module/fragments/createOpenChannelMutedParticipantsFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelOperatorsFragment.js +106 -0
- package/lib/module/fragments/createOpenChannelOperatorsFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelParticipantsFragment.js +140 -0
- package/lib/module/fragments/createOpenChannelParticipantsFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelRegisterOperatorFragment.js +96 -0
- package/lib/module/fragments/createOpenChannelRegisterOperatorFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelSettingsFragment.js +55 -0
- package/lib/module/fragments/createOpenChannelSettingsFragment.js.map +1 -0
- package/lib/module/hooks/useMentionSuggestion.js +5 -14
- package/lib/module/hooks/useMentionSuggestion.js.map +1 -1
- package/lib/module/index.js +48 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/localization/StringSet.en.js +1 -1
- package/lib/module/localization/StringSet.en.js.map +1 -1
- package/lib/module/localization/StringSet.type.js +1 -250
- package/lib/module/localization/StringSet.type.js.map +1 -1
- package/lib/module/localization/createBaseStringSet.js +384 -0
- package/lib/module/localization/createBaseStringSet.js.map +1 -0
- package/lib/module/platform/createFileService.native.js +5 -0
- package/lib/module/platform/createFileService.native.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/src/components/ChannelCover.d.ts +2 -2
- package/lib/typescript/src/components/ChannelInput/EditInput.d.ts +16 -0
- package/lib/typescript/src/components/ChannelInput/SendInput.d.ts +12 -0
- package/lib/typescript/src/components/ChannelInput/index.d.ts +43 -0
- package/lib/typescript/src/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.d.ts +6 -0
- package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +16 -0
- package/lib/typescript/src/components/TypedPlaceholder.d.ts +1 -1
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +4 -3
- package/lib/typescript/src/contexts/UserProfileCtx.d.ts +6 -2
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannel/types.d.ts +9 -28
- package/lib/typescript/src/domain/groupChannelBannedUsers/index.d.ts +1 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +7 -0
- package/lib/typescript/src/domain/openChannel/component/OpenChannelInput.d.ts +3 -0
- package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +39 -0
- package/lib/typescript/src/domain/openChannel/component/OpenChannelStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/openChannel/component/OpenChannelStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/openChannel/index.d.ts +6 -0
- package/lib/typescript/src/domain/openChannel/module/createOpenChannelModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannel/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannel/types.d.ts +97 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/index.d.ts +7 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/types.d.ts +47 -0
- package/lib/typescript/src/domain/openChannelCreate/component/OpenChannelCreateHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelCreate/component/OpenChannelCreateProfileInput.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelCreate/index.d.ts +5 -0
- package/lib/typescript/src/domain/openChannelCreate/module/createOpenChannelCreateModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelCreate/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelCreate/types.d.ts +40 -0
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListList.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelList/index.d.ts +7 -0
- package/lib/typescript/src/domain/openChannelList/module/createOpenChannelListModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelList/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelList/types.d.ts +60 -0
- package/lib/typescript/src/domain/openChannelModeration/component/OpenChannelModerationHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelModeration/component/OpenChannelModerationMenu.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelModeration/index.d.ts +4 -0
- package/lib/typescript/src/domain/openChannelModeration/module/createOpenChannelModerationModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelModeration/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelModeration/types.d.ts +43 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/index.d.ts +6 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/types.d.ts +47 -0
- package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsList.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelOperators/index.d.ts +6 -0
- package/lib/typescript/src/domain/openChannelOperators/module/createOpenChannelOperatorsModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelOperators/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelOperators/types.d.ts +49 -0
- package/lib/typescript/src/domain/openChannelSettings/component/OpenChannelSettingsHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelSettings/component/OpenChannelSettingsInfo.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelSettings/component/OpenChannelSettingsMenu.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelSettings/index.d.ts +5 -0
- package/lib/typescript/src/domain/openChannelSettings/module/createOpenChannelSettingsModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelSettings/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelSettings/types.d.ts +49 -0
- package/lib/typescript/src/domain/openChannelUserList/types.d.ts +23 -0
- package/lib/typescript/src/fragments/createOpenChannelBannedUsersFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelCreateFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelListFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelModerationFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelMutedParticipantsFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelOperatorsFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelParticipantsFragment.d.ts +5 -0
- package/lib/typescript/src/fragments/createOpenChannelRegisterOperatorFragment.d.ts +5 -0
- package/lib/typescript/src/fragments/createOpenChannelSettingsFragment.d.ts +3 -0
- package/lib/typescript/src/index.d.ts +44 -11
- package/lib/typescript/src/libs/MentionManager.d.ts +1 -1
- package/lib/typescript/src/localization/StringSet.type.d.ts +136 -26
- package/lib/typescript/src/localization/createBaseStringSet.d.ts +16 -0
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +9 -8
- package/src/components/ChannelCover.tsx +46 -37
- package/src/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/EditInput.tsx +30 -19
- package/src/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/SendInput.tsx +66 -40
- package/src/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/index.tsx +92 -37
- package/src/components/FileViewer.tsx +3 -3
- package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +1 -1
- package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +5 -1
- package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +6 -2
- package/src/components/MessageRenderer/MessageDateSeparator.tsx +1 -0
- package/src/components/MessageRenderer/MessageIncomingSenderName.tsx +1 -1
- package/src/components/MessageRenderer/MessageTime.tsx +1 -1
- package/src/components/MessageRenderer/UnknownMessage/index.tsx +1 -1
- package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +1 -1
- package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +1 -1
- package/src/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.tsx +46 -0
- package/src/components/OpenChannelMessageRenderer/index.tsx +91 -0
- package/src/components/ReactionAddons/BottomSheetReactionAddon.tsx +3 -4
- package/src/components/TypedPlaceholder.tsx +3 -0
- package/src/containers/GroupChannelPreviewContainer.tsx +3 -3
- package/src/containers/SendbirdUIKitContainer.tsx +26 -15
- package/src/contexts/UserProfileCtx.tsx +27 -12
- package/src/domain/groupChannel/component/GroupChannelInput.tsx +42 -0
- package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +10 -10
- package/src/domain/groupChannel/module/moduleContext.tsx +3 -3
- package/src/domain/groupChannel/types.ts +24 -37
- package/src/domain/groupChannelBannedUsers/index.ts +1 -0
- package/src/domain/groupChannelList/component/GroupChannelListList.tsx +2 -2
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.tsx +2 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.tsx +2 -0
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.tsx +1 -1
- package/src/domain/groupChannelSettings/module/moduleContext.tsx +3 -4
- package/src/domain/openChannel/component/OpenChannelHeader.tsx +47 -0
- package/src/domain/openChannel/component/OpenChannelInput.tsx +80 -0
- package/src/domain/openChannel/component/OpenChannelMessageList.tsx +322 -0
- package/src/domain/openChannel/component/OpenChannelStatusEmpty.tsx +18 -0
- package/src/domain/openChannel/component/OpenChannelStatusLoading.tsx +18 -0
- package/src/domain/openChannel/index.ts +6 -0
- package/src/domain/openChannel/module/createOpenChannelModule.tsx +21 -0
- package/src/domain/openChannel/module/moduleContext.tsx +41 -0
- package/src/domain/openChannel/types.ts +127 -0
- package/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.tsx +14 -0
- package/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.tsx +33 -0
- package/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.tsx +15 -0
- package/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.tsx +16 -0
- package/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.tsx +15 -0
- package/src/domain/openChannelBannedUsers/index.ts +7 -0
- package/src/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.tsx +21 -0
- package/src/domain/openChannelBannedUsers/module/moduleContext.tsx +30 -0
- package/src/domain/openChannelBannedUsers/types.ts +50 -0
- package/src/domain/openChannelCreate/component/OpenChannelCreateHeader.tsx +35 -0
- package/src/domain/openChannelCreate/component/OpenChannelCreateProfileInput.tsx +155 -0
- package/src/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.tsx +9 -0
- package/src/domain/openChannelCreate/index.ts +5 -0
- package/src/domain/openChannelCreate/module/createOpenChannelCreateModule.tsx +17 -0
- package/src/domain/openChannelCreate/module/moduleContext.tsx +28 -0
- package/src/domain/openChannelCreate/types.ts +45 -0
- package/src/domain/openChannelList/component/OpenChannelListHeader.tsx +14 -0
- package/src/domain/openChannelList/component/OpenChannelListList.tsx +37 -0
- package/src/domain/openChannelList/component/OpenChannelListStatusEmpty.tsx +18 -0
- package/src/domain/openChannelList/component/OpenChannelListStatusError.tsx +16 -0
- package/src/domain/openChannelList/component/OpenChannelListStatusLoading.tsx +18 -0
- package/src/domain/openChannelList/index.ts +7 -0
- package/src/domain/openChannelList/module/createOpenChannelListModule.tsx +21 -0
- package/src/domain/openChannelList/module/moduleContext.tsx +22 -0
- package/src/domain/openChannelList/types.ts +63 -0
- package/src/domain/openChannelModeration/component/OpenChannelModerationHeader.tsx +15 -0
- package/src/domain/openChannelModeration/component/OpenChannelModerationMenu.tsx +62 -0
- package/src/domain/openChannelModeration/index.ts +4 -0
- package/src/domain/openChannelModeration/module/createOpenChannelModerationModule.tsx +15 -0
- package/src/domain/openChannelModeration/module/moduleContext.tsx +33 -0
- package/src/domain/openChannelModeration/types.ts +48 -0
- package/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.tsx +14 -0
- package/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.tsx +33 -0
- package/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.tsx +15 -0
- package/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.tsx +18 -0
- package/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.tsx +15 -0
- package/src/domain/openChannelMutedParticipants/index.ts +9 -0
- package/src/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.tsx +21 -0
- package/src/domain/openChannelMutedParticipants/module/moduleContext.tsx +30 -0
- package/src/domain/openChannelMutedParticipants/types.ts +50 -0
- package/src/domain/openChannelOperators/component/OpenChannelOperatorsHeader.tsx +22 -0
- package/src/domain/openChannelOperators/component/OpenChannelOperatorsList.tsx +31 -0
- package/src/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.tsx +15 -0
- package/src/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.tsx +16 -0
- package/src/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.tsx +15 -0
- package/src/domain/openChannelOperators/index.ts +6 -0
- package/src/domain/openChannelOperators/module/createOpenChannelOperatorsModule.tsx +21 -0
- package/src/domain/openChannelOperators/module/moduleContext.tsx +27 -0
- package/src/domain/openChannelOperators/types.ts +52 -0
- package/src/domain/openChannelSettings/component/OpenChannelSettingsHeader.tsx +29 -0
- package/src/domain/openChannelSettings/component/OpenChannelSettingsInfo.tsx +47 -0
- package/src/domain/openChannelSettings/component/OpenChannelSettingsMenu.tsx +105 -0
- package/src/domain/openChannelSettings/index.ts +5 -0
- package/src/domain/openChannelSettings/module/createOpenChannelSettingsModule.tsx +17 -0
- package/src/domain/openChannelSettings/module/moduleContext.tsx +171 -0
- package/src/domain/openChannelSettings/types.ts +54 -0
- package/src/domain/openChannelUserList/types.ts +30 -0
- package/src/fragments/createGroupChannelCreateFragment.tsx +4 -7
- package/src/fragments/createGroupChannelFragment.tsx +37 -2
- package/src/fragments/createGroupChannelMembersFragment.tsx +11 -8
- package/src/fragments/createGroupChannelMutedMembersFragment.tsx +12 -5
- package/src/fragments/createGroupChannelOperatorsFragment.tsx +3 -4
- package/src/fragments/createOpenChannelBannedUsersFragment.tsx +80 -0
- package/src/fragments/createOpenChannelCreateFragment.tsx +77 -0
- package/src/fragments/createOpenChannelFragment.tsx +157 -0
- package/src/fragments/createOpenChannelListFragment.tsx +67 -0
- package/src/fragments/createOpenChannelModerationFragment.tsx +55 -0
- package/src/fragments/createOpenChannelMutedParticipantsFragment.tsx +100 -0
- package/src/fragments/createOpenChannelOperatorsFragment.tsx +101 -0
- package/src/fragments/createOpenChannelParticipantsFragment.tsx +144 -0
- package/src/fragments/createOpenChannelRegisterOperatorFragment.tsx +99 -0
- package/src/fragments/createOpenChannelSettingsFragment.tsx +57 -0
- package/src/hooks/useMentionSuggestion.ts +10 -17
- package/src/index.ts +55 -49
- package/src/localization/StringSet.en.ts +1 -1
- package/src/localization/StringSet.type.ts +146 -258
- package/src/localization/createBaseStringSet.ts +369 -0
- package/src/platform/createFileService.native.ts +8 -0
- package/src/version.ts +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +0 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +0 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +0 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +0 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +0 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +0 -1
- package/lib/typescript/__template__/component/__domain__Header.d.ts +0 -3
- package/lib/typescript/__template__/component/__domain__StatusEmpty.d.ts +0 -2
- package/lib/typescript/__template__/component/__domain__StatusLoading.d.ts +0 -2
- package/lib/typescript/__template__/component/__domain__View.d.ts +0 -3
- package/lib/typescript/__template__/create__domain__Fragment.d.ts +0 -2
- package/lib/typescript/__template__/index.d.ts +0 -6
- package/lib/typescript/__template__/module/create__domain__Module.d.ts +0 -3
- package/lib/typescript/__template__/module/moduleContext.d.ts +0 -3
- package/lib/typescript/__template__/types.d.ts +0 -31
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +0 -39
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +0 -37
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useCallback","useChannelHandler","useActionMenu","useAlert","useBottomSheet","usePrompt","useToast","NOOP","isDifferentChannel","useForceUpdate","useUniqId","ProviderLayout","useLocalization","usePlatformService","useSendbirdChat","SBUError","SBUUtils","GroupChannelSettingsContexts","Fragment","channel","headerTitle","headerRight","onPressHeaderRight","HOOK_NAME","GroupChannelSettingsContextsProvider","children","uniqId","forceUpdate","STRINGS","sdk","fileService","alert","onChannelChanged","eventChannel","onChannelFrozen","onChannelUnfrozen","onUserBanned","toast","openSheet","openPrompt","openMenu","updateChannel","params","changeChannelName","title","GROUP_CHANNEL_SETTINGS","DIALOG_CHANGE_NAME_PROMPT_TITLE","submitLabel","DIALOG_CHANGE_NAME_PROMPT_OK","placeholder","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","defaultValue","name","onSubmit","channelName","changeChannelImage","DIALOG_CHANGE_IMAGE_MENU_TITLE","menuItems","DIALOG_CHANGE_IMAGE_MENU_CAMERA","onPress","file","openCamera","mediaType","onOpenFailure","error","code","CODE","ERR_PERMISSIONS_DENIED","DIALOG","ALERT_PERMISSIONS_TITLE","message","ALERT_PERMISSIONS_MESSAGE","LABELS","PERMISSION_CAMERA","PERMISSION_APP_NAME","buttons","text","ALERT_PERMISSIONS_OK","openSettings","show","TOAST","OPEN_CAMERA_ERROR","coverImage","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","files","openMediaLibrary","selectionLimit","PERMISSION_DEVICE_STORAGE","OPEN_PHOTO_LIBRARY_ERROR","sheetItems","DIALOG_CHANGE_NAME","DIALOG_CHANGE_IMAGE","HEADER_TITLE","HEADER_RIGHT"],"sources":["moduleContext.tsx"],"sourcesContent":["import React, { createContext, useCallback } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { useActionMenu, useAlert, useBottomSheet, usePrompt, useToast } from '@sendbird/uikit-react-native-foundation';\nimport {\n NOOP,\n SendbirdBaseChannel,\n SendbirdGroupChannel,\n SendbirdGroupChannelUpdateParams,\n isDifferentChannel,\n useForceUpdate,\n useUniqId,\n} from '@sendbird/uikit-utils';\n\nimport ProviderLayout from '../../../components/ProviderLayout';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../../hooks/useContext';\nimport SBUError from '../../../libs/SBUError';\nimport SBUUtils from '../../../libs/SBUUtils';\nimport type { GroupChannelSettingsContextsType, GroupChannelSettingsModule } from '../types';\n\nexport const GroupChannelSettingsContexts: GroupChannelSettingsContextsType = {\n Fragment: createContext({\n channel: {} as SendbirdGroupChannel,\n headerTitle: '',\n headerRight: '',\n onPressHeaderRight: NOOP,\n }),\n};\n\nconst HOOK_NAME = 'GroupChannelSettingsContextsProvider';\nexport const GroupChannelSettingsContextsProvider: GroupChannelSettingsModule['Provider'] = ({ children, channel }) => {\n const uniqId = useUniqId(HOOK_NAME);\n const forceUpdate = useForceUpdate();\n const { STRINGS } = useLocalization();\n const { sdk } = useSendbirdChat();\n const { fileService } = usePlatformService();\n const { alert } = useAlert();\n\n const onChannelChanged = (eventChannel: SendbirdBaseChannel) => {\n if (isDifferentChannel(eventChannel, channel)) return;\n forceUpdate();\n };\n\n useChannelHandler(sdk, `${HOOK_NAME}_${uniqId}`, {\n onChannelChanged: onChannelChanged,\n onChannelFrozen: onChannelChanged,\n onChannelUnfrozen: onChannelChanged,\n onUserBanned: onChannelChanged,\n });\n\n const toast = useToast();\n const { openSheet } = useBottomSheet();\n const { openPrompt } = usePrompt();\n const { openMenu } = useActionMenu();\n\n const updateChannel = useCallback(\n async (params: SendbirdGroupChannelUpdateParams) => {\n await channel.updateChannel(params);\n forceUpdate();\n },\n [channel],\n );\n\n const changeChannelName = useCallback(() => {\n openPrompt({\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_TITLE,\n submitLabel: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_OK,\n placeholder: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER,\n defaultValue: channel.name,\n onSubmit: (channelName) => updateChannel({ name: channelName }),\n });\n }, [STRINGS, updateChannel, channel.name]);\n\n const changeChannelImage = useCallback(() => {\n openMenu({\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_TITLE,\n menuItems: [\n {\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_CAMERA,\n onPress: async () => {\n const file = await fileService.openCamera({\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_CAMERA,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error');\n }\n },\n });\n if (!file) return;\n\n await updateChannel({ coverImage: file });\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY,\n onPress: async () => {\n const files = await fileService.openMediaLibrary({\n selectionLimit: 1,\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_DEVICE_STORAGE,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error');\n }\n },\n });\n if (!files || !files[0]) return;\n\n await updateChannel({ coverImage: files[0] });\n },\n },\n ],\n });\n }, [STRINGS, updateChannel]);\n\n const onPressHeaderRight = useCallback(() => {\n openSheet({\n sheetItems: [\n { title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME, onPress: changeChannelName },\n { title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE, onPress: changeChannelImage },\n ],\n });\n }, [STRINGS, changeChannelImage, changeChannelName]);\n\n return (\n <ProviderLayout>\n <GroupChannelSettingsContexts.Fragment.Provider\n value={{\n channel,\n headerTitle: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_TITLE,\n headerRight: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_RIGHT,\n onPressHeaderRight,\n }}\n >\n {children}\n </GroupChannelSettingsContexts.Fragment.Provider>\n </ProviderLayout>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useChannelHandler","useActionMenu","useAlert","useBottomSheet","usePrompt","useToast","NOOP","isDifferentChannel","useForceUpdate","useUniqHandlerId","ProviderLayout","useLocalization","usePlatformService","useSendbirdChat","SBUError","SBUUtils","GroupChannelSettingsContexts","Fragment","channel","headerTitle","headerRight","onPressHeaderRight","GroupChannelSettingsContextsProvider","children","handlerId","forceUpdate","STRINGS","sdk","fileService","alert","onChannelChanged","eventChannel","onChannelFrozen","onChannelUnfrozen","onUserBanned","toast","openSheet","openPrompt","openMenu","updateChannel","params","changeChannelName","title","GROUP_CHANNEL_SETTINGS","DIALOG_CHANGE_NAME_PROMPT_TITLE","submitLabel","DIALOG_CHANGE_NAME_PROMPT_OK","placeholder","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","defaultValue","name","onSubmit","channelName","changeChannelImage","DIALOG_CHANGE_IMAGE_MENU_TITLE","menuItems","DIALOG_CHANGE_IMAGE_MENU_CAMERA","onPress","file","openCamera","mediaType","onOpenFailure","error","code","CODE","ERR_PERMISSIONS_DENIED","DIALOG","ALERT_PERMISSIONS_TITLE","message","ALERT_PERMISSIONS_MESSAGE","LABELS","PERMISSION_CAMERA","PERMISSION_APP_NAME","buttons","text","ALERT_PERMISSIONS_OK","openSettings","show","TOAST","OPEN_CAMERA_ERROR","coverImage","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","files","openMediaLibrary","selectionLimit","PERMISSION_DEVICE_STORAGE","OPEN_PHOTO_LIBRARY_ERROR","sheetItems","DIALOG_CHANGE_NAME","DIALOG_CHANGE_IMAGE","HEADER_TITLE","HEADER_RIGHT"],"sources":["moduleContext.tsx"],"sourcesContent":["import React, { createContext, useCallback } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { useActionMenu, useAlert, useBottomSheet, usePrompt, useToast } from '@sendbird/uikit-react-native-foundation';\nimport {\n NOOP,\n SendbirdBaseChannel,\n SendbirdGroupChannel,\n SendbirdGroupChannelUpdateParams,\n isDifferentChannel,\n useForceUpdate,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport ProviderLayout from '../../../components/ProviderLayout';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../../hooks/useContext';\nimport SBUError from '../../../libs/SBUError';\nimport SBUUtils from '../../../libs/SBUUtils';\nimport type { GroupChannelSettingsContextsType, GroupChannelSettingsModule } from '../types';\n\nexport const GroupChannelSettingsContexts: GroupChannelSettingsContextsType = {\n Fragment: createContext({\n channel: {} as SendbirdGroupChannel,\n headerTitle: '',\n headerRight: '',\n onPressHeaderRight: NOOP,\n }),\n};\n\nexport const GroupChannelSettingsContextsProvider: GroupChannelSettingsModule['Provider'] = ({ children, channel }) => {\n const handlerId = useUniqHandlerId('GroupChannelSettingsContextsProvider');\n const forceUpdate = useForceUpdate();\n const { STRINGS } = useLocalization();\n const { sdk } = useSendbirdChat();\n const { fileService } = usePlatformService();\n const { alert } = useAlert();\n\n const onChannelChanged = (eventChannel: SendbirdBaseChannel) => {\n if (isDifferentChannel(eventChannel, channel)) return;\n forceUpdate();\n };\n\n useChannelHandler(sdk, handlerId, {\n onChannelChanged: onChannelChanged,\n onChannelFrozen: onChannelChanged,\n onChannelUnfrozen: onChannelChanged,\n onUserBanned: onChannelChanged,\n });\n\n const toast = useToast();\n const { openSheet } = useBottomSheet();\n const { openPrompt } = usePrompt();\n const { openMenu } = useActionMenu();\n\n const updateChannel = useCallback(\n async (params: SendbirdGroupChannelUpdateParams) => {\n await channel.updateChannel(params);\n forceUpdate();\n },\n [channel],\n );\n\n const changeChannelName = useCallback(() => {\n openPrompt({\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_TITLE,\n submitLabel: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_OK,\n placeholder: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER,\n defaultValue: channel.name,\n onSubmit: (channelName) => updateChannel({ name: channelName }),\n });\n }, [STRINGS, updateChannel, channel.name]);\n\n const changeChannelImage = useCallback(() => {\n openMenu({\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_TITLE,\n menuItems: [\n {\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_CAMERA,\n onPress: async () => {\n const file = await fileService.openCamera({\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_CAMERA,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error');\n }\n },\n });\n if (!file) return;\n\n await updateChannel({ coverImage: file });\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY,\n onPress: async () => {\n const files = await fileService.openMediaLibrary({\n selectionLimit: 1,\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_DEVICE_STORAGE,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error');\n }\n },\n });\n if (!files || !files[0]) return;\n\n await updateChannel({ coverImage: files[0] });\n },\n },\n ],\n });\n }, [STRINGS, updateChannel]);\n\n const onPressHeaderRight = useCallback(() => {\n openSheet({\n sheetItems: [\n { title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME, onPress: changeChannelName },\n { title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE, onPress: changeChannelImage },\n ],\n });\n }, [STRINGS, changeChannelImage, changeChannelName]);\n\n return (\n <ProviderLayout>\n <GroupChannelSettingsContexts.Fragment.Provider\n value={{\n channel,\n headerTitle: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_TITLE,\n headerRight: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_RIGHT,\n onPressHeaderRight,\n }}\n >\n {children}\n </GroupChannelSettingsContexts.Fragment.Provider>\n </ProviderLayout>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { Box, Header, Icon, createStyleSheet, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';
|
|
3
|
+
import { useLocalization } from '../../..//hooks/useContext';
|
|
4
|
+
import ChannelCover from '../../../components/ChannelCover';
|
|
5
|
+
import { OpenChannelContexts } from '../module/moduleContext';
|
|
6
|
+
|
|
7
|
+
const OpenChannelHeader = _ref => {
|
|
8
|
+
let {
|
|
9
|
+
onPressHeaderLeft,
|
|
10
|
+
onPressHeaderRight,
|
|
11
|
+
rightIconName
|
|
12
|
+
} = _ref;
|
|
13
|
+
const {
|
|
14
|
+
headerTitle,
|
|
15
|
+
channel
|
|
16
|
+
} = useContext(OpenChannelContexts.Fragment);
|
|
17
|
+
const {
|
|
18
|
+
HeaderComponent
|
|
19
|
+
} = useHeaderStyle();
|
|
20
|
+
const {
|
|
21
|
+
STRINGS
|
|
22
|
+
} = useLocalization();
|
|
23
|
+
return /*#__PURE__*/React.createElement(HeaderComponent, {
|
|
24
|
+
clearTitleMargin: true,
|
|
25
|
+
title: /*#__PURE__*/React.createElement(Box, {
|
|
26
|
+
flexDirection: 'row',
|
|
27
|
+
alignItems: 'center',
|
|
28
|
+
style: styles.titleContainer
|
|
29
|
+
}, /*#__PURE__*/React.createElement(ChannelCover, {
|
|
30
|
+
channel: channel,
|
|
31
|
+
size: 34,
|
|
32
|
+
containerStyle: styles.avatarGroup
|
|
33
|
+
}), /*#__PURE__*/React.createElement(Box, {
|
|
34
|
+
flexShrink: 1
|
|
35
|
+
}, /*#__PURE__*/React.createElement(Header.Title, {
|
|
36
|
+
h2: true
|
|
37
|
+
}, headerTitle), /*#__PURE__*/React.createElement(Header.Subtitle, {
|
|
38
|
+
style: styles.subtitle
|
|
39
|
+
}, STRINGS.OPEN_CHANNEL.HEADER_SUBTITLE(channel)))),
|
|
40
|
+
left: /*#__PURE__*/React.createElement(Icon, {
|
|
41
|
+
icon: 'arrow-left'
|
|
42
|
+
}),
|
|
43
|
+
onPressLeft: onPressHeaderLeft,
|
|
44
|
+
right: /*#__PURE__*/React.createElement(Icon, {
|
|
45
|
+
icon: rightIconName
|
|
46
|
+
}),
|
|
47
|
+
onPressRight: onPressHeaderRight
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const styles = createStyleSheet({
|
|
52
|
+
titleContainer: {
|
|
53
|
+
maxWidth: '100%'
|
|
54
|
+
},
|
|
55
|
+
avatarGroup: {
|
|
56
|
+
marginRight: 8
|
|
57
|
+
},
|
|
58
|
+
subtitle: {
|
|
59
|
+
marginTop: 2
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
export default /*#__PURE__*/React.memo(OpenChannelHeader);
|
|
63
|
+
//# sourceMappingURL=OpenChannelHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useContext","Box","Header","Icon","createStyleSheet","useHeaderStyle","useLocalization","ChannelCover","OpenChannelContexts","OpenChannelHeader","onPressHeaderLeft","onPressHeaderRight","rightIconName","headerTitle","channel","Fragment","HeaderComponent","STRINGS","styles","titleContainer","avatarGroup","subtitle","OPEN_CHANNEL","HEADER_SUBTITLE","maxWidth","marginRight","marginTop","memo"],"sources":["OpenChannelHeader.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { Box, Header, Icon, createStyleSheet, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../../..//hooks/useContext';\nimport ChannelCover from '../../../components/ChannelCover';\nimport { OpenChannelContexts } from '../module/moduleContext';\nimport type { OpenChannelProps } from '../types';\n\nconst OpenChannelHeader = ({ onPressHeaderLeft, onPressHeaderRight, rightIconName }: OpenChannelProps['Header']) => {\n const { headerTitle, channel } = useContext(OpenChannelContexts.Fragment);\n const { HeaderComponent } = useHeaderStyle();\n const { STRINGS } = useLocalization();\n\n return (\n <HeaderComponent\n clearTitleMargin\n title={\n <Box flexDirection={'row'} alignItems={'center'} style={styles.titleContainer}>\n <ChannelCover channel={channel} size={34} containerStyle={styles.avatarGroup} />\n <Box flexShrink={1}>\n <Header.Title h2>{headerTitle}</Header.Title>\n <Header.Subtitle style={styles.subtitle}>{STRINGS.OPEN_CHANNEL.HEADER_SUBTITLE(channel)}</Header.Subtitle>\n </Box>\n </Box>\n }\n left={<Icon icon={'arrow-left'} />}\n onPressLeft={onPressHeaderLeft}\n right={<Icon icon={rightIconName} />}\n onPressRight={onPressHeaderRight}\n />\n );\n};\n\nconst styles = createStyleSheet({\n titleContainer: {\n maxWidth: '100%',\n },\n avatarGroup: {\n marginRight: 8,\n },\n subtitle: {\n marginTop: 2,\n },\n});\n\nexport default React.memo(OpenChannelHeader);\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AAEA,SAASC,GAAT,EAAcC,MAAd,EAAsBC,IAAtB,EAA4BC,gBAA5B,EAA8CC,cAA9C,QAAoE,yCAApE;AAEA,SAASC,eAAT,QAAgC,4BAAhC;AACA,OAAOC,YAAP,MAAyB,kCAAzB;AACA,SAASC,mBAAT,QAAoC,yBAApC;;AAGA,MAAMC,iBAAiB,GAAG,QAA0F;EAAA,IAAzF;IAAEC,iBAAF;IAAqBC,kBAArB;IAAyCC;EAAzC,CAAyF;EAClH,MAAM;IAAEC,WAAF;IAAeC;EAAf,IAA2Bd,UAAU,CAACQ,mBAAmB,CAACO,QAArB,CAA3C;EACA,MAAM;IAAEC;EAAF,IAAsBX,cAAc,EAA1C;EACA,MAAM;IAAEY;EAAF,IAAcX,eAAe,EAAnC;EAEA,oBACE,oBAAC,eAAD;IACE,gBAAgB,MADlB;IAEE,KAAK,eACH,oBAAC,GAAD;MAAK,aAAa,EAAE,KAApB;MAA2B,UAAU,EAAE,QAAvC;MAAiD,KAAK,EAAEY,MAAM,CAACC;IAA/D,gBACE,oBAAC,YAAD;MAAc,OAAO,EAAEL,OAAvB;MAAgC,IAAI,EAAE,EAAtC;MAA0C,cAAc,EAAEI,MAAM,CAACE;IAAjE,EADF,eAEE,oBAAC,GAAD;MAAK,UAAU,EAAE;IAAjB,gBACE,oBAAC,MAAD,CAAQ,KAAR;MAAc,EAAE;IAAhB,GAAkBP,WAAlB,CADF,eAEE,oBAAC,MAAD,CAAQ,QAAR;MAAiB,KAAK,EAAEK,MAAM,CAACG;IAA/B,GAA0CJ,OAAO,CAACK,YAAR,CAAqBC,eAArB,CAAqCT,OAArC,CAA1C,CAFF,CAFF,CAHJ;IAWE,IAAI,eAAE,oBAAC,IAAD;MAAM,IAAI,EAAE;IAAZ,EAXR;IAYE,WAAW,EAAEJ,iBAZf;IAaE,KAAK,eAAE,oBAAC,IAAD;MAAM,IAAI,EAAEE;IAAZ,EAbT;IAcE,YAAY,EAAED;EAdhB,EADF;AAkBD,CAvBD;;AAyBA,MAAMO,MAAM,GAAGd,gBAAgB,CAAC;EAC9Be,cAAc,EAAE;IACdK,QAAQ,EAAE;EADI,CADc;EAI9BJ,WAAW,EAAE;IACXK,WAAW,EAAE;EADF,CAJiB;EAO9BJ,QAAQ,EAAE;IACRK,SAAS,EAAE;EADH;AAPoB,CAAD,CAA/B;AAYA,4BAAe3B,KAAK,CAAC4B,IAAN,CAAWlB,iBAAX,CAAf"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import React, { useCallback, useContext, useEffect, useState } from 'react';
|
|
2
|
+
import { useChannelHandler } from '@sendbird/uikit-chat-hooks';
|
|
3
|
+
import { getOpenChannelChatAvailableState, useUniqHandlerId } from '@sendbird/uikit-utils';
|
|
4
|
+
import ChannelInput from '../../../components/ChannelInput';
|
|
5
|
+
import { UNKNOWN_USER_ID } from '../../../constants';
|
|
6
|
+
import { useSendbirdChat } from '../../../hooks/useContext';
|
|
7
|
+
import { OpenChannelContexts } from '../module/moduleContext';
|
|
8
|
+
|
|
9
|
+
const OpenChannelInput = props => {
|
|
10
|
+
const {
|
|
11
|
+
sdk,
|
|
12
|
+
currentUser
|
|
13
|
+
} = useSendbirdChat();
|
|
14
|
+
const {
|
|
15
|
+
channel,
|
|
16
|
+
messageToEdit,
|
|
17
|
+
setMessageToEdit,
|
|
18
|
+
keyboardAvoidOffset = 0
|
|
19
|
+
} = useContext(OpenChannelContexts.Fragment);
|
|
20
|
+
const [chatAvailableState, setChatAvailableState] = useState({
|
|
21
|
+
frozen: false,
|
|
22
|
+
muted: false,
|
|
23
|
+
disabled: false
|
|
24
|
+
});
|
|
25
|
+
const updateChatAvailableState = useCallback(baseChannel => {
|
|
26
|
+
if (baseChannel.isOpenChannel()) {
|
|
27
|
+
const userId = (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) ?? UNKNOWN_USER_ID;
|
|
28
|
+
getOpenChannelChatAvailableState(baseChannel, userId).then(setChatAvailableState);
|
|
29
|
+
}
|
|
30
|
+
}, [currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId]);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
updateChatAvailableState(channel);
|
|
33
|
+
}, [channel, updateChatAvailableState]);
|
|
34
|
+
const handlerId = useUniqHandlerId('OpenChannelInput');
|
|
35
|
+
useChannelHandler(sdk, handlerId, {
|
|
36
|
+
onChannelFrozen(channel) {
|
|
37
|
+
updateChatAvailableState(channel);
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
onChannelUnfrozen(channel) {
|
|
41
|
+
updateChatAvailableState(channel);
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
onUserMuted(channel) {
|
|
45
|
+
updateChatAvailableState(channel);
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
onUserUnmuted(channel) {
|
|
49
|
+
updateChatAvailableState(channel);
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
onOperatorUpdated(channel) {
|
|
53
|
+
updateChatAvailableState(channel);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
}, 'open');
|
|
57
|
+
return /*#__PURE__*/React.createElement(ChannelInput, {
|
|
58
|
+
channel: channel,
|
|
59
|
+
messageToEdit: messageToEdit,
|
|
60
|
+
setMessageToEdit: setMessageToEdit,
|
|
61
|
+
inputMuted: chatAvailableState.muted,
|
|
62
|
+
inputFrozen: channel.isFrozen,
|
|
63
|
+
inputDisabled: chatAvailableState.disabled,
|
|
64
|
+
keyboardAvoidOffset: keyboardAvoidOffset,
|
|
65
|
+
shouldRenderInput: props.shouldRenderInput,
|
|
66
|
+
onPressSendUserMessage: props.onPressSendUserMessage,
|
|
67
|
+
onPressSendFileMessage: props.onPressSendFileMessage,
|
|
68
|
+
onPressUpdateUserMessage: props.onPressUpdateUserMessage,
|
|
69
|
+
onPressUpdateFileMessage: props.onPressUpdateFileMessage
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export default /*#__PURE__*/React.memo(OpenChannelInput);
|
|
74
|
+
//# sourceMappingURL=OpenChannelInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useContext","useEffect","useState","useChannelHandler","getOpenChannelChatAvailableState","useUniqHandlerId","ChannelInput","UNKNOWN_USER_ID","useSendbirdChat","OpenChannelContexts","OpenChannelInput","props","sdk","currentUser","channel","messageToEdit","setMessageToEdit","keyboardAvoidOffset","Fragment","chatAvailableState","setChatAvailableState","frozen","muted","disabled","updateChatAvailableState","baseChannel","isOpenChannel","userId","then","handlerId","onChannelFrozen","onChannelUnfrozen","onUserMuted","onUserUnmuted","onOperatorUpdated","isFrozen","shouldRenderInput","onPressSendUserMessage","onPressSendFileMessage","onPressUpdateUserMessage","onPressUpdateFileMessage","memo"],"sources":["OpenChannelInput.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useState } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { SendbirdBaseChannel, getOpenChannelChatAvailableState, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport ChannelInput from '../../../components/ChannelInput';\nimport { UNKNOWN_USER_ID } from '../../../constants';\nimport { useSendbirdChat } from '../../../hooks/useContext';\nimport { OpenChannelContexts } from '../module/moduleContext';\nimport type { OpenChannelProps } from '../types';\n\nconst OpenChannelInput = (props: OpenChannelProps['Input']) => {\n const { sdk, currentUser } = useSendbirdChat();\n\n const {\n channel,\n messageToEdit,\n setMessageToEdit,\n keyboardAvoidOffset = 0,\n } = useContext(OpenChannelContexts.Fragment);\n\n const [chatAvailableState, setChatAvailableState] = useState({ frozen: false, muted: false, disabled: false });\n\n const updateChatAvailableState = useCallback(\n (baseChannel: SendbirdBaseChannel) => {\n if (baseChannel.isOpenChannel()) {\n const userId = currentUser?.userId ?? UNKNOWN_USER_ID;\n getOpenChannelChatAvailableState(baseChannel, userId).then(setChatAvailableState);\n }\n },\n [currentUser?.userId],\n );\n\n useEffect(() => {\n updateChatAvailableState(channel);\n }, [channel, updateChatAvailableState]);\n\n const handlerId = useUniqHandlerId('OpenChannelInput');\n useChannelHandler(\n sdk,\n handlerId,\n {\n onChannelFrozen(channel) {\n updateChatAvailableState(channel);\n },\n onChannelUnfrozen(channel) {\n updateChatAvailableState(channel);\n },\n onUserMuted(channel) {\n updateChatAvailableState(channel);\n },\n onUserUnmuted(channel) {\n updateChatAvailableState(channel);\n },\n onOperatorUpdated(channel) {\n updateChatAvailableState(channel);\n },\n },\n 'open',\n );\n\n return (\n <ChannelInput\n channel={channel}\n messageToEdit={messageToEdit}\n setMessageToEdit={setMessageToEdit}\n inputMuted={chatAvailableState.muted}\n inputFrozen={channel.isFrozen}\n inputDisabled={chatAvailableState.disabled}\n keyboardAvoidOffset={keyboardAvoidOffset}\n shouldRenderInput={props.shouldRenderInput}\n onPressSendUserMessage={props.onPressSendUserMessage}\n onPressSendFileMessage={props.onPressSendFileMessage}\n onPressUpdateUserMessage={props.onPressUpdateUserMessage}\n onPressUpdateFileMessage={props.onPressUpdateFileMessage}\n />\n );\n};\n\nexport default React.memo(OpenChannelInput);\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,UAA7B,EAAyCC,SAAzC,EAAoDC,QAApD,QAAoE,OAApE;AAEA,SAASC,iBAAT,QAAkC,4BAAlC;AACA,SAA8BC,gCAA9B,EAAgEC,gBAAhE,QAAwF,uBAAxF;AAEA,OAAOC,YAAP,MAAyB,kCAAzB;AACA,SAASC,eAAT,QAAgC,oBAAhC;AACA,SAASC,eAAT,QAAgC,2BAAhC;AACA,SAASC,mBAAT,QAAoC,yBAApC;;AAGA,MAAMC,gBAAgB,GAAIC,KAAD,IAAsC;EAC7D,MAAM;IAAEC,GAAF;IAAOC;EAAP,IAAuBL,eAAe,EAA5C;EAEA,MAAM;IACJM,OADI;IAEJC,aAFI;IAGJC,gBAHI;IAIJC,mBAAmB,GAAG;EAJlB,IAKFjB,UAAU,CAACS,mBAAmB,CAACS,QAArB,CALd;EAOA,MAAM,CAACC,kBAAD,EAAqBC,qBAArB,IAA8ClB,QAAQ,CAAC;IAAEmB,MAAM,EAAE,KAAV;IAAiBC,KAAK,EAAE,KAAxB;IAA+BC,QAAQ,EAAE;EAAzC,CAAD,CAA5D;EAEA,MAAMC,wBAAwB,GAAGzB,WAAW,CACzC0B,WAAD,IAAsC;IACpC,IAAIA,WAAW,CAACC,aAAZ,EAAJ,EAAiC;MAC/B,MAAMC,MAAM,GAAG,CAAAd,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEc,MAAb,KAAuBpB,eAAtC;MACAH,gCAAgC,CAACqB,WAAD,EAAcE,MAAd,CAAhC,CAAsDC,IAAtD,CAA2DR,qBAA3D;IACD;EACF,CANyC,EAO1C,CAACP,WAAD,aAACA,WAAD,uBAACA,WAAW,CAAEc,MAAd,CAP0C,CAA5C;EAUA1B,SAAS,CAAC,MAAM;IACduB,wBAAwB,CAACV,OAAD,CAAxB;EACD,CAFQ,EAEN,CAACA,OAAD,EAAUU,wBAAV,CAFM,CAAT;EAIA,MAAMK,SAAS,GAAGxB,gBAAgB,CAAC,kBAAD,CAAlC;EACAF,iBAAiB,CACfS,GADe,EAEfiB,SAFe,EAGf;IACEC,eAAe,CAAChB,OAAD,EAAU;MACvBU,wBAAwB,CAACV,OAAD,CAAxB;IACD,CAHH;;IAIEiB,iBAAiB,CAACjB,OAAD,EAAU;MACzBU,wBAAwB,CAACV,OAAD,CAAxB;IACD,CANH;;IAOEkB,WAAW,CAAClB,OAAD,EAAU;MACnBU,wBAAwB,CAACV,OAAD,CAAxB;IACD,CATH;;IAUEmB,aAAa,CAACnB,OAAD,EAAU;MACrBU,wBAAwB,CAACV,OAAD,CAAxB;IACD,CAZH;;IAaEoB,iBAAiB,CAACpB,OAAD,EAAU;MACzBU,wBAAwB,CAACV,OAAD,CAAxB;IACD;;EAfH,CAHe,EAoBf,MApBe,CAAjB;EAuBA,oBACE,oBAAC,YAAD;IACE,OAAO,EAAEA,OADX;IAEE,aAAa,EAAEC,aAFjB;IAGE,gBAAgB,EAAEC,gBAHpB;IAIE,UAAU,EAAEG,kBAAkB,CAACG,KAJjC;IAKE,WAAW,EAAER,OAAO,CAACqB,QALvB;IAME,aAAa,EAAEhB,kBAAkB,CAACI,QANpC;IAOE,mBAAmB,EAAEN,mBAPvB;IAQE,iBAAiB,EAAEN,KAAK,CAACyB,iBAR3B;IASE,sBAAsB,EAAEzB,KAAK,CAAC0B,sBAThC;IAUE,sBAAsB,EAAE1B,KAAK,CAAC2B,sBAVhC;IAWE,wBAAwB,EAAE3B,KAAK,CAAC4B,wBAXlC;IAYE,wBAAwB,EAAE5B,KAAK,CAAC6B;EAZlC,EADF;AAgBD,CAlED;;AAoEA,4BAAe1C,KAAK,CAAC2C,IAAN,CAAW/B,gBAAX,CAAf"}
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { Platform, View } from 'react-native';
|
|
5
|
+
import { ChannelFrozenBanner, createStyleSheet, useAlert, useBottomSheet, useToast, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
6
|
+
import { Logger, getAvailableUriFromFileMessage, getFileExtension, getFileType, isMyMessage, messageKeyExtractor, toMegabyte, useFreshCallback, useSafeAreaPadding } from '@sendbird/uikit-utils';
|
|
7
|
+
import ChatFlatList from '../../../components/ChatFlatList';
|
|
8
|
+
import { useLocalization, usePlatformService } from '../../../hooks/useContext';
|
|
9
|
+
import SBUUtils from '../../../libs/SBUUtils';
|
|
10
|
+
import { OpenChannelContexts } from '../module/moduleContext';
|
|
11
|
+
const HANDLE_NEXT_MSG_SEPARATELY = Platform.select({
|
|
12
|
+
default: true
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
const OpenChannelMessageList = _ref => {
|
|
16
|
+
let {
|
|
17
|
+
currentUserId,
|
|
18
|
+
channel,
|
|
19
|
+
messages,
|
|
20
|
+
renderMessage,
|
|
21
|
+
nextMessages,
|
|
22
|
+
newMessagesFromMembers,
|
|
23
|
+
onBottomReached,
|
|
24
|
+
onTopReached,
|
|
25
|
+
renderNewMessagesButton,
|
|
26
|
+
renderScrollToBottomButton,
|
|
27
|
+
onResendFailedMessage,
|
|
28
|
+
onDeleteMessage,
|
|
29
|
+
onPressMediaMessage,
|
|
30
|
+
flatListProps,
|
|
31
|
+
enableMessageGrouping
|
|
32
|
+
} = _ref;
|
|
33
|
+
const {
|
|
34
|
+
STRINGS
|
|
35
|
+
} = useLocalization();
|
|
36
|
+
const {
|
|
37
|
+
colors
|
|
38
|
+
} = useUIKitTheme();
|
|
39
|
+
const [scrollLeaveBottom, setScrollLeaveBottom] = useState(false);
|
|
40
|
+
const [newMessagesInternalBuffer, setNewMessagesInternalBuffer] = useState(() => newMessagesFromMembers);
|
|
41
|
+
const scrollRef = useRef(null);
|
|
42
|
+
const safeAreaLayout = useSafeAreaPadding(['left', 'right']);
|
|
43
|
+
const getMessagePressActions = useGetMessagePressActions({
|
|
44
|
+
channel,
|
|
45
|
+
currentUserId,
|
|
46
|
+
onDeleteMessage,
|
|
47
|
+
onResendFailedMessage,
|
|
48
|
+
onPressMediaMessage
|
|
49
|
+
});
|
|
50
|
+
const renderItem = useFreshCallback(_ref2 => {
|
|
51
|
+
let {
|
|
52
|
+
item,
|
|
53
|
+
index
|
|
54
|
+
} = _ref2;
|
|
55
|
+
const {
|
|
56
|
+
onPress,
|
|
57
|
+
onLongPress
|
|
58
|
+
} = getMessagePressActions(item);
|
|
59
|
+
return renderMessage({
|
|
60
|
+
message: item,
|
|
61
|
+
prevMessage: messages[index + 1],
|
|
62
|
+
nextMessage: messages[index - 1],
|
|
63
|
+
onPress,
|
|
64
|
+
onLongPress,
|
|
65
|
+
enableMessageGrouping,
|
|
66
|
+
channel,
|
|
67
|
+
currentUserId
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
if (!HANDLE_NEXT_MSG_SEPARATELY) {
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
if (newMessagesInternalBuffer.length !== 0) {
|
|
74
|
+
setNewMessagesInternalBuffer(prev => prev.concat(newMessagesFromMembers));
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
onBottomReached();
|
|
78
|
+
}, [newMessagesFromMembers]);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const onLeaveScrollBottom = useCallback(val => {
|
|
82
|
+
if (!HANDLE_NEXT_MSG_SEPARATELY) setNewMessagesInternalBuffer([]);
|
|
83
|
+
setScrollLeaveBottom(val);
|
|
84
|
+
}, []);
|
|
85
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
86
|
+
style: [{
|
|
87
|
+
flex: 1,
|
|
88
|
+
backgroundColor: colors.background
|
|
89
|
+
}, safeAreaLayout]
|
|
90
|
+
}, channel.isFrozen && /*#__PURE__*/React.createElement(ChannelFrozenBanner, {
|
|
91
|
+
style: styles.frozenBanner,
|
|
92
|
+
text: STRINGS.OPEN_CHANNEL.LIST_BANNER_FROZEN
|
|
93
|
+
}), /*#__PURE__*/React.createElement(ChatFlatList, _extends({
|
|
94
|
+
nextMessages: nextMessages,
|
|
95
|
+
onBottomReached: onBottomReached,
|
|
96
|
+
onTopReached: onTopReached,
|
|
97
|
+
onLeaveScrollBottom: onLeaveScrollBottom,
|
|
98
|
+
currentUserId: currentUserId
|
|
99
|
+
}, flatListProps, {
|
|
100
|
+
listKey: `open-channel-messages-${channel.url}`,
|
|
101
|
+
ref: scrollRef,
|
|
102
|
+
data: messages,
|
|
103
|
+
renderItem: renderItem,
|
|
104
|
+
keyExtractor: messageKeyExtractor,
|
|
105
|
+
contentContainerStyle: [// { minHeight: '100%', justifyContent: 'flex-end' },
|
|
106
|
+
channel.isFrozen && styles.frozenListPadding, flatListProps === null || flatListProps === void 0 ? void 0 : flatListProps.contentContainerStyle]
|
|
107
|
+
})), renderNewMessagesButton && /*#__PURE__*/React.createElement(View, {
|
|
108
|
+
style: [styles.newMsgButton, safeAreaLayout]
|
|
109
|
+
}, renderNewMessagesButton({
|
|
110
|
+
visible: scrollLeaveBottom,
|
|
111
|
+
onPress: () => {
|
|
112
|
+
var _scrollRef$current;
|
|
113
|
+
|
|
114
|
+
return (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollToBottom(false);
|
|
115
|
+
},
|
|
116
|
+
newMessages: !HANDLE_NEXT_MSG_SEPARATELY ? newMessagesInternalBuffer : newMessagesFromMembers
|
|
117
|
+
})), renderScrollToBottomButton && /*#__PURE__*/React.createElement(View, {
|
|
118
|
+
pointerEvents: scrollLeaveBottom ? 'auto' : 'none',
|
|
119
|
+
style: [styles.scrollButton, safeAreaLayout]
|
|
120
|
+
}, renderScrollToBottomButton({
|
|
121
|
+
visible: scrollLeaveBottom,
|
|
122
|
+
onPress: () => {
|
|
123
|
+
var _scrollRef$current2;
|
|
124
|
+
|
|
125
|
+
return (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.scrollToBottom(false);
|
|
126
|
+
}
|
|
127
|
+
})));
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
const useGetMessagePressActions = _ref3 => {
|
|
131
|
+
let {
|
|
132
|
+
currentUserId,
|
|
133
|
+
onResendFailedMessage,
|
|
134
|
+
onDeleteMessage,
|
|
135
|
+
onPressMediaMessage
|
|
136
|
+
} = _ref3;
|
|
137
|
+
const {
|
|
138
|
+
colors
|
|
139
|
+
} = useUIKitTheme();
|
|
140
|
+
const {
|
|
141
|
+
STRINGS
|
|
142
|
+
} = useLocalization();
|
|
143
|
+
const toast = useToast();
|
|
144
|
+
const {
|
|
145
|
+
openSheet
|
|
146
|
+
} = useBottomSheet();
|
|
147
|
+
const {
|
|
148
|
+
alert
|
|
149
|
+
} = useAlert();
|
|
150
|
+
const {
|
|
151
|
+
clipboardService,
|
|
152
|
+
fileService
|
|
153
|
+
} = usePlatformService();
|
|
154
|
+
const {
|
|
155
|
+
setMessageToEdit
|
|
156
|
+
} = useContext(OpenChannelContexts.Fragment);
|
|
157
|
+
|
|
158
|
+
const handleFailedMessage = message => {
|
|
159
|
+
openSheet({
|
|
160
|
+
sheetItems: [{
|
|
161
|
+
title: STRINGS.LABELS.CHANNEL_MESSAGE_FAILED_RETRY,
|
|
162
|
+
onPress: () => onResendFailedMessage(message).catch(() => toast.show(STRINGS.TOAST.RESEND_MSG_ERROR, 'error'))
|
|
163
|
+
}, {
|
|
164
|
+
title: STRINGS.LABELS.CHANNEL_MESSAGE_FAILED_REMOVE,
|
|
165
|
+
titleColor: colors.ui.dialog.default.none.destructive,
|
|
166
|
+
onPress: () => confirmDelete(message)
|
|
167
|
+
}]
|
|
168
|
+
});
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
const confirmDelete = message => {
|
|
172
|
+
alert({
|
|
173
|
+
title: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE,
|
|
174
|
+
buttons: [{
|
|
175
|
+
text: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL
|
|
176
|
+
}, {
|
|
177
|
+
text: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OK,
|
|
178
|
+
style: 'destructive',
|
|
179
|
+
onPress: () => onDeleteMessage(message).catch(() => toast.show(STRINGS.TOAST.DELETE_MSG_ERROR, 'error'))
|
|
180
|
+
}]
|
|
181
|
+
});
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
return msg => {
|
|
185
|
+
if (!msg.isUserMessage() && !msg.isFileMessage()) {
|
|
186
|
+
return {
|
|
187
|
+
onPress: undefined,
|
|
188
|
+
onLongPress: undefined
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
const sheetItems = [];
|
|
193
|
+
const response = {
|
|
194
|
+
onPress: undefined,
|
|
195
|
+
onLongPress: undefined
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
if (msg.isUserMessage()) {
|
|
199
|
+
sheetItems.push({
|
|
200
|
+
icon: 'copy',
|
|
201
|
+
title: STRINGS.LABELS.CHANNEL_MESSAGE_COPY,
|
|
202
|
+
onPress: () => {
|
|
203
|
+
clipboardService.setString(msg.message || '');
|
|
204
|
+
toast.show(STRINGS.TOAST.COPY_OK, 'success');
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
if (isMyMessage(msg, currentUserId) && msg.sendingStatus === 'succeeded') {
|
|
209
|
+
sheetItems.push({
|
|
210
|
+
icon: 'edit',
|
|
211
|
+
title: STRINGS.LABELS.CHANNEL_MESSAGE_EDIT,
|
|
212
|
+
onPress: () => setMessageToEdit(msg)
|
|
213
|
+
}, {
|
|
214
|
+
icon: 'delete',
|
|
215
|
+
title: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE,
|
|
216
|
+
onPress: () => confirmDelete(msg)
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
if (msg.isFileMessage()) {
|
|
222
|
+
sheetItems.push({
|
|
223
|
+
icon: 'download',
|
|
224
|
+
title: STRINGS.LABELS.CHANNEL_MESSAGE_SAVE,
|
|
225
|
+
onPress: async () => {
|
|
226
|
+
if (toMegabyte(msg.size) > 4) {
|
|
227
|
+
toast.show(STRINGS.TOAST.DOWNLOAD_START, 'success');
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
fileService.save({
|
|
231
|
+
fileUrl: msg.url,
|
|
232
|
+
fileName: msg.name,
|
|
233
|
+
fileType: msg.type
|
|
234
|
+
}).then(response => {
|
|
235
|
+
toast.show(STRINGS.TOAST.DOWNLOAD_OK, 'success');
|
|
236
|
+
Logger.log('File saved to', response);
|
|
237
|
+
}).catch(err => {
|
|
238
|
+
toast.show(STRINGS.TOAST.DOWNLOAD_ERROR, 'error');
|
|
239
|
+
Logger.log('File save failure', err);
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
if (isMyMessage(msg, currentUserId) && msg.sendingStatus === 'succeeded') {
|
|
245
|
+
sheetItems.push({
|
|
246
|
+
icon: 'delete',
|
|
247
|
+
title: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE,
|
|
248
|
+
onPress: () => confirmDelete(msg)
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
const fileType = getFileType(msg.type || getFileExtension(msg.name));
|
|
253
|
+
|
|
254
|
+
switch (fileType) {
|
|
255
|
+
case 'image':
|
|
256
|
+
case 'video':
|
|
257
|
+
case 'audio':
|
|
258
|
+
{
|
|
259
|
+
response.onPress = () => {
|
|
260
|
+
onPressMediaMessage === null || onPressMediaMessage === void 0 ? void 0 : onPressMediaMessage(msg, () => onDeleteMessage(msg), getAvailableUriFromFileMessage(msg));
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
break;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
default:
|
|
267
|
+
{
|
|
268
|
+
response.onPress = () => SBUUtils.openURL(msg.url);
|
|
269
|
+
|
|
270
|
+
break;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
if (sheetItems.length > 0) {
|
|
276
|
+
response.onLongPress = () => {
|
|
277
|
+
openSheet({
|
|
278
|
+
sheetItems
|
|
279
|
+
});
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
if (msg.sendingStatus === 'failed') {
|
|
284
|
+
response.onLongPress = () => handleFailedMessage(msg);
|
|
285
|
+
|
|
286
|
+
response.onPress = () => {
|
|
287
|
+
onResendFailedMessage(msg).catch(() => toast.show(STRINGS.TOAST.RESEND_MSG_ERROR, 'error'));
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
if (msg.sendingStatus === 'pending') {
|
|
292
|
+
response.onLongPress = undefined;
|
|
293
|
+
response.onPress = undefined;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
return response;
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
|
|
300
|
+
const styles = createStyleSheet({
|
|
301
|
+
frozenBanner: {
|
|
302
|
+
position: 'absolute',
|
|
303
|
+
zIndex: 999,
|
|
304
|
+
top: 8,
|
|
305
|
+
left: 8,
|
|
306
|
+
right: 8
|
|
307
|
+
},
|
|
308
|
+
frozenListPadding: {
|
|
309
|
+
paddingBottom: 32
|
|
310
|
+
},
|
|
311
|
+
newMsgButton: {
|
|
312
|
+
position: 'absolute',
|
|
313
|
+
zIndex: 999,
|
|
314
|
+
bottom: 10,
|
|
315
|
+
alignSelf: 'center'
|
|
316
|
+
},
|
|
317
|
+
scrollButton: {
|
|
318
|
+
position: 'absolute',
|
|
319
|
+
zIndex: 998,
|
|
320
|
+
bottom: 10,
|
|
321
|
+
right: 16
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
export default /*#__PURE__*/React.memo(OpenChannelMessageList);
|
|
325
|
+
//# sourceMappingURL=OpenChannelMessageList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useContext","useEffect","useRef","useState","Platform","View","ChannelFrozenBanner","createStyleSheet","useAlert","useBottomSheet","useToast","useUIKitTheme","Logger","getAvailableUriFromFileMessage","getFileExtension","getFileType","isMyMessage","messageKeyExtractor","toMegabyte","useFreshCallback","useSafeAreaPadding","ChatFlatList","useLocalization","usePlatformService","SBUUtils","OpenChannelContexts","HANDLE_NEXT_MSG_SEPARATELY","select","default","OpenChannelMessageList","currentUserId","channel","messages","renderMessage","nextMessages","newMessagesFromMembers","onBottomReached","onTopReached","renderNewMessagesButton","renderScrollToBottomButton","onResendFailedMessage","onDeleteMessage","onPressMediaMessage","flatListProps","enableMessageGrouping","STRINGS","colors","scrollLeaveBottom","setScrollLeaveBottom","newMessagesInternalBuffer","setNewMessagesInternalBuffer","scrollRef","safeAreaLayout","getMessagePressActions","useGetMessagePressActions","renderItem","item","index","onPress","onLongPress","message","prevMessage","nextMessage","length","prev","concat","onLeaveScrollBottom","val","flex","backgroundColor","background","isFrozen","styles","frozenBanner","OPEN_CHANNEL","LIST_BANNER_FROZEN","url","frozenListPadding","contentContainerStyle","newMsgButton","visible","current","scrollToBottom","newMessages","scrollButton","toast","openSheet","alert","clipboardService","fileService","setMessageToEdit","Fragment","handleFailedMessage","sheetItems","title","LABELS","CHANNEL_MESSAGE_FAILED_RETRY","catch","show","TOAST","RESEND_MSG_ERROR","CHANNEL_MESSAGE_FAILED_REMOVE","titleColor","ui","dialog","none","destructive","confirmDelete","CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE","buttons","text","CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL","CHANNEL_MESSAGE_DELETE_CONFIRM_OK","style","DELETE_MSG_ERROR","msg","isUserMessage","isFileMessage","undefined","response","push","icon","CHANNEL_MESSAGE_COPY","setString","COPY_OK","sendingStatus","CHANNEL_MESSAGE_EDIT","CHANNEL_MESSAGE_DELETE","CHANNEL_MESSAGE_SAVE","size","DOWNLOAD_START","save","fileUrl","fileName","name","fileType","type","then","DOWNLOAD_OK","log","err","DOWNLOAD_ERROR","openURL","position","zIndex","top","left","right","paddingBottom","bottom","alignSelf","memo"],"sources":["OpenChannelMessageList.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { ListRenderItem, Platform, View } from 'react-native';\n\nimport type { BottomSheetItem } from '@sendbird/uikit-react-native-foundation';\nimport {\n ChannelFrozenBanner,\n createStyleSheet,\n useAlert,\n useBottomSheet,\n useToast,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdFileMessage, SendbirdMessage, SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport {\n Logger,\n getAvailableUriFromFileMessage,\n getFileExtension,\n getFileType,\n isMyMessage,\n messageKeyExtractor,\n toMegabyte,\n useFreshCallback,\n useSafeAreaPadding,\n} from '@sendbird/uikit-utils';\n\nimport type { ChatFlatListRef } from '../../../components/ChatFlatList';\nimport ChatFlatList from '../../../components/ChatFlatList';\nimport { useLocalization, usePlatformService } from '../../../hooks/useContext';\nimport SBUUtils from '../../../libs/SBUUtils';\nimport { OpenChannelContexts } from '../module/moduleContext';\nimport type { OpenChannelProps } from '../types';\n\nconst HANDLE_NEXT_MSG_SEPARATELY = Platform.select({ default: true });\n\nconst OpenChannelMessageList = ({\n currentUserId,\n channel,\n messages,\n renderMessage,\n nextMessages,\n newMessagesFromMembers,\n onBottomReached,\n onTopReached,\n renderNewMessagesButton,\n renderScrollToBottomButton,\n onResendFailedMessage,\n onDeleteMessage,\n onPressMediaMessage,\n flatListProps,\n enableMessageGrouping,\n}: OpenChannelProps['MessageList']) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const [scrollLeaveBottom, setScrollLeaveBottom] = useState(false);\n const [newMessagesInternalBuffer, setNewMessagesInternalBuffer] = useState(() => newMessagesFromMembers);\n\n const scrollRef = useRef<ChatFlatListRef>(null);\n\n const safeAreaLayout = useSafeAreaPadding(['left', 'right']);\n const getMessagePressActions = useGetMessagePressActions({\n channel,\n currentUserId,\n onDeleteMessage,\n onResendFailedMessage,\n onPressMediaMessage,\n });\n\n const renderItem: ListRenderItem<SendbirdMessage> = useFreshCallback(({ item, index }) => {\n const { onPress, onLongPress } = getMessagePressActions(item);\n return renderMessage({\n message: item,\n prevMessage: messages[index + 1],\n nextMessage: messages[index - 1],\n onPress,\n onLongPress,\n enableMessageGrouping,\n channel,\n currentUserId,\n });\n });\n\n if (!HANDLE_NEXT_MSG_SEPARATELY) {\n useEffect(() => {\n if (newMessagesInternalBuffer.length !== 0) {\n setNewMessagesInternalBuffer((prev) => prev.concat(newMessagesFromMembers));\n }\n onBottomReached();\n }, [newMessagesFromMembers]);\n }\n\n const onLeaveScrollBottom = useCallback((val: boolean) => {\n if (!HANDLE_NEXT_MSG_SEPARATELY) setNewMessagesInternalBuffer([]);\n setScrollLeaveBottom(val);\n }, []);\n\n return (\n <View style={[{ flex: 1, backgroundColor: colors.background }, safeAreaLayout]}>\n {channel.isFrozen && (\n <ChannelFrozenBanner style={styles.frozenBanner} text={STRINGS.OPEN_CHANNEL.LIST_BANNER_FROZEN} />\n )}\n <ChatFlatList\n nextMessages={nextMessages}\n onBottomReached={onBottomReached}\n onTopReached={onTopReached}\n onLeaveScrollBottom={onLeaveScrollBottom}\n currentUserId={currentUserId}\n {...flatListProps}\n listKey={`open-channel-messages-${channel.url}`}\n ref={scrollRef}\n data={messages}\n renderItem={renderItem}\n keyExtractor={messageKeyExtractor}\n contentContainerStyle={[\n // { minHeight: '100%', justifyContent: 'flex-end' },\n channel.isFrozen && styles.frozenListPadding,\n flatListProps?.contentContainerStyle,\n ]}\n />\n {renderNewMessagesButton && (\n <View style={[styles.newMsgButton, safeAreaLayout]}>\n {renderNewMessagesButton({\n visible: scrollLeaveBottom,\n onPress: () => scrollRef.current?.scrollToBottom(false),\n newMessages: !HANDLE_NEXT_MSG_SEPARATELY ? newMessagesInternalBuffer : newMessagesFromMembers,\n })}\n </View>\n )}\n {renderScrollToBottomButton && (\n <View pointerEvents={scrollLeaveBottom ? 'auto' : 'none'} style={[styles.scrollButton, safeAreaLayout]}>\n {renderScrollToBottomButton({\n visible: scrollLeaveBottom,\n onPress: () => scrollRef.current?.scrollToBottom(false),\n })}\n </View>\n )}\n </View>\n );\n};\n\ntype HandleableMessage = SendbirdUserMessage | SendbirdFileMessage;\nconst useGetMessagePressActions = ({\n currentUserId,\n onResendFailedMessage,\n onDeleteMessage,\n onPressMediaMessage,\n}: Pick<\n OpenChannelProps['MessageList'],\n 'channel' | 'currentUserId' | 'onResendFailedMessage' | 'onDeleteMessage' | 'onPressMediaMessage'\n>) => {\n const { colors } = useUIKitTheme();\n const { STRINGS } = useLocalization();\n const toast = useToast();\n const { openSheet } = useBottomSheet();\n const { alert } = useAlert();\n const { clipboardService, fileService } = usePlatformService();\n const { setMessageToEdit } = useContext(OpenChannelContexts.Fragment);\n\n const handleFailedMessage = (message: HandleableMessage) => {\n openSheet({\n sheetItems: [\n {\n title: STRINGS.LABELS.CHANNEL_MESSAGE_FAILED_RETRY,\n onPress: () =>\n onResendFailedMessage(message).catch(() => toast.show(STRINGS.TOAST.RESEND_MSG_ERROR, 'error')),\n },\n {\n title: STRINGS.LABELS.CHANNEL_MESSAGE_FAILED_REMOVE,\n titleColor: colors.ui.dialog.default.none.destructive,\n onPress: () => confirmDelete(message),\n },\n ],\n });\n };\n const confirmDelete = (message: HandleableMessage) => {\n alert({\n title: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE,\n buttons: [\n {\n text: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL,\n },\n {\n text: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OK,\n style: 'destructive',\n onPress: () => onDeleteMessage(message).catch(() => toast.show(STRINGS.TOAST.DELETE_MSG_ERROR, 'error')),\n },\n ],\n });\n };\n\n return (msg: SendbirdMessage) => {\n if (!msg.isUserMessage() && !msg.isFileMessage()) {\n return { onPress: undefined, onLongPress: undefined };\n }\n\n const sheetItems: BottomSheetItem['sheetItems'] = [];\n const response: { onPress?: () => void; onLongPress?: () => void } = {\n onPress: undefined,\n onLongPress: undefined,\n };\n\n if (msg.isUserMessage()) {\n sheetItems.push({\n icon: 'copy',\n title: STRINGS.LABELS.CHANNEL_MESSAGE_COPY,\n onPress: () => {\n clipboardService.setString(msg.message || '');\n toast.show(STRINGS.TOAST.COPY_OK, 'success');\n },\n });\n\n if (isMyMessage(msg, currentUserId) && msg.sendingStatus === 'succeeded') {\n sheetItems.push(\n {\n icon: 'edit',\n title: STRINGS.LABELS.CHANNEL_MESSAGE_EDIT,\n onPress: () => setMessageToEdit(msg),\n },\n {\n icon: 'delete',\n title: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE,\n onPress: () => confirmDelete(msg),\n },\n );\n }\n }\n\n if (msg.isFileMessage()) {\n sheetItems.push({\n icon: 'download',\n title: STRINGS.LABELS.CHANNEL_MESSAGE_SAVE,\n onPress: async () => {\n if (toMegabyte(msg.size) > 4) {\n toast.show(STRINGS.TOAST.DOWNLOAD_START, 'success');\n }\n\n fileService\n .save({ fileUrl: msg.url, fileName: msg.name, fileType: msg.type })\n .then((response) => {\n toast.show(STRINGS.TOAST.DOWNLOAD_OK, 'success');\n Logger.log('File saved to', response);\n })\n .catch((err) => {\n toast.show(STRINGS.TOAST.DOWNLOAD_ERROR, 'error');\n Logger.log('File save failure', err);\n });\n },\n });\n\n if (isMyMessage(msg, currentUserId) && msg.sendingStatus === 'succeeded') {\n sheetItems.push({\n icon: 'delete',\n title: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE,\n onPress: () => confirmDelete(msg),\n });\n }\n\n const fileType = getFileType(msg.type || getFileExtension(msg.name));\n switch (fileType) {\n case 'image':\n case 'video':\n case 'audio': {\n response.onPress = () => {\n onPressMediaMessage?.(msg, () => onDeleteMessage(msg), getAvailableUriFromFileMessage(msg));\n };\n break;\n }\n default: {\n response.onPress = () => SBUUtils.openURL(msg.url);\n break;\n }\n }\n }\n\n if (sheetItems.length > 0) {\n response.onLongPress = () => {\n openSheet({ sheetItems });\n };\n }\n\n if (msg.sendingStatus === 'failed') {\n response.onLongPress = () => handleFailedMessage(msg);\n response.onPress = () => {\n onResendFailedMessage(msg).catch(() => toast.show(STRINGS.TOAST.RESEND_MSG_ERROR, 'error'));\n };\n }\n\n if (msg.sendingStatus === 'pending') {\n response.onLongPress = undefined;\n response.onPress = undefined;\n }\n\n return response;\n };\n};\n\nconst styles = createStyleSheet({\n frozenBanner: {\n position: 'absolute',\n zIndex: 999,\n top: 8,\n left: 8,\n right: 8,\n },\n frozenListPadding: {\n paddingBottom: 32,\n },\n newMsgButton: {\n position: 'absolute',\n zIndex: 999,\n bottom: 10,\n alignSelf: 'center',\n },\n scrollButton: {\n position: 'absolute',\n zIndex: 998,\n bottom: 10,\n right: 16,\n },\n});\n\nexport default React.memo(OpenChannelMessageList);\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,UAA7B,EAAyCC,SAAzC,EAAoDC,MAApD,EAA4DC,QAA5D,QAA4E,OAA5E;AACA,SAAyBC,QAAzB,EAAmCC,IAAnC,QAA+C,cAA/C;AAGA,SACEC,mBADF,EAEEC,gBAFF,EAGEC,QAHF,EAIEC,cAJF,EAKEC,QALF,EAMEC,aANF,QAOO,yCAPP;AASA,SACEC,MADF,EAEEC,8BAFF,EAGEC,gBAHF,EAIEC,WAJF,EAKEC,WALF,EAMEC,mBANF,EAOEC,UAPF,EAQEC,gBARF,EASEC,kBATF,QAUO,uBAVP;AAaA,OAAOC,YAAP,MAAyB,kCAAzB;AACA,SAASC,eAAT,EAA0BC,kBAA1B,QAAoD,2BAApD;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,SAASC,mBAAT,QAAoC,yBAApC;AAGA,MAAMC,0BAA0B,GAAGtB,QAAQ,CAACuB,MAAT,CAAgB;EAAEC,OAAO,EAAE;AAAX,CAAhB,CAAnC;;AAEA,MAAMC,sBAAsB,GAAG,QAgBQ;EAAA,IAhBP;IAC9BC,aAD8B;IAE9BC,OAF8B;IAG9BC,QAH8B;IAI9BC,aAJ8B;IAK9BC,YAL8B;IAM9BC,sBAN8B;IAO9BC,eAP8B;IAQ9BC,YAR8B;IAS9BC,uBAT8B;IAU9BC,0BAV8B;IAW9BC,qBAX8B;IAY9BC,eAZ8B;IAa9BC,mBAb8B;IAc9BC,aAd8B;IAe9BC;EAf8B,CAgBO;EACrC,MAAM;IAAEC;EAAF,IAAcvB,eAAe,EAAnC;EACA,MAAM;IAAEwB;EAAF,IAAanC,aAAa,EAAhC;EAEA,MAAM,CAACoC,iBAAD,EAAoBC,oBAApB,IAA4C7C,QAAQ,CAAC,KAAD,CAA1D;EACA,MAAM,CAAC8C,yBAAD,EAA4BC,4BAA5B,IAA4D/C,QAAQ,CAAC,MAAMgC,sBAAP,CAA1E;EAEA,MAAMgB,SAAS,GAAGjD,MAAM,CAAkB,IAAlB,CAAxB;EAEA,MAAMkD,cAAc,GAAGhC,kBAAkB,CAAC,CAAC,MAAD,EAAS,OAAT,CAAD,CAAzC;EACA,MAAMiC,sBAAsB,GAAGC,yBAAyB,CAAC;IACvDvB,OADuD;IAEvDD,aAFuD;IAGvDW,eAHuD;IAIvDD,qBAJuD;IAKvDE;EALuD,CAAD,CAAxD;EAQA,MAAMa,UAA2C,GAAGpC,gBAAgB,CAAC,SAAqB;IAAA,IAApB;MAAEqC,IAAF;MAAQC;IAAR,CAAoB;IACxF,MAAM;MAAEC,OAAF;MAAWC;IAAX,IAA2BN,sBAAsB,CAACG,IAAD,CAAvD;IACA,OAAOvB,aAAa,CAAC;MACnB2B,OAAO,EAAEJ,IADU;MAEnBK,WAAW,EAAE7B,QAAQ,CAACyB,KAAK,GAAG,CAAT,CAFF;MAGnBK,WAAW,EAAE9B,QAAQ,CAACyB,KAAK,GAAG,CAAT,CAHF;MAInBC,OAJmB;MAKnBC,WALmB;MAMnBf,qBANmB;MAOnBb,OAPmB;MAQnBD;IARmB,CAAD,CAApB;EAUD,CAZmE,CAApE;;EAcA,IAAI,CAACJ,0BAAL,EAAiC;IAC/BzB,SAAS,CAAC,MAAM;MACd,IAAIgD,yBAAyB,CAACc,MAA1B,KAAqC,CAAzC,EAA4C;QAC1Cb,4BAA4B,CAAEc,IAAD,IAAUA,IAAI,CAACC,MAAL,CAAY9B,sBAAZ,CAAX,CAA5B;MACD;;MACDC,eAAe;IAChB,CALQ,EAKN,CAACD,sBAAD,CALM,CAAT;EAMD;;EAED,MAAM+B,mBAAmB,GAAGnE,WAAW,CAAEoE,GAAD,IAAkB;IACxD,IAAI,CAACzC,0BAAL,EAAiCwB,4BAA4B,CAAC,EAAD,CAA5B;IACjCF,oBAAoB,CAACmB,GAAD,CAApB;EACD,CAHsC,EAGpC,EAHoC,CAAvC;EAKA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAR;MAAWC,eAAe,EAAEvB,MAAM,CAACwB;IAAnC,CAAD,EAAkDlB,cAAlD;EAAb,GACGrB,OAAO,CAACwC,QAAR,iBACC,oBAAC,mBAAD;IAAqB,KAAK,EAAEC,MAAM,CAACC,YAAnC;IAAiD,IAAI,EAAE5B,OAAO,CAAC6B,YAAR,CAAqBC;EAA5E,EAFJ,eAIE,oBAAC,YAAD;IACE,YAAY,EAAEzC,YADhB;IAEE,eAAe,EAAEE,eAFnB;IAGE,YAAY,EAAEC,YAHhB;IAIE,mBAAmB,EAAE6B,mBAJvB;IAKE,aAAa,EAAEpC;EALjB,GAMMa,aANN;IAOE,OAAO,EAAG,yBAAwBZ,OAAO,CAAC6C,GAAI,EAPhD;IAQE,GAAG,EAAEzB,SARP;IASE,IAAI,EAAEnB,QATR;IAUE,UAAU,EAAEuB,UAVd;IAWE,YAAY,EAAEtC,mBAXhB;IAYE,qBAAqB,EAAE,CACrB;IACAc,OAAO,CAACwC,QAAR,IAAoBC,MAAM,CAACK,iBAFN,EAGrBlC,aAHqB,aAGrBA,aAHqB,uBAGrBA,aAAa,CAAEmC,qBAHM;EAZzB,GAJF,EAsBGxC,uBAAuB,iBACtB,oBAAC,IAAD;IAAM,KAAK,EAAE,CAACkC,MAAM,CAACO,YAAR,EAAsB3B,cAAtB;EAAb,GACGd,uBAAuB,CAAC;IACvB0C,OAAO,EAAEjC,iBADc;IAEvBW,OAAO,EAAE;MAAA;;MAAA,6BAAMP,SAAS,CAAC8B,OAAhB,uDAAM,mBAAmBC,cAAnB,CAAkC,KAAlC,CAAN;IAAA,CAFc;IAGvBC,WAAW,EAAE,CAACzD,0BAAD,GAA8BuB,yBAA9B,GAA0Dd;EAHhD,CAAD,CAD1B,CAvBJ,EA+BGI,0BAA0B,iBACzB,oBAAC,IAAD;IAAM,aAAa,EAAEQ,iBAAiB,GAAG,MAAH,GAAY,MAAlD;IAA0D,KAAK,EAAE,CAACyB,MAAM,CAACY,YAAR,EAAsBhC,cAAtB;EAAjE,GACGb,0BAA0B,CAAC;IAC1ByC,OAAO,EAAEjC,iBADiB;IAE1BW,OAAO,EAAE;MAAA;;MAAA,8BAAMP,SAAS,CAAC8B,OAAhB,wDAAM,oBAAmBC,cAAnB,CAAkC,KAAlC,CAAN;IAAA;EAFiB,CAAD,CAD7B,CAhCJ,CADF;AA0CD,CAxGD;;AA2GA,MAAM5B,yBAAyB,GAAG,SAQ5B;EAAA,IAR6B;IACjCxB,aADiC;IAEjCU,qBAFiC;IAGjCC,eAHiC;IAIjCC;EAJiC,CAQ7B;EACJ,MAAM;IAAEI;EAAF,IAAanC,aAAa,EAAhC;EACA,MAAM;IAAEkC;EAAF,IAAcvB,eAAe,EAAnC;EACA,MAAM+D,KAAK,GAAG3E,QAAQ,EAAtB;EACA,MAAM;IAAE4E;EAAF,IAAgB7E,cAAc,EAApC;EACA,MAAM;IAAE8E;EAAF,IAAY/E,QAAQ,EAA1B;EACA,MAAM;IAAEgF,gBAAF;IAAoBC;EAApB,IAAoClE,kBAAkB,EAA5D;EACA,MAAM;IAAEmE;EAAF,IAAuB1F,UAAU,CAACyB,mBAAmB,CAACkE,QAArB,CAAvC;;EAEA,MAAMC,mBAAmB,GAAIhC,OAAD,IAAgC;IAC1D0B,SAAS,CAAC;MACRO,UAAU,EAAE,CACV;QACEC,KAAK,EAAEjD,OAAO,CAACkD,MAAR,CAAeC,4BADxB;QAEEtC,OAAO,EAAE,MACPlB,qBAAqB,CAACoB,OAAD,CAArB,CAA+BqC,KAA/B,CAAqC,MAAMZ,KAAK,CAACa,IAAN,CAAWrD,OAAO,CAACsD,KAAR,CAAcC,gBAAzB,EAA2C,OAA3C,CAA3C;MAHJ,CADU,EAMV;QACEN,KAAK,EAAEjD,OAAO,CAACkD,MAAR,CAAeM,6BADxB;QAEEC,UAAU,EAAExD,MAAM,CAACyD,EAAP,CAAUC,MAAV,CAAiB5E,OAAjB,CAAyB6E,IAAzB,CAA8BC,WAF5C;QAGEhD,OAAO,EAAE,MAAMiD,aAAa,CAAC/C,OAAD;MAH9B,CANU;IADJ,CAAD,CAAT;EAcD,CAfD;;EAgBA,MAAM+C,aAAa,GAAI/C,OAAD,IAAgC;IACpD2B,KAAK,CAAC;MACJO,KAAK,EAAEjD,OAAO,CAACkD,MAAR,CAAea,oCADlB;MAEJC,OAAO,EAAE,CACP;QACEC,IAAI,EAAEjE,OAAO,CAACkD,MAAR,CAAegB;MADvB,CADO,EAIP;QACED,IAAI,EAAEjE,OAAO,CAACkD,MAAR,CAAeiB,iCADvB;QAEEC,KAAK,EAAE,aAFT;QAGEvD,OAAO,EAAE,MAAMjB,eAAe,CAACmB,OAAD,CAAf,CAAyBqC,KAAzB,CAA+B,MAAMZ,KAAK,CAACa,IAAN,CAAWrD,OAAO,CAACsD,KAAR,CAAce,gBAAzB,EAA2C,OAA3C,CAArC;MAHjB,CAJO;IAFL,CAAD,CAAL;EAaD,CAdD;;EAgBA,OAAQC,GAAD,IAA0B;IAC/B,IAAI,CAACA,GAAG,CAACC,aAAJ,EAAD,IAAwB,CAACD,GAAG,CAACE,aAAJ,EAA7B,EAAkD;MAChD,OAAO;QAAE3D,OAAO,EAAE4D,SAAX;QAAsB3D,WAAW,EAAE2D;MAAnC,CAAP;IACD;;IAED,MAAMzB,UAAyC,GAAG,EAAlD;IACA,MAAM0B,QAA4D,GAAG;MACnE7D,OAAO,EAAE4D,SAD0D;MAEnE3D,WAAW,EAAE2D;IAFsD,CAArE;;IAKA,IAAIH,GAAG,CAACC,aAAJ,EAAJ,EAAyB;MACvBvB,UAAU,CAAC2B,IAAX,CAAgB;QACdC,IAAI,EAAE,MADQ;QAEd3B,KAAK,EAAEjD,OAAO,CAACkD,MAAR,CAAe2B,oBAFR;QAGdhE,OAAO,EAAE,MAAM;UACb8B,gBAAgB,CAACmC,SAAjB,CAA2BR,GAAG,CAACvD,OAAJ,IAAe,EAA1C;UACAyB,KAAK,CAACa,IAAN,CAAWrD,OAAO,CAACsD,KAAR,CAAcyB,OAAzB,EAAkC,SAAlC;QACD;MANa,CAAhB;;MASA,IAAI5G,WAAW,CAACmG,GAAD,EAAMrF,aAAN,CAAX,IAAmCqF,GAAG,CAACU,aAAJ,KAAsB,WAA7D,EAA0E;QACxEhC,UAAU,CAAC2B,IAAX,CACE;UACEC,IAAI,EAAE,MADR;UAEE3B,KAAK,EAAEjD,OAAO,CAACkD,MAAR,CAAe+B,oBAFxB;UAGEpE,OAAO,EAAE,MAAMgC,gBAAgB,CAACyB,GAAD;QAHjC,CADF,EAME;UACEM,IAAI,EAAE,QADR;UAEE3B,KAAK,EAAEjD,OAAO,CAACkD,MAAR,CAAegC,sBAFxB;UAGErE,OAAO,EAAE,MAAMiD,aAAa,CAACQ,GAAD;QAH9B,CANF;MAYD;IACF;;IAED,IAAIA,GAAG,CAACE,aAAJ,EAAJ,EAAyB;MACvBxB,UAAU,CAAC2B,IAAX,CAAgB;QACdC,IAAI,EAAE,UADQ;QAEd3B,KAAK,EAAEjD,OAAO,CAACkD,MAAR,CAAeiC,oBAFR;QAGdtE,OAAO,EAAE,YAAY;UACnB,IAAIxC,UAAU,CAACiG,GAAG,CAACc,IAAL,CAAV,GAAuB,CAA3B,EAA8B;YAC5B5C,KAAK,CAACa,IAAN,CAAWrD,OAAO,CAACsD,KAAR,CAAc+B,cAAzB,EAAyC,SAAzC;UACD;;UAEDzC,WAAW,CACR0C,IADH,CACQ;YAAEC,OAAO,EAAEjB,GAAG,CAACvC,GAAf;YAAoByD,QAAQ,EAAElB,GAAG,CAACmB,IAAlC;YAAwCC,QAAQ,EAAEpB,GAAG,CAACqB;UAAtD,CADR,EAEGC,IAFH,CAESlB,QAAD,IAAc;YAClBlC,KAAK,CAACa,IAAN,CAAWrD,OAAO,CAACsD,KAAR,CAAcuC,WAAzB,EAAsC,SAAtC;YACA9H,MAAM,CAAC+H,GAAP,CAAW,eAAX,EAA4BpB,QAA5B;UACD,CALH,EAMGtB,KANH,CAMU2C,GAAD,IAAS;YACdvD,KAAK,CAACa,IAAN,CAAWrD,OAAO,CAACsD,KAAR,CAAc0C,cAAzB,EAAyC,OAAzC;YACAjI,MAAM,CAAC+H,GAAP,CAAW,mBAAX,EAAgCC,GAAhC;UACD,CATH;QAUD;MAlBa,CAAhB;;MAqBA,IAAI5H,WAAW,CAACmG,GAAD,EAAMrF,aAAN,CAAX,IAAmCqF,GAAG,CAACU,aAAJ,KAAsB,WAA7D,EAA0E;QACxEhC,UAAU,CAAC2B,IAAX,CAAgB;UACdC,IAAI,EAAE,QADQ;UAEd3B,KAAK,EAAEjD,OAAO,CAACkD,MAAR,CAAegC,sBAFR;UAGdrE,OAAO,EAAE,MAAMiD,aAAa,CAACQ,GAAD;QAHd,CAAhB;MAKD;;MAED,MAAMoB,QAAQ,GAAGxH,WAAW,CAACoG,GAAG,CAACqB,IAAJ,IAAY1H,gBAAgB,CAACqG,GAAG,CAACmB,IAAL,CAA7B,CAA5B;;MACA,QAAQC,QAAR;QACE,KAAK,OAAL;QACA,KAAK,OAAL;QACA,KAAK,OAAL;UAAc;YACZhB,QAAQ,CAAC7D,OAAT,GAAmB,MAAM;cACvBhB,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,YAAAA,mBAAmB,CAAGyE,GAAH,EAAQ,MAAM1E,eAAe,CAAC0E,GAAD,CAA7B,EAAoCtG,8BAA8B,CAACsG,GAAD,CAAlE,CAAnB;YACD,CAFD;;YAGA;UACD;;QACD;UAAS;YACPI,QAAQ,CAAC7D,OAAT,GAAmB,MAAMlC,QAAQ,CAACsH,OAAT,CAAiB3B,GAAG,CAACvC,GAArB,CAAzB;;YACA;UACD;MAZH;IAcD;;IAED,IAAIiB,UAAU,CAAC9B,MAAX,GAAoB,CAAxB,EAA2B;MACzBwD,QAAQ,CAAC5D,WAAT,GAAuB,MAAM;QAC3B2B,SAAS,CAAC;UAAEO;QAAF,CAAD,CAAT;MACD,CAFD;IAGD;;IAED,IAAIsB,GAAG,CAACU,aAAJ,KAAsB,QAA1B,EAAoC;MAClCN,QAAQ,CAAC5D,WAAT,GAAuB,MAAMiC,mBAAmB,CAACuB,GAAD,CAAhD;;MACAI,QAAQ,CAAC7D,OAAT,GAAmB,MAAM;QACvBlB,qBAAqB,CAAC2E,GAAD,CAArB,CAA2BlB,KAA3B,CAAiC,MAAMZ,KAAK,CAACa,IAAN,CAAWrD,OAAO,CAACsD,KAAR,CAAcC,gBAAzB,EAA2C,OAA3C,CAAvC;MACD,CAFD;IAGD;;IAED,IAAIe,GAAG,CAACU,aAAJ,KAAsB,SAA1B,EAAqC;MACnCN,QAAQ,CAAC5D,WAAT,GAAuB2D,SAAvB;MACAC,QAAQ,CAAC7D,OAAT,GAAmB4D,SAAnB;IACD;;IAED,OAAOC,QAAP;EACD,CAvGD;AAwGD,CAzJD;;AA2JA,MAAM/C,MAAM,GAAGjE,gBAAgB,CAAC;EAC9BkE,YAAY,EAAE;IACZsE,QAAQ,EAAE,UADE;IAEZC,MAAM,EAAE,GAFI;IAGZC,GAAG,EAAE,CAHO;IAIZC,IAAI,EAAE,CAJM;IAKZC,KAAK,EAAE;EALK,CADgB;EAQ9BtE,iBAAiB,EAAE;IACjBuE,aAAa,EAAE;EADE,CARW;EAW9BrE,YAAY,EAAE;IACZgE,QAAQ,EAAE,UADE;IAEZC,MAAM,EAAE,GAFI;IAGZK,MAAM,EAAE,EAHI;IAIZC,SAAS,EAAE;EAJC,CAXgB;EAiB9BlE,YAAY,EAAE;IACZ2D,QAAQ,EAAE,UADE;IAEZC,MAAM,EAAE,GAFI;IAGZK,MAAM,EAAE,EAHI;IAIZF,KAAK,EAAE;EAJK;AAjBgB,CAAD,CAA/B;AAyBA,4BAAerJ,KAAK,CAACyJ,IAAN,CAAW1H,sBAAX,CAAf"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import TypedPlaceholder from '../../../components/TypedPlaceholder';
|
|
4
|
+
|
|
5
|
+
const OpenChannelStatusEmpty = () => {
|
|
6
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
7
|
+
style: styles.container
|
|
8
|
+
}, /*#__PURE__*/React.createElement(TypedPlaceholder, {
|
|
9
|
+
type: 'no-messages'
|
|
10
|
+
}));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const styles = StyleSheet.create({
|
|
14
|
+
container: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
justifyContent: 'center',
|
|
17
|
+
alignItems: 'center'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
export default OpenChannelStatusEmpty;
|
|
21
|
+
//# sourceMappingURL=OpenChannelStatusEmpty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","TypedPlaceholder","OpenChannelStatusEmpty","styles","container","create","flex","justifyContent","alignItems"],"sources":["OpenChannelStatusEmpty.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\n\nconst OpenChannelStatusEmpty = () => {\n return (\n <View style={styles.container}>\n <TypedPlaceholder type={'no-messages'} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { flex: 1, justifyContent: 'center', alignItems: 'center' },\n});\n\nexport default OpenChannelStatusEmpty;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,OAAOC,gBAAP,MAA6B,sCAA7B;;AAEA,MAAMC,sBAAsB,GAAG,MAAM;EACnC,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,gBAAD;IAAkB,IAAI,EAAE;EAAxB,EADF,CADF;AAKD,CAND;;AAQA,MAAMD,MAAM,GAAGJ,UAAU,CAACM,MAAX,CAAkB;EAC/BD,SAAS,EAAE;IAAEE,IAAI,EAAE,CAAR;IAAWC,cAAc,EAAE,QAA3B;IAAqCC,UAAU,EAAE;EAAjD;AADoB,CAAlB,CAAf;AAIA,eAAeN,sBAAf"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import TypedPlaceholder from '../../../components/TypedPlaceholder';
|
|
4
|
+
|
|
5
|
+
const OpenChannelStatusLoading = () => {
|
|
6
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
7
|
+
style: styles.container
|
|
8
|
+
}, /*#__PURE__*/React.createElement(TypedPlaceholder, {
|
|
9
|
+
type: 'loading'
|
|
10
|
+
}));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const styles = StyleSheet.create({
|
|
14
|
+
container: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
justifyContent: 'center',
|
|
17
|
+
alignItems: 'center'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
export default OpenChannelStatusLoading;
|
|
21
|
+
//# sourceMappingURL=OpenChannelStatusLoading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","TypedPlaceholder","OpenChannelStatusLoading","styles","container","create","flex","justifyContent","alignItems"],"sources":["OpenChannelStatusLoading.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\n\nconst OpenChannelStatusLoading = () => {\n return (\n <View style={styles.container}>\n <TypedPlaceholder type={'loading'} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { flex: 1, justifyContent: 'center', alignItems: 'center' },\n});\n\nexport default OpenChannelStatusLoading;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,OAAOC,gBAAP,MAA6B,sCAA7B;;AAEA,MAAMC,wBAAwB,GAAG,MAAM;EACrC,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,gBAAD;IAAkB,IAAI,EAAE;EAAxB,EADF,CADF;AAKD,CAND;;AAQA,MAAMD,MAAM,GAAGJ,UAAU,CAACM,MAAX,CAAkB;EAC/BD,SAAS,EAAE;IAAEE,IAAI,EAAE,CAAR;IAAWC,cAAc,EAAE,QAA3B;IAAqCC,UAAU,EAAE;EAAjD;AADoB,CAAlB,CAAf;AAIA,eAAeN,wBAAf"}
|