@sendbird/uikit-react-native 2.0.3 → 2.1.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 +2 -2
- package/lib/commonjs/components/ChannelCover.js +22 -1
- package/lib/commonjs/components/ChannelCover.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +9 -2
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/index.js +1 -1
- package/lib/commonjs/components/MessageRenderer/index.js.map +1 -1
- package/lib/commonjs/components/TypedPlaceholder.js +2 -2
- package/lib/commonjs/components/TypedPlaceholder.js.map +1 -1
- package/lib/commonjs/components/UserActionBar.js +7 -4
- package/lib/commonjs/components/UserActionBar.js.map +1 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js +5 -0
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +15 -8
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/{Localization.js → LocalizationCtx.js} +1 -1
- package/lib/commonjs/contexts/LocalizationCtx.js.map +1 -0
- package/lib/commonjs/contexts/{PlatformService.js → PlatformServiceCtx.js} +1 -1
- package/lib/commonjs/contexts/PlatformServiceCtx.js.map +1 -0
- package/lib/commonjs/contexts/{SendbirdChat.js → SendbirdChatCtx.js} +5 -3
- package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -0
- package/lib/commonjs/contexts/UserProfileCtx.js +116 -0
- package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js +3 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +4 -2
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js +15 -10
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js +39 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +53 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js +34 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js +38 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js +34 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/index.js +62 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js +45 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/types.js +6 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +32 -30
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js +39 -0
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js +103 -0
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js.map +1 -0
- package/lib/commonjs/domain/groupChannelModeration/index.js +46 -0
- package/lib/commonjs/domain/groupChannelModeration/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelModeration/module/createGroupChannelModerationModule.js +33 -0
- package/lib/commonjs/domain/groupChannelModeration/module/createGroupChannelModerationModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js +46 -0
- package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelModeration/types.js +6 -0
- package/lib/commonjs/domain/groupChannelModeration/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js +39 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +51 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js +34 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js +38 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js +34 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/index.js +70 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js +45 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/types.js +6 -0
- package/lib/commonjs/domain/groupChannelMutedMembers/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js +44 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +51 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js +34 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js +38 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js +34 -0
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/index.js +70 -0
- package/lib/commonjs/domain/groupChannelOperators/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js +45 -0
- package/lib/commonjs/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelOperators/types.js +6 -0
- package/lib/commonjs/domain/groupChannelOperators/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +1 -8
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
- package/lib/commonjs/domain/userList/component/UserListStatusError.js +2 -2
- package/lib/commonjs/domain/userList/component/UserListStatusError.js.map +1 -1
- package/lib/commonjs/domain/userList/types.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelBannedUsersFragment.js +101 -0
- package/lib/commonjs/fragments/createGroupChannelBannedUsersFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +9 -25
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +11 -4
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +21 -37
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelListFragment.js +3 -11
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +95 -51
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelModerationFragment.js +68 -0
- package/lib/commonjs/fragments/createGroupChannelModerationFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js +116 -0
- package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js +129 -0
- package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js +114 -0
- package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +2 -0
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
- package/lib/commonjs/hooks/useConnection.js +4 -0
- package/lib/commonjs/hooks/useConnection.js.map +1 -1
- package/lib/commonjs/hooks/useContext.js +17 -7
- package/lib/commonjs/hooks/useContext.js.map +1 -1
- package/lib/commonjs/index.js +77 -9
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js +60 -11
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- 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 +22 -2
- package/lib/module/components/ChannelCover.js.map +1 -1
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +9 -3
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -1
- package/lib/module/components/MessageRenderer/index.js +1 -1
- package/lib/module/components/MessageRenderer/index.js.map +1 -1
- package/lib/module/components/TypedPlaceholder.js +2 -2
- package/lib/module/components/TypedPlaceholder.js.map +1 -1
- package/lib/module/components/UserActionBar.js +8 -5
- package/lib/module/components/UserActionBar.js.map +1 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js +5 -0
- package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +11 -5
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/contexts/{Localization.js → LocalizationCtx.js} +1 -1
- package/lib/module/contexts/LocalizationCtx.js.map +1 -0
- package/lib/module/contexts/{PlatformService.js → PlatformServiceCtx.js} +1 -1
- package/lib/module/contexts/PlatformServiceCtx.js.map +1 -0
- package/lib/module/contexts/{SendbirdChat.js → SendbirdChatCtx.js} +5 -3
- package/lib/module/contexts/SendbirdChatCtx.js.map +1 -0
- package/lib/module/contexts/UserProfileCtx.js +94 -0
- package/lib/module/contexts/UserProfileCtx.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js +3 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +4 -2
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js +16 -11
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
- package/lib/module/domain/groupChannel/types.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js +25 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +40 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js +21 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js +25 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js +21 -0
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/index.js +7 -0
- package/lib/module/domain/groupChannelBannedUsers/index.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js +30 -0
- package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/module/moduleContext.js +25 -0
- package/lib/module/domain/groupChannelBannedUsers/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelBannedUsers/types.js +2 -0
- package/lib/module/domain/groupChannelBannedUsers/types.js.map +1 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +34 -33
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/module/domain/groupChannelList/types.js.map +1 -1
- package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationHeader.js +25 -0
- package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map +1 -0
- package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationMenu.js +87 -0
- package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationMenu.js.map +1 -0
- package/lib/module/domain/groupChannelModeration/index.js +5 -0
- package/lib/module/domain/groupChannelModeration/index.js.map +1 -0
- package/lib/module/domain/groupChannelModeration/module/createGroupChannelModerationModule.js +21 -0
- package/lib/module/domain/groupChannelModeration/module/createGroupChannelModerationModule.js.map +1 -0
- package/lib/module/domain/groupChannelModeration/module/moduleContext.js +26 -0
- package/lib/module/domain/groupChannelModeration/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelModeration/types.js +2 -0
- package/lib/module/domain/groupChannelModeration/types.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js +25 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +38 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js +21 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js +25 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js +21 -0
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/index.js +8 -0
- package/lib/module/domain/groupChannelMutedMembers/index.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js +30 -0
- package/lib/module/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/module/moduleContext.js +25 -0
- package/lib/module/domain/groupChannelMutedMembers/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelMutedMembers/types.js +2 -0
- package/lib/module/domain/groupChannelMutedMembers/types.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js +30 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +38 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js +21 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js +25 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js +21 -0
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/index.js +8 -0
- package/lib/module/domain/groupChannelOperators/index.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js +30 -0
- package/lib/module/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/module/moduleContext.js +25 -0
- package/lib/module/domain/groupChannelOperators/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelOperators/types.js +2 -0
- package/lib/module/domain/groupChannelOperators/types.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +2 -8
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
- package/lib/module/domain/userList/component/UserListStatusError.js +2 -2
- package/lib/module/domain/userList/component/UserListStatusError.js.map +1 -1
- package/lib/module/domain/userList/types.js.map +1 -1
- package/lib/module/fragments/createGroupChannelBannedUsersFragment.js +84 -0
- package/lib/module/fragments/createGroupChannelBannedUsersFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelCreateFragment.js +10 -26
- package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +11 -4
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelInviteFragment.js +22 -37
- package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelListFragment.js +4 -11
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelMembersFragment.js +99 -56
- package/lib/module/fragments/createGroupChannelMembersFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelModerationFragment.js +53 -0
- package/lib/module/fragments/createGroupChannelModerationFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelMutedMembersFragment.js +98 -0
- package/lib/module/fragments/createGroupChannelMutedMembersFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelOperatorsFragment.js +111 -0
- package/lib/module/fragments/createGroupChannelOperatorsFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelRegisterOperatorFragment.js +94 -0
- package/lib/module/fragments/createGroupChannelRegisterOperatorFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelSettingsFragment.js +2 -0
- package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
- package/lib/module/hooks/useConnection.js +4 -0
- package/lib/module/hooks/useConnection.js.map +1 -1
- package/lib/module/hooks/useContext.js +9 -3
- package/lib/module/hooks/useContext.js.map +1 -1
- package/lib/module/index.js +10 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/localization/StringSet.type.js +60 -11
- package/lib/module/localization/StringSet.type.js.map +1 -1
- 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 +1 -1
- package/lib/typescript/src/components/TypedPlaceholder.d.ts +1 -1
- package/lib/typescript/src/components/UserActionBar.d.ts +4 -2
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +9 -7
- package/lib/typescript/src/contexts/{Localization.d.ts → LocalizationCtx.d.ts} +0 -0
- package/lib/typescript/src/contexts/{PlatformService.d.ts → PlatformServiceCtx.d.ts} +0 -0
- package/lib/typescript/src/contexts/{SendbirdChat.d.ts → SendbirdChatCtx.d.ts} +8 -4
- package/lib/typescript/src/contexts/UserProfileCtx.d.ts +15 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +2 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +3 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannel/types.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/index.d.ts +6 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelBannedUsers/types.d.ts +47 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListTypeSelector.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelList/types.d.ts +3 -9
- package/lib/typescript/src/domain/groupChannelModeration/component/GroupChannelModerationHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelModeration/component/GroupChannelModerationMenu.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelModeration/index.d.ts +4 -0
- package/lib/typescript/src/domain/groupChannelModeration/module/createGroupChannelModerationModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelModeration/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelModeration/types.d.ts +43 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/index.d.ts +7 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/types.d.ts +47 -0
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelOperators/index.d.ts +7 -0
- package/lib/typescript/src/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelOperators/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelOperators/types.d.ts +49 -0
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +18 -12
- package/lib/typescript/src/domain/userList/component/UserListStatusError.d.ts +2 -2
- package/lib/typescript/src/domain/userList/types.d.ts +4 -3
- package/lib/typescript/src/fragments/createGroupChannelBannedUsersFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +2 -1
- package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +2 -1
- package/lib/typescript/src/fragments/createGroupChannelModerationFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createGroupChannelMutedMembersFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createGroupChannelOperatorsFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createGroupChannelRegisterOperatorFragment.d.ts +5 -0
- package/lib/typescript/src/hooks/useContext.d.ts +3 -1
- package/lib/typescript/src/index.d.ts +10 -4
- package/lib/typescript/src/localization/StringSet.type.d.ts +47 -7
- package/lib/typescript/src/platform/createFileService.native.d.ts +1 -1
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +10 -10
- package/src/components/ChannelCover.tsx +23 -3
- package/src/components/MessageRenderer/MessageIncomingAvatar.tsx +9 -2
- package/src/components/MessageRenderer/index.tsx +1 -1
- package/src/components/TypedPlaceholder.tsx +4 -4
- package/src/components/UserActionBar.tsx +10 -4
- package/src/containers/GroupChannelPreviewContainer.tsx +5 -0
- package/src/containers/SendbirdUIKitContainer.tsx +29 -10
- package/src/contexts/{Localization.tsx → LocalizationCtx.tsx} +0 -0
- package/src/contexts/{PlatformService.tsx → PlatformServiceCtx.tsx} +0 -0
- package/src/contexts/{SendbirdChat.tsx → SendbirdChatCtx.tsx} +10 -4
- package/src/contexts/UserProfileCtx.tsx +126 -0
- package/src/domain/groupChannel/component/GroupChannelInput/EditInput.tsx +3 -1
- package/src/domain/groupChannel/component/GroupChannelInput/SendInput.tsx +17 -3
- package/src/domain/groupChannel/component/GroupChannelInput/index.tsx +11 -8
- package/src/domain/groupChannel/types.ts +1 -1
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.tsx +14 -0
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.tsx +32 -0
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.tsx +18 -0
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.tsx +19 -0
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.tsx +18 -0
- package/src/domain/groupChannelBannedUsers/index.ts +6 -0
- package/src/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.tsx +21 -0
- package/src/domain/groupChannelBannedUsers/module/moduleContext.tsx +30 -0
- package/src/domain/groupChannelBannedUsers/types.ts +50 -0
- package/src/domain/groupChannelList/component/GroupChannelListTypeSelector.tsx +37 -43
- package/src/domain/groupChannelList/types.ts +3 -9
- package/src/domain/groupChannelModeration/component/GroupChannelModerationHeader.tsx +14 -0
- package/src/domain/groupChannelModeration/component/GroupChannelModerationMenu.tsx +84 -0
- package/src/domain/groupChannelModeration/index.ts +4 -0
- package/src/domain/groupChannelModeration/module/createGroupChannelModerationModule.tsx +15 -0
- package/src/domain/groupChannelModeration/module/moduleContext.tsx +33 -0
- package/src/domain/groupChannelModeration/types.ts +48 -0
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.tsx +14 -0
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.tsx +30 -0
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.tsx +18 -0
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.tsx +19 -0
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.tsx +18 -0
- package/src/domain/groupChannelMutedMembers/index.ts +7 -0
- package/src/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.tsx +21 -0
- package/src/domain/groupChannelMutedMembers/module/moduleContext.tsx +30 -0
- package/src/domain/groupChannelMutedMembers/types.ts +50 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.tsx +25 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.tsx +29 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.tsx +18 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.tsx +19 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.tsx +18 -0
- package/src/domain/groupChannelOperators/index.ts +7 -0
- package/src/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.tsx +21 -0
- package/src/domain/groupChannelOperators/module/moduleContext.tsx +30 -0
- package/src/domain/groupChannelOperators/types.ts +52 -0
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.tsx +2 -7
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +9 -0
- package/src/domain/groupChannelSettings/types.ts +2 -0
- package/src/domain/groupChannelUserList/types.ts +27 -12
- package/src/domain/userList/component/UserListStatusError.tsx +2 -2
- package/src/domain/userList/types.ts +4 -1
- package/src/fragments/createGroupChannelBannedUsersFragment.tsx +80 -0
- package/src/fragments/createGroupChannelCreateFragment.tsx +13 -33
- package/src/fragments/createGroupChannelFragment.tsx +12 -5
- package/src/fragments/createGroupChannelInviteFragment.tsx +28 -50
- package/src/fragments/createGroupChannelListFragment.tsx +4 -10
- package/src/fragments/createGroupChannelMembersFragment.tsx +110 -67
- package/src/fragments/createGroupChannelModerationFragment.tsx +57 -0
- package/src/fragments/createGroupChannelMutedMembersFragment.tsx +93 -0
- package/src/fragments/createGroupChannelOperatorsFragment.tsx +101 -0
- package/src/fragments/createGroupChannelRegisterOperatorFragment.tsx +94 -0
- package/src/fragments/createGroupChannelSettingsFragment.tsx +9 -1
- package/src/hooks/useConnection.ts +2 -0
- package/src/hooks/useContext.ts +10 -3
- package/src/index.ts +10 -4
- package/src/localization/StringSet.type.ts +99 -14
- package/src/platform/createFileService.native.ts +1 -1
- package/src/version.ts +1 -1
- package/lib/commonjs/contexts/Localization.js.map +0 -1
- package/lib/commonjs/contexts/PlatformService.js.map +0 -1
- package/lib/commonjs/contexts/SendbirdChat.js.map +0 -1
- package/lib/module/contexts/Localization.js.map +0 -1
- package/lib/module/contexts/PlatformService.js.map +0 -1
- package/lib/module/contexts/SendbirdChat.js.map +0 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { Icon, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';
|
|
3
|
+
import { GroupChannelBannedUsersContexts } from '../module/moduleContext';
|
|
4
|
+
|
|
5
|
+
const GroupChannelBannedUsersHeader = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
onPressHeaderLeft
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
headerTitle
|
|
11
|
+
} = useContext(GroupChannelBannedUsersContexts.Fragment);
|
|
12
|
+
const {
|
|
13
|
+
HeaderComponent
|
|
14
|
+
} = useHeaderStyle();
|
|
15
|
+
return /*#__PURE__*/React.createElement(HeaderComponent, {
|
|
16
|
+
title: headerTitle,
|
|
17
|
+
left: /*#__PURE__*/React.createElement(Icon, {
|
|
18
|
+
icon: 'arrow-left'
|
|
19
|
+
}),
|
|
20
|
+
onPressLeft: onPressHeaderLeft
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export default GroupChannelBannedUsersHeader;
|
|
25
|
+
//# sourceMappingURL=GroupChannelBannedUsersHeader.js.map
|
package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useContext","Icon","useHeaderStyle","GroupChannelBannedUsersContexts","GroupChannelBannedUsersHeader","onPressHeaderLeft","headerTitle","Fragment","HeaderComponent"],"sources":["GroupChannelBannedUsersHeader.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { Icon, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';\n\nimport { GroupChannelBannedUsersContexts } from '../module/moduleContext';\nimport type { GroupChannelBannedUsersProps } from '../types';\n\nconst GroupChannelBannedUsersHeader = ({ onPressHeaderLeft }: GroupChannelBannedUsersProps['Header']) => {\n const { headerTitle } = useContext(GroupChannelBannedUsersContexts.Fragment);\n const { HeaderComponent } = useHeaderStyle();\n return <HeaderComponent title={headerTitle} left={<Icon icon={'arrow-left'} />} onPressLeft={onPressHeaderLeft} />;\n};\n\nexport default GroupChannelBannedUsersHeader;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AAEA,SAASC,IAAT,EAAeC,cAAf,QAAqC,yCAArC;AAEA,SAASC,+BAAT,QAAgD,yBAAhD;;AAGA,MAAMC,6BAA6B,GAAG,QAAmE;EAAA,IAAlE;IAAEC;EAAF,CAAkE;EACvG,MAAM;IAAEC;EAAF,IAAkBN,UAAU,CAACG,+BAA+B,CAACI,QAAjC,CAAlC;EACA,MAAM;IAAEC;EAAF,IAAsBN,cAAc,EAA1C;EACA,oBAAO,oBAAC,eAAD;IAAiB,KAAK,EAAEI,WAAxB;IAAqC,IAAI,eAAE,oBAAC,IAAD;MAAM,IAAI,EAAE;IAAZ,EAA3C;IAAyE,WAAW,EAAED;EAAtF,EAAP;AACD,CAJD;;AAMA,eAAeD,6BAAf"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FlatList } from 'react-native';
|
|
3
|
+
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
4
|
+
import { useFreshCallback } from '@sendbird/uikit-utils';
|
|
5
|
+
|
|
6
|
+
const GroupChannelBannedUsersList = _ref => {
|
|
7
|
+
let {
|
|
8
|
+
renderUser,
|
|
9
|
+
bannedUsers,
|
|
10
|
+
onLoadNext,
|
|
11
|
+
ListEmptyComponent
|
|
12
|
+
} = _ref;
|
|
13
|
+
const renderItem = useFreshCallback(_ref2 => {
|
|
14
|
+
let {
|
|
15
|
+
item
|
|
16
|
+
} = _ref2;
|
|
17
|
+
return renderUser === null || renderUser === void 0 ? void 0 : renderUser({
|
|
18
|
+
user: item
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
const {
|
|
22
|
+
left,
|
|
23
|
+
right
|
|
24
|
+
} = useSafeAreaInsets();
|
|
25
|
+
return /*#__PURE__*/React.createElement(FlatList, {
|
|
26
|
+
data: bannedUsers,
|
|
27
|
+
renderItem: renderItem,
|
|
28
|
+
contentContainerStyle: {
|
|
29
|
+
paddingLeft: left,
|
|
30
|
+
paddingRight: right,
|
|
31
|
+
flexGrow: 1
|
|
32
|
+
},
|
|
33
|
+
ListEmptyComponent: ListEmptyComponent,
|
|
34
|
+
onEndReached: () => onLoadNext(),
|
|
35
|
+
bounces: false
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export default GroupChannelBannedUsersList;
|
|
40
|
+
//# sourceMappingURL=GroupChannelBannedUsersList.js.map
|
package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","FlatList","useSafeAreaInsets","useFreshCallback","GroupChannelBannedUsersList","renderUser","bannedUsers","onLoadNext","ListEmptyComponent","renderItem","item","user","left","right","paddingLeft","paddingRight","flexGrow"],"sources":["GroupChannelBannedUsersList.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList, ListRenderItem } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { SendbirdRestrictedUser, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport type { GroupChannelBannedUsersProps } from '../types';\n\nconst GroupChannelBannedUsersList = ({\n renderUser,\n bannedUsers,\n onLoadNext,\n ListEmptyComponent,\n}: GroupChannelBannedUsersProps['List']) => {\n const renderItem: ListRenderItem<SendbirdRestrictedUser> = useFreshCallback(({ item }) =>\n renderUser?.({ user: item }),\n );\n const { left, right } = useSafeAreaInsets();\n\n return (\n <FlatList\n data={bannedUsers}\n renderItem={renderItem}\n contentContainerStyle={{ paddingLeft: left, paddingRight: right, flexGrow: 1 }}\n ListEmptyComponent={ListEmptyComponent}\n onEndReached={() => onLoadNext()}\n bounces={false}\n />\n );\n};\n\nexport default GroupChannelBannedUsersList;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyC,cAAzC;AACA,SAASC,iBAAT,QAAkC,gCAAlC;AAEA,SAAiCC,gBAAjC,QAAyD,uBAAzD;;AAIA,MAAMC,2BAA2B,GAAG,QAKQ;EAAA,IALP;IACnCC,UADmC;IAEnCC,WAFmC;IAGnCC,UAHmC;IAInCC;EAJmC,CAKO;EAC1C,MAAMC,UAAkD,GAAGN,gBAAgB,CAAC;IAAA,IAAC;MAAEO;IAAF,CAAD;IAAA,OAC1EL,UAD0E,aAC1EA,UAD0E,uBAC1EA,UAAU,CAAG;MAAEM,IAAI,EAAED;IAAR,CAAH,CADgE;EAAA,CAAD,CAA3E;EAGA,MAAM;IAAEE,IAAF;IAAQC;EAAR,IAAkBX,iBAAiB,EAAzC;EAEA,oBACE,oBAAC,QAAD;IACE,IAAI,EAAEI,WADR;IAEE,UAAU,EAAEG,UAFd;IAGE,qBAAqB,EAAE;MAAEK,WAAW,EAAEF,IAAf;MAAqBG,YAAY,EAAEF,KAAnC;MAA0CG,QAAQ,EAAE;IAApD,CAHzB;IAIE,kBAAkB,EAAER,kBAJtB;IAKE,YAAY,EAAE,MAAMD,UAAU,EALhC;IAME,OAAO,EAAE;EANX,EADF;AAUD,CArBD;;AAuBA,eAAeH,2BAAf"}
|
package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js
ADDED
|
@@ -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 GroupChannelBannedUsersStatusEmpty = () => {
|
|
6
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
7
|
+
style: styles.container
|
|
8
|
+
}, /*#__PURE__*/React.createElement(TypedPlaceholder, {
|
|
9
|
+
type: 'no-banned-users'
|
|
10
|
+
}));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const styles = StyleSheet.create({
|
|
14
|
+
container: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
justifyContent: 'center',
|
|
17
|
+
alignItems: 'center'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
export default GroupChannelBannedUsersStatusEmpty;
|
|
21
|
+
//# sourceMappingURL=GroupChannelBannedUsersStatusEmpty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","TypedPlaceholder","GroupChannelBannedUsersStatusEmpty","styles","container","create","flex","justifyContent","alignItems"],"sources":["GroupChannelBannedUsersStatusEmpty.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\n\nconst GroupChannelBannedUsersStatusEmpty = () => {\n return (\n <View style={styles.container}>\n <TypedPlaceholder type={'no-banned-users'} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { flex: 1, justifyContent: 'center', alignItems: 'center' },\n});\n\nexport default GroupChannelBannedUsersStatusEmpty;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,OAAOC,gBAAP,MAA6B,sCAA7B;;AAEA,MAAMC,kCAAkC,GAAG,MAAM;EAC/C,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,kCAAf"}
|
package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import TypedPlaceholder from '../../../components/TypedPlaceholder';
|
|
4
|
+
|
|
5
|
+
const GroupChannelBannedUsersStatusError = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
onPressRetry
|
|
8
|
+
} = _ref;
|
|
9
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
10
|
+
style: styles.container
|
|
11
|
+
}, /*#__PURE__*/React.createElement(TypedPlaceholder, {
|
|
12
|
+
type: 'error-wrong',
|
|
13
|
+
onPressRetry: onPressRetry
|
|
14
|
+
}));
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const styles = StyleSheet.create({
|
|
18
|
+
container: {
|
|
19
|
+
flex: 1,
|
|
20
|
+
justifyContent: 'center',
|
|
21
|
+
alignItems: 'center'
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
export default GroupChannelBannedUsersStatusError;
|
|
25
|
+
//# sourceMappingURL=GroupChannelBannedUsersStatusError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","TypedPlaceholder","GroupChannelBannedUsersStatusError","onPressRetry","styles","container","create","flex","justifyContent","alignItems"],"sources":["GroupChannelBannedUsersStatusError.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\nimport type { GroupChannelBannedUsersModule } from '../types';\n\nconst GroupChannelBannedUsersStatusError: GroupChannelBannedUsersModule['StatusError'] = ({ onPressRetry }) => {\n return (\n <View style={styles.container}>\n <TypedPlaceholder type={'error-wrong'} onPressRetry={onPressRetry} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { flex: 1, justifyContent: 'center', alignItems: 'center' },\n});\n\nexport default GroupChannelBannedUsersStatusError;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,OAAOC,gBAAP,MAA6B,sCAA7B;;AAGA,MAAMC,kCAAgF,GAAG,QAAsB;EAAA,IAArB;IAAEC;EAAF,CAAqB;EAC7G,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,gBAAD;IAAkB,IAAI,EAAE,aAAxB;IAAuC,YAAY,EAAEF;EAArD,EADF,CADF;AAKD,CAND;;AAQA,MAAMC,MAAM,GAAGL,UAAU,CAACO,MAAX,CAAkB;EAC/BD,SAAS,EAAE;IAAEE,IAAI,EAAE,CAAR;IAAWC,cAAc,EAAE,QAA3B;IAAqCC,UAAU,EAAE;EAAjD;AADoB,CAAlB,CAAf;AAIA,eAAeP,kCAAf"}
|
package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js
ADDED
|
@@ -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 GroupChannelBannedUsersStatusLoading = () => {
|
|
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 GroupChannelBannedUsersStatusLoading;
|
|
21
|
+
//# sourceMappingURL=GroupChannelBannedUsersStatusLoading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","TypedPlaceholder","GroupChannelBannedUsersStatusLoading","styles","container","create","flex","justifyContent","alignItems"],"sources":["GroupChannelBannedUsersStatusLoading.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\n\nconst GroupChannelBannedUsersStatusLoading = () => {\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 GroupChannelBannedUsersStatusLoading;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,OAAOC,gBAAP,MAA6B,sCAA7B;;AAEA,MAAMC,oCAAoC,GAAG,MAAM;EACjD,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,oCAAf"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as GroupChannelBannedUsersList } from './component/GroupChannelBannedUsersList';
|
|
2
|
+
export { default as GroupChannelBannedUsersHeader } from './component/GroupChannelBannedUsersHeader';
|
|
3
|
+
export { default as GroupChannelBannedUsersStatusLoading } from './component/GroupChannelBannedUsersStatusLoading';
|
|
4
|
+
export { default as GroupChannelBannedUsersStatusEmpty } from './component/GroupChannelBannedUsersStatusEmpty';
|
|
5
|
+
export { default as createGroupChannelBannedUsersModule } from './module/createGroupChannelBannedUsersModule';
|
|
6
|
+
export { GroupChannelBannedUsersContextsProvider, GroupChannelBannedUsersContexts } from './module/moduleContext';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default","GroupChannelBannedUsersList","GroupChannelBannedUsersHeader","GroupChannelBannedUsersStatusLoading","GroupChannelBannedUsersStatusEmpty","createGroupChannelBannedUsersModule","GroupChannelBannedUsersContextsProvider","GroupChannelBannedUsersContexts"],"sources":["index.ts"],"sourcesContent":["export { default as GroupChannelBannedUsersList } from './component/GroupChannelBannedUsersList';\nexport { default as GroupChannelBannedUsersHeader } from './component/GroupChannelBannedUsersHeader';\nexport { default as GroupChannelBannedUsersStatusLoading } from './component/GroupChannelBannedUsersStatusLoading';\nexport { default as GroupChannelBannedUsersStatusEmpty } from './component/GroupChannelBannedUsersStatusEmpty';\nexport { default as createGroupChannelBannedUsersModule } from './module/createGroupChannelBannedUsersModule';\nexport { GroupChannelBannedUsersContextsProvider, GroupChannelBannedUsersContexts } from './module/moduleContext';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,2BAApB,QAAuD,yCAAvD;AACA,SAASD,OAAO,IAAIE,6BAApB,QAAyD,2CAAzD;AACA,SAASF,OAAO,IAAIG,oCAApB,QAAgE,kDAAhE;AACA,SAASH,OAAO,IAAII,kCAApB,QAA8D,gDAA9D;AACA,SAASJ,OAAO,IAAIK,mCAApB,QAA+D,8CAA/D;AACA,SAASC,uCAAT,EAAkDC,+BAAlD,QAAyF,wBAAzF"}
|
package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import GroupChannelBannedUsersHeader from '../component/GroupChannelBannedUsersHeader';
|
|
2
|
+
import GroupChannelBannedUsersList from '../component/GroupChannelBannedUsersList';
|
|
3
|
+
import GroupChannelBannedUsersStatusEmpty from '../component/GroupChannelBannedUsersStatusEmpty';
|
|
4
|
+
import GroupChannelBannedUsersStatusError from '../component/GroupChannelBannedUsersStatusError';
|
|
5
|
+
import GroupChannelBannedUsersStatusLoading from '../component/GroupChannelBannedUsersStatusLoading';
|
|
6
|
+
import { GroupChannelBannedUsersContextsProvider } from './moduleContext';
|
|
7
|
+
|
|
8
|
+
const createGroupChannelBannedUsersModule = function () {
|
|
9
|
+
let {
|
|
10
|
+
Header = GroupChannelBannedUsersHeader,
|
|
11
|
+
List = GroupChannelBannedUsersList,
|
|
12
|
+
StatusLoading = GroupChannelBannedUsersStatusLoading,
|
|
13
|
+
StatusEmpty = GroupChannelBannedUsersStatusEmpty,
|
|
14
|
+
StatusError = GroupChannelBannedUsersStatusError,
|
|
15
|
+
Provider = GroupChannelBannedUsersContextsProvider,
|
|
16
|
+
...module
|
|
17
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
18
|
+
return {
|
|
19
|
+
Header,
|
|
20
|
+
List,
|
|
21
|
+
Provider,
|
|
22
|
+
StatusEmpty,
|
|
23
|
+
StatusLoading,
|
|
24
|
+
StatusError,
|
|
25
|
+
...module
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default createGroupChannelBannedUsersModule;
|
|
30
|
+
//# sourceMappingURL=createGroupChannelBannedUsersModule.js.map
|
package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GroupChannelBannedUsersHeader","GroupChannelBannedUsersList","GroupChannelBannedUsersStatusEmpty","GroupChannelBannedUsersStatusError","GroupChannelBannedUsersStatusLoading","GroupChannelBannedUsersContextsProvider","createGroupChannelBannedUsersModule","Header","List","StatusLoading","StatusEmpty","StatusError","Provider","module"],"sources":["createGroupChannelBannedUsersModule.tsx"],"sourcesContent":["import GroupChannelBannedUsersHeader from '../component/GroupChannelBannedUsersHeader';\nimport GroupChannelBannedUsersList from '../component/GroupChannelBannedUsersList';\nimport GroupChannelBannedUsersStatusEmpty from '../component/GroupChannelBannedUsersStatusEmpty';\nimport GroupChannelBannedUsersStatusError from '../component/GroupChannelBannedUsersStatusError';\nimport GroupChannelBannedUsersStatusLoading from '../component/GroupChannelBannedUsersStatusLoading';\nimport type { GroupChannelBannedUsersModule } from '../types';\nimport { GroupChannelBannedUsersContextsProvider } from './moduleContext';\n\nconst createGroupChannelBannedUsersModule = ({\n Header = GroupChannelBannedUsersHeader,\n List = GroupChannelBannedUsersList,\n StatusLoading = GroupChannelBannedUsersStatusLoading,\n StatusEmpty = GroupChannelBannedUsersStatusEmpty,\n StatusError = GroupChannelBannedUsersStatusError,\n Provider = GroupChannelBannedUsersContextsProvider,\n ...module\n}: Partial<GroupChannelBannedUsersModule> = {}): GroupChannelBannedUsersModule => {\n return { Header, List, Provider, StatusEmpty, StatusLoading, StatusError, ...module };\n};\n\nexport default createGroupChannelBannedUsersModule;\n"],"mappings":"AAAA,OAAOA,6BAAP,MAA0C,4CAA1C;AACA,OAAOC,2BAAP,MAAwC,0CAAxC;AACA,OAAOC,kCAAP,MAA+C,iDAA/C;AACA,OAAOC,kCAAP,MAA+C,iDAA/C;AACA,OAAOC,oCAAP,MAAiD,mDAAjD;AAEA,SAASC,uCAAT,QAAwD,iBAAxD;;AAEA,MAAMC,mCAAmC,GAAG,YAQsC;EAAA,IARrC;IAC3CC,MAAM,GAAGP,6BADkC;IAE3CQ,IAAI,GAAGP,2BAFoC;IAG3CQ,aAAa,GAAGL,oCAH2B;IAI3CM,WAAW,GAAGR,kCAJ6B;IAK3CS,WAAW,GAAGR,kCAL6B;IAM3CS,QAAQ,GAAGP,uCANgC;IAO3C,GAAGQ;EAPwC,CAQqC,uEAAtC,EAAsC;EAChF,OAAO;IAAEN,MAAF;IAAUC,IAAV;IAAgBI,QAAhB;IAA0BF,WAA1B;IAAuCD,aAAvC;IAAsDE,WAAtD;IAAmE,GAAGE;EAAtE,CAAP;AACD,CAVD;;AAYA,eAAeP,mCAAf"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, { createContext } from 'react';
|
|
2
|
+
import ProviderLayout from '../../../components/ProviderLayout';
|
|
3
|
+
import { useLocalization } from '../../../hooks/useContext';
|
|
4
|
+
export const GroupChannelBannedUsersContexts = {
|
|
5
|
+
Fragment: /*#__PURE__*/createContext({
|
|
6
|
+
headerTitle: '',
|
|
7
|
+
channel: {}
|
|
8
|
+
})
|
|
9
|
+
};
|
|
10
|
+
export const GroupChannelBannedUsersContextsProvider = _ref => {
|
|
11
|
+
let {
|
|
12
|
+
channel,
|
|
13
|
+
children
|
|
14
|
+
} = _ref;
|
|
15
|
+
const {
|
|
16
|
+
STRINGS
|
|
17
|
+
} = useLocalization();
|
|
18
|
+
return /*#__PURE__*/React.createElement(ProviderLayout, null, /*#__PURE__*/React.createElement(GroupChannelBannedUsersContexts.Fragment.Provider, {
|
|
19
|
+
value: {
|
|
20
|
+
headerTitle: STRINGS.GROUP_CHANNEL_BANNED_USERS.HEADER_TITLE,
|
|
21
|
+
channel
|
|
22
|
+
}
|
|
23
|
+
}, children));
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=moduleContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","ProviderLayout","useLocalization","GroupChannelBannedUsersContexts","Fragment","headerTitle","channel","GroupChannelBannedUsersContextsProvider","children","STRINGS","GROUP_CHANNEL_BANNED_USERS","HEADER_TITLE"],"sources":["moduleContext.tsx"],"sourcesContent":["import React, { createContext } from 'react';\n\nimport type { SendbirdGroupChannel } from '@sendbird/uikit-utils';\n\nimport ProviderLayout from '../../../components/ProviderLayout';\nimport { useLocalization } from '../../../hooks/useContext';\nimport type { GroupChannelBannedUsersContextsType, GroupChannelBannedUsersModule } from '../types';\n\nexport const GroupChannelBannedUsersContexts: GroupChannelBannedUsersContextsType = {\n Fragment: createContext({\n headerTitle: '',\n channel: {} as SendbirdGroupChannel,\n }),\n};\n\nexport const GroupChannelBannedUsersContextsProvider: GroupChannelBannedUsersModule['Provider'] = ({\n channel,\n children,\n}) => {\n const { STRINGS } = useLocalization();\n return (\n <ProviderLayout>\n <GroupChannelBannedUsersContexts.Fragment.Provider\n value={{ headerTitle: STRINGS.GROUP_CHANNEL_BANNED_USERS.HEADER_TITLE, channel }}\n >\n {children}\n </GroupChannelBannedUsersContexts.Fragment.Provider>\n </ProviderLayout>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,aAAhB,QAAqC,OAArC;AAIA,OAAOC,cAAP,MAA2B,oCAA3B;AACA,SAASC,eAAT,QAAgC,2BAAhC;AAGA,OAAO,MAAMC,+BAAoE,GAAG;EAClFC,QAAQ,eAAEJ,aAAa,CAAC;IACtBK,WAAW,EAAE,EADS;IAEtBC,OAAO,EAAE;EAFa,CAAD;AAD2D,CAA7E;AAOP,OAAO,MAAMC,uCAAkF,GAAG,QAG5F;EAAA,IAH6F;IACjGD,OADiG;IAEjGE;EAFiG,CAG7F;EACJ,MAAM;IAAEC;EAAF,IAAcP,eAAe,EAAnC;EACA,oBACE,oBAAC,cAAD,qBACE,oBAAC,+BAAD,CAAiC,QAAjC,CAA0C,QAA1C;IACE,KAAK,EAAE;MAAEG,WAAW,EAAEI,OAAO,CAACC,0BAAR,CAAmCC,YAAlD;MAAgEL;IAAhE;EADT,GAGGE,QAHH,CADF,CADF;AASD,CAdM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { SendbirdGroupChannel, SendbirdRestrictedUser } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport type GroupChannelBannedUsersProps = {\n Fragment: {\n channel: SendbirdGroupChannel;\n onPressHeaderLeft: GroupChannelBannedUsersProps['Header']['onPressHeaderLeft'];\n renderUser?: GroupChannelBannedUsersProps['List']['renderUser'];\n };\n Header: {\n onPressHeaderLeft: () => void;\n };\n List: {\n renderUser: (props: { user: SendbirdRestrictedUser }) => React.ReactElement | null;\n bannedUsers: SendbirdRestrictedUser[];\n ListEmptyComponent?: React.ReactElement;\n onLoadNext: () => Promise<void>;\n };\n StatusError: {\n onPressRetry: () => void;\n };\n Provider: {\n channel: SendbirdGroupChannel;\n };\n};\n\n/**\n * Internal context for GroupChannelBannedUsers\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport type GroupChannelBannedUsersContextsType = {\n Fragment: React.Context<{\n headerTitle: string;\n channel: SendbirdGroupChannel;\n }>;\n};\nexport interface GroupChannelBannedUsersModule {\n Provider: CommonComponent<GroupChannelBannedUsersProps['Provider']>;\n Header: CommonComponent<GroupChannelBannedUsersProps['Header']>;\n List: CommonComponent<GroupChannelBannedUsersProps['List']>;\n StatusEmpty: CommonComponent;\n StatusLoading: CommonComponent;\n StatusError: CommonComponent<GroupChannelBannedUsersProps['StatusError']>;\n}\n\nexport type GroupChannelBannedUsersFragment = CommonComponent<GroupChannelBannedUsersProps['Fragment']>;\n"],"mappings":""}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useContext, useEffect } from 'react';
|
|
2
|
-
import { TouchableOpacity, View } from 'react-native';
|
|
3
|
-
import {
|
|
4
|
-
import { useLocalization } from '../../../hooks/useContext';
|
|
2
|
+
import { Platform, TouchableOpacity, View } from 'react-native';
|
|
3
|
+
import { Icon, Modal, Text, createStyleSheet, useHeaderStyle, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
+
import { useLocalization, useSendbirdChat } from '../../../hooks/useContext';
|
|
5
5
|
import { GroupChannelListContexts } from '../module/moduleContext';
|
|
6
6
|
const TYPES = ['GROUP', 'SUPER_GROUP', 'BROADCAST'];
|
|
7
7
|
const TYPE_ICONS = {
|
|
@@ -9,19 +9,26 @@ const TYPE_ICONS = {
|
|
|
9
9
|
'SUPER_GROUP': 'supergroup',
|
|
10
10
|
'BROADCAST': 'broadcast'
|
|
11
11
|
};
|
|
12
|
+
const STATUS_BAR_TOP_INSET_AS = Platform.select({
|
|
13
|
+
android: 'margin',
|
|
14
|
+
default: 'padding'
|
|
15
|
+
});
|
|
12
16
|
|
|
13
17
|
const GroupChannelListTypeSelector = _ref => {
|
|
14
18
|
let {
|
|
15
|
-
Header = DefaultHeader,
|
|
16
19
|
skipTypeSelection,
|
|
17
20
|
onSelectType
|
|
18
21
|
} = _ref;
|
|
19
22
|
const {
|
|
20
|
-
statusBarTranslucent
|
|
23
|
+
statusBarTranslucent,
|
|
24
|
+
HeaderComponent
|
|
21
25
|
} = useHeaderStyle();
|
|
22
26
|
const {
|
|
23
27
|
colors
|
|
24
28
|
} = useUIKitTheme();
|
|
29
|
+
const {
|
|
30
|
+
features
|
|
31
|
+
} = useSendbirdChat();
|
|
25
32
|
const typeSelector = useContext(GroupChannelListContexts.TypeSelector);
|
|
26
33
|
const {
|
|
27
34
|
visible,
|
|
@@ -37,10 +44,29 @@ const GroupChannelListTypeSelector = _ref => {
|
|
|
37
44
|
if (skipTypeSelection && visible) createOnPressType('GROUP')();
|
|
38
45
|
}, [skipTypeSelection, visible]);
|
|
39
46
|
if (skipTypeSelection) return null;
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
return /*#__PURE__*/React.createElement(Modal, {
|
|
48
|
+
visible: visible,
|
|
49
|
+
onClose: hide,
|
|
50
|
+
statusBarTranslucent: statusBarTranslucent
|
|
51
|
+
}, /*#__PURE__*/React.createElement(HeaderComponent, {
|
|
52
|
+
title: typeSelector.headerTitle,
|
|
53
|
+
right: /*#__PURE__*/React.createElement(Icon, {
|
|
54
|
+
icon: 'close',
|
|
55
|
+
color: colors.onBackground01
|
|
56
|
+
}),
|
|
57
|
+
onPressRight: typeSelector.hide,
|
|
58
|
+
statusBarTopInsetAs: STATUS_BAR_TOP_INSET_AS
|
|
59
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
42
60
|
style: styles.buttonArea
|
|
43
61
|
}, TYPES.map(type => {
|
|
62
|
+
if (type === 'SUPER_GROUP' && !features.superGroupChannelEnabled) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (type === 'BROADCAST' && !features.broadcastChannelEnabled) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
|
|
44
70
|
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
45
71
|
key: type,
|
|
46
72
|
activeOpacity: 0.6,
|
|
@@ -51,32 +77,7 @@ const GroupChannelListTypeSelector = _ref => {
|
|
|
51
77
|
}), /*#__PURE__*/React.createElement(DefaultTypeText, {
|
|
52
78
|
type: type
|
|
53
79
|
}));
|
|
54
|
-
}));
|
|
55
|
-
|
|
56
|
-
const renderHeader = () => {
|
|
57
|
-
if (Header) {
|
|
58
|
-
return /*#__PURE__*/React.createElement(Header, {
|
|
59
|
-
title: typeSelector.headerTitle,
|
|
60
|
-
right: /*#__PURE__*/React.createElement(Icon, {
|
|
61
|
-
icon: 'close',
|
|
62
|
-
color: colors.onBackground01
|
|
63
|
-
}),
|
|
64
|
-
onPressRight: typeSelector.hide
|
|
65
|
-
}, renderButtons());
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return /*#__PURE__*/React.createElement(DefaultHeader, {
|
|
69
|
-
title: null,
|
|
70
|
-
right: null,
|
|
71
|
-
left: null
|
|
72
|
-
}, renderButtons());
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
return /*#__PURE__*/React.createElement(Modal, {
|
|
76
|
-
visible: visible,
|
|
77
|
-
onClose: hide,
|
|
78
|
-
statusBarTranslucent: statusBarTranslucent
|
|
79
|
-
}, renderHeader());
|
|
80
|
+
}))));
|
|
80
81
|
};
|
|
81
82
|
|
|
82
83
|
const DefaultTypeIcon = _ref2 => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useContext","useEffect","
|
|
1
|
+
{"version":3,"names":["React","useContext","useEffect","Platform","TouchableOpacity","View","Icon","Modal","Text","createStyleSheet","useHeaderStyle","useUIKitTheme","useLocalization","useSendbirdChat","GroupChannelListContexts","TYPES","TYPE_ICONS","STATUS_BAR_TOP_INSET_AS","select","android","default","GroupChannelListTypeSelector","skipTypeSelection","onSelectType","statusBarTranslucent","HeaderComponent","colors","features","typeSelector","TypeSelector","visible","hide","createOnPressType","type","headerTitle","onBackground01","styles","buttonArea","map","superGroupChannelEnabled","broadcastChannelEnabled","typeButton","DefaultTypeIcon","icon","DefaultTypeText","STRINGS","GROUP_CHANNEL_LIST","flexDirection","paddingVertical","flex","alignItems","justifyContent","marginBottom"],"sources":["GroupChannelListTypeSelector.tsx"],"sourcesContent":["import React, { useContext, useEffect } from 'react';\nimport { Platform, TouchableOpacity, View } from 'react-native';\n\nimport {\n Icon,\n Modal,\n Text,\n createStyleSheet,\n useHeaderStyle,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelListContexts } from '../module/moduleContext';\nimport type { GroupChannelListProps, GroupChannelType } from '../types';\n\nconst TYPES: GroupChannelType[] = ['GROUP', 'SUPER_GROUP', 'BROADCAST'];\nconst TYPE_ICONS: Record<GroupChannelType, keyof typeof Icon.Assets> = {\n 'GROUP': 'chat',\n 'SUPER_GROUP': 'supergroup',\n 'BROADCAST': 'broadcast',\n};\nconst STATUS_BAR_TOP_INSET_AS: 'margin' | 'padding' = Platform.select({ android: 'margin', default: 'padding' });\n\nconst GroupChannelListTypeSelector = ({ skipTypeSelection, onSelectType }: GroupChannelListProps['TypeSelector']) => {\n const { statusBarTranslucent, HeaderComponent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n const { features } = useSendbirdChat();\n const typeSelector = useContext(GroupChannelListContexts.TypeSelector);\n const { visible, hide } = typeSelector;\n\n const createOnPressType = (type: GroupChannelType) => () => {\n hide();\n onSelectType(type);\n };\n\n useEffect(() => {\n if (skipTypeSelection && visible) createOnPressType('GROUP')();\n }, [skipTypeSelection, visible]);\n\n if (skipTypeSelection) return null;\n\n return (\n <Modal visible={visible} onClose={hide} statusBarTranslucent={statusBarTranslucent}>\n <HeaderComponent\n title={typeSelector.headerTitle}\n right={<Icon icon={'close'} color={colors.onBackground01} />}\n onPressRight={typeSelector.hide}\n statusBarTopInsetAs={STATUS_BAR_TOP_INSET_AS}\n >\n <View style={styles.buttonArea}>\n {TYPES.map((type) => {\n if (type === 'SUPER_GROUP' && !features.superGroupChannelEnabled) {\n return null;\n }\n\n if (type === 'BROADCAST' && !features.broadcastChannelEnabled) {\n return null;\n }\n\n return (\n <TouchableOpacity\n key={type}\n activeOpacity={0.6}\n onPress={createOnPressType(type)}\n style={styles.typeButton}\n >\n <DefaultTypeIcon type={type} />\n <DefaultTypeText type={type} />\n </TouchableOpacity>\n );\n })}\n </View>\n </HeaderComponent>\n </Modal>\n );\n};\n\nconst DefaultTypeIcon = ({ type }: { type: GroupChannelType }) => {\n return <Icon size={24} icon={TYPE_ICONS[type]} containerStyle={styles.icon} />;\n};\n\nconst DefaultTypeText = ({ type }: { type: GroupChannelType }) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n return (\n <Text caption2 color={colors.onBackground01}>\n {STRINGS.GROUP_CHANNEL_LIST[`TYPE_SELECTOR_${type}`]}\n </Text>\n );\n};\n\nconst styles = createStyleSheet({\n buttonArea: {\n flexDirection: 'row',\n },\n typeButton: {\n paddingVertical: 24,\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n icon: {\n marginBottom: 8,\n },\n});\n\nexport default GroupChannelListTypeSelector;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatListProps } from 'react-native';\n\nimport type { UseGroupChannelListOptions } from '@sendbird/uikit-chat-hooks';\nimport type { ActionMenuItem
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatListProps } from 'react-native';\n\nimport type { UseGroupChannelListOptions } from '@sendbird/uikit-chat-hooks';\nimport type { ActionMenuItem } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdGroupChannel } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelListProps {\n /** Props for `GroupChannelListFragment` **/\n Fragment: {\n /** Navigate to GroupChannelFragment **/\n onPressChannel: (channel: SendbirdGroupChannel) => void;\n /** Navigate to GroupChannelCreateFragment **/\n onPressCreateChannel: (channelType: GroupChannelType) => void;\n /** Method to render GroupChannel preview **/\n renderGroupChannelPreview?: (\n channel: SendbirdGroupChannel,\n onLongPressChannel: () => void,\n ) => React.ReactElement | null;\n /** Skip type selection, When this is set to true 'channelType' only receive 'GROUP' type **/\n skipTypeSelection?: boolean;\n /** Custom Query creator for channels query **/\n queryCreator?: UseGroupChannelListOptions['queryCreator'];\n /** Custom Collection creator for group channel collection **/\n collectionCreator?: UseGroupChannelListOptions['collectionCreator'];\n /** FlatList props for GroupChannelList.List **/\n flatListProps?: GroupChannelListProps['List']['flatListProps'];\n /** Action menu item creator for onLongPress **/\n menuItemCreator?: GroupChannelListProps['List']['menuItemCreator'];\n };\n /** Props for `GroupChannelListModule.Header` **/\n Header: {};\n /** Props for `GroupChannelListModule.List` **/\n List: {\n /** GroupChannels from SendbirdChat SDK **/\n groupChannels: SendbirdGroupChannel[];\n /** Method to render GroupChannel preview **/\n renderGroupChannelPreview: (\n // FIXME/BREAKING: Changed to props object\n channel: SendbirdGroupChannel,\n onLongPressChannel: () => void,\n ) => React.ReactElement | null;\n /** Method to load more data, called with onEndReached of FlatList **/\n onLoadNext: () => Promise<void>;\n /** Prop from Fragment **/\n flatListProps?: Omit<FlatListProps<SendbirdGroupChannel>, 'data' | 'renderItem'>;\n /** Prop from Fragment **/\n menuItemCreator?: (defaultMenuItem: ActionMenuItem) => ActionMenuItem;\n };\n /** Props for `GroupChannelListModule.TypeSelector` **/\n TypeSelector: {\n /** Prop from Fragment `Fragment.skipTypeSelection` **/\n skipTypeSelection: boolean;\n /** Method called when type is selected, call `Fragment.onPressCreateChannel` **/\n onSelectType: (type: GroupChannelType) => void;\n };\n}\n\n/**\n * Internal context for GroupChannelList\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelListContextsType {\n Fragment: React.Context<{\n headerTitle: string;\n }>;\n TypeSelector: React.Context<{\n visible: boolean;\n show: () => void;\n hide: () => void;\n headerTitle: string;\n }>;\n}\nexport interface GroupChannelListModule {\n Provider: CommonComponent;\n Header: CommonComponent<GroupChannelListProps['Header']>;\n List: CommonComponent<GroupChannelListProps['List']>;\n TypeSelector: CommonComponent<GroupChannelListProps['TypeSelector']>;\n StatusEmpty: CommonComponent;\n StatusLoading: CommonComponent;\n}\n\nexport type GroupChannelListFragment = CommonComponent<GroupChannelListProps['Fragment']>;\nexport type GroupChannelType = 'GROUP' | 'SUPER_GROUP' | 'BROADCAST';\n"],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { Icon, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';
|
|
3
|
+
import { GroupChannelModerationContexts } from '../module/moduleContext';
|
|
4
|
+
|
|
5
|
+
const GroupChannelModerationHeader = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
onPressHeaderLeft
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
headerTitle
|
|
11
|
+
} = useContext(GroupChannelModerationContexts.Fragment);
|
|
12
|
+
const {
|
|
13
|
+
HeaderComponent
|
|
14
|
+
} = useHeaderStyle();
|
|
15
|
+
return /*#__PURE__*/React.createElement(HeaderComponent, {
|
|
16
|
+
title: headerTitle,
|
|
17
|
+
left: /*#__PURE__*/React.createElement(Icon, {
|
|
18
|
+
icon: 'arrow-left'
|
|
19
|
+
}),
|
|
20
|
+
onPressLeft: onPressHeaderLeft
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export default GroupChannelModerationHeader;
|
|
25
|
+
//# sourceMappingURL=GroupChannelModerationHeader.js.map
|
package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useContext","Icon","useHeaderStyle","GroupChannelModerationContexts","GroupChannelModerationHeader","onPressHeaderLeft","headerTitle","Fragment","HeaderComponent"],"sources":["GroupChannelModerationHeader.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { Icon, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';\n\nimport { GroupChannelModerationContexts } from '../module/moduleContext';\nimport type { GroupChannelModerationProps } from '../types';\n\nconst GroupChannelModerationHeader = ({ onPressHeaderLeft }: GroupChannelModerationProps['Header']) => {\n const { headerTitle } = useContext(GroupChannelModerationContexts.Fragment);\n const { HeaderComponent } = useHeaderStyle();\n return <HeaderComponent title={headerTitle} left={<Icon icon={'arrow-left'} />} onPressLeft={onPressHeaderLeft} />;\n};\n\nexport default GroupChannelModerationHeader;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AAEA,SAASC,IAAT,EAAeC,cAAf,QAAqC,yCAArC;AAEA,SAASC,8BAAT,QAA+C,yBAA/C;;AAGA,MAAMC,4BAA4B,GAAG,QAAkE;EAAA,IAAjE;IAAEC;EAAF,CAAiE;EACrG,MAAM;IAAEC;EAAF,IAAkBN,UAAU,CAACG,8BAA8B,CAACI,QAAhC,CAAlC;EACA,MAAM;IAAEC;EAAF,IAAsBN,cAAc,EAA1C;EACA,oBAAO,oBAAC,eAAD;IAAiB,KAAK,EAAEI,WAAxB;IAAqC,IAAI,eAAE,oBAAC,IAAD;MAAM,IAAI,EAAE;IAAZ,EAA3C;IAAyE,WAAW,EAAED;EAAtF,EAAP;AACD,CAJD;;AAMA,eAAeD,4BAAf"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import React, { useContext, useState } from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import { Icon, MenuBar, Switch, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
+
import { useLocalization } from '../../../hooks/useContext';
|
|
5
|
+
import { GroupChannelModerationContexts } from '../module/moduleContext';
|
|
6
|
+
|
|
7
|
+
const GroupChannelModerationMenu = _ref => {
|
|
8
|
+
let {
|
|
9
|
+
onPressMenuBannedUsers,
|
|
10
|
+
onPressMenuMutedMembers,
|
|
11
|
+
onPressMenuOperators,
|
|
12
|
+
menuItemsCreator = menu => menu
|
|
13
|
+
} = _ref;
|
|
14
|
+
const {
|
|
15
|
+
channel
|
|
16
|
+
} = useContext(GroupChannelModerationContexts.Fragment);
|
|
17
|
+
const {
|
|
18
|
+
STRINGS
|
|
19
|
+
} = useLocalization();
|
|
20
|
+
const {
|
|
21
|
+
colors
|
|
22
|
+
} = useUIKitTheme();
|
|
23
|
+
const [isFrozen, setIsFrozen] = useState(() => channel.isFrozen);
|
|
24
|
+
|
|
25
|
+
const toggleFreeze = async () => {
|
|
26
|
+
if (channel.isFrozen) {
|
|
27
|
+
await channel.unfreeze();
|
|
28
|
+
} else {
|
|
29
|
+
await channel.freeze();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
setIsFrozen(channel.isFrozen);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const menuItems = menuItemsCreator([{
|
|
36
|
+
icon: 'operator',
|
|
37
|
+
name: STRINGS.GROUP_CHANNEL_MODERATION.MENU_OPERATORS,
|
|
38
|
+
onPress: () => onPressMenuOperators(),
|
|
39
|
+
actionItem: /*#__PURE__*/React.createElement(Icon, {
|
|
40
|
+
icon: 'chevron-right',
|
|
41
|
+
color: colors.onBackground01
|
|
42
|
+
})
|
|
43
|
+
}, {
|
|
44
|
+
icon: 'mute',
|
|
45
|
+
visible: !channel.isBroadcast,
|
|
46
|
+
name: STRINGS.GROUP_CHANNEL_MODERATION.MENU_MUTED_MEMBERS,
|
|
47
|
+
onPress: () => onPressMenuMutedMembers(),
|
|
48
|
+
actionItem: /*#__PURE__*/React.createElement(Icon, {
|
|
49
|
+
icon: 'chevron-right',
|
|
50
|
+
color: colors.onBackground01
|
|
51
|
+
})
|
|
52
|
+
}, {
|
|
53
|
+
icon: 'ban',
|
|
54
|
+
name: STRINGS.GROUP_CHANNEL_MODERATION.MENU_BANNED_USERS,
|
|
55
|
+
onPress: () => onPressMenuBannedUsers(),
|
|
56
|
+
actionItem: /*#__PURE__*/React.createElement(Icon, {
|
|
57
|
+
icon: 'chevron-right',
|
|
58
|
+
color: colors.onBackground01
|
|
59
|
+
})
|
|
60
|
+
}, {
|
|
61
|
+
icon: 'freeze',
|
|
62
|
+
visible: !channel.isBroadcast,
|
|
63
|
+
name: STRINGS.GROUP_CHANNEL_MODERATION.MENU_FREEZE_CHANNEL,
|
|
64
|
+
actionItem: /*#__PURE__*/React.createElement(Switch, {
|
|
65
|
+
value: isFrozen,
|
|
66
|
+
onChangeValue: toggleFreeze
|
|
67
|
+
}),
|
|
68
|
+
onPress: toggleFreeze
|
|
69
|
+
}]);
|
|
70
|
+
return /*#__PURE__*/React.createElement(View, null, menuItems.map(menu => {
|
|
71
|
+
return /*#__PURE__*/React.createElement(MenuBar, {
|
|
72
|
+
key: menu.name,
|
|
73
|
+
onPress: menu.onPress,
|
|
74
|
+
name: menu.name,
|
|
75
|
+
disabled: menu.disabled,
|
|
76
|
+
visible: menu.visible,
|
|
77
|
+
icon: menu.icon,
|
|
78
|
+
iconColor: menu.iconColor,
|
|
79
|
+
iconBackgroundColor: menu.iconBackgroundColor,
|
|
80
|
+
actionLabel: menu.actionLabel,
|
|
81
|
+
actionItem: menu.actionItem
|
|
82
|
+
});
|
|
83
|
+
}));
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export default GroupChannelModerationMenu;
|
|
87
|
+
//# sourceMappingURL=GroupChannelModerationMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useContext","useState","View","Icon","MenuBar","Switch","useUIKitTheme","useLocalization","GroupChannelModerationContexts","GroupChannelModerationMenu","onPressMenuBannedUsers","onPressMenuMutedMembers","onPressMenuOperators","menuItemsCreator","menu","channel","Fragment","STRINGS","colors","isFrozen","setIsFrozen","toggleFreeze","unfreeze","freeze","menuItems","icon","name","GROUP_CHANNEL_MODERATION","MENU_OPERATORS","onPress","actionItem","onBackground01","visible","isBroadcast","MENU_MUTED_MEMBERS","MENU_BANNED_USERS","MENU_FREEZE_CHANNEL","map","disabled","iconColor","iconBackgroundColor","actionLabel"],"sources":["GroupChannelModerationMenu.tsx"],"sourcesContent":["import React, { useContext, useState } from 'react';\nimport { View } from 'react-native';\n\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport { Icon, MenuBar, Switch, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../../../hooks/useContext';\nimport { GroupChannelModerationContexts } from '../module/moduleContext';\nimport type { GroupChannelModerationProps } from '../types';\n\nconst GroupChannelModerationMenu = ({\n onPressMenuBannedUsers,\n onPressMenuMutedMembers,\n onPressMenuOperators,\n menuItemsCreator = (menu) => menu,\n}: GroupChannelModerationProps['Menu']) => {\n const { channel } = useContext(GroupChannelModerationContexts.Fragment);\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const [isFrozen, setIsFrozen] = useState(() => channel.isFrozen);\n\n const toggleFreeze = async () => {\n if (channel.isFrozen) {\n await channel.unfreeze();\n } else {\n await channel.freeze();\n }\n\n setIsFrozen(channel.isFrozen);\n };\n\n const menuItems: MenuBarProps[] = menuItemsCreator([\n {\n icon: 'operator',\n name: STRINGS.GROUP_CHANNEL_MODERATION.MENU_OPERATORS,\n onPress: () => onPressMenuOperators(),\n actionItem: <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n },\n {\n icon: 'mute',\n visible: !channel.isBroadcast,\n name: STRINGS.GROUP_CHANNEL_MODERATION.MENU_MUTED_MEMBERS,\n onPress: () => onPressMenuMutedMembers(),\n actionItem: <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n },\n {\n icon: 'ban',\n name: STRINGS.GROUP_CHANNEL_MODERATION.MENU_BANNED_USERS,\n onPress: () => onPressMenuBannedUsers(),\n actionItem: <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n },\n {\n icon: 'freeze',\n visible: !channel.isBroadcast,\n name: STRINGS.GROUP_CHANNEL_MODERATION.MENU_FREEZE_CHANNEL,\n actionItem: <Switch value={isFrozen} onChangeValue={toggleFreeze} />,\n onPress: toggleFreeze,\n },\n ]);\n\n return (\n <View>\n {menuItems.map((menu) => {\n return (\n <MenuBar\n key={menu.name}\n onPress={menu.onPress}\n name={menu.name}\n disabled={menu.disabled}\n visible={menu.visible}\n icon={menu.icon}\n iconColor={menu.iconColor}\n iconBackgroundColor={menu.iconBackgroundColor}\n actionLabel={menu.actionLabel}\n actionItem={menu.actionItem}\n />\n );\n })}\n </View>\n );\n};\n\nexport default GroupChannelModerationMenu;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as GroupChannelModerationHeader } from './component/GroupChannelModerationHeader';
|
|
2
|
+
export { default as GroupChannelModerationMenu } from './component/GroupChannelModerationMenu';
|
|
3
|
+
export { default as createGroupChannelModerationModule } from './module/createGroupChannelModerationModule';
|
|
4
|
+
export { GroupChannelModerationContextsProvider, GroupChannelModerationContexts } from './module/moduleContext';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default","GroupChannelModerationHeader","GroupChannelModerationMenu","createGroupChannelModerationModule","GroupChannelModerationContextsProvider","GroupChannelModerationContexts"],"sources":["index.ts"],"sourcesContent":["export { default as GroupChannelModerationHeader } from './component/GroupChannelModerationHeader';\nexport { default as GroupChannelModerationMenu } from './component/GroupChannelModerationMenu';\nexport { default as createGroupChannelModerationModule } from './module/createGroupChannelModerationModule';\nexport { GroupChannelModerationContextsProvider, GroupChannelModerationContexts } from './module/moduleContext';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,4BAApB,QAAwD,0CAAxD;AACA,SAASD,OAAO,IAAIE,0BAApB,QAAsD,wCAAtD;AACA,SAASF,OAAO,IAAIG,kCAApB,QAA8D,6CAA9D;AACA,SAASC,sCAAT,EAAiDC,8BAAjD,QAAuF,wBAAvF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import GroupChannelModerationHeader from '../component/GroupChannelModerationHeader';
|
|
2
|
+
import GroupChannelModerationMenu from '../component/GroupChannelModerationMenu';
|
|
3
|
+
import { GroupChannelModerationContextsProvider } from './moduleContext';
|
|
4
|
+
|
|
5
|
+
const createGroupChannelModerationModule = function () {
|
|
6
|
+
let {
|
|
7
|
+
Header = GroupChannelModerationHeader,
|
|
8
|
+
Menu = GroupChannelModerationMenu,
|
|
9
|
+
Provider = GroupChannelModerationContextsProvider,
|
|
10
|
+
...module
|
|
11
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
12
|
+
return {
|
|
13
|
+
Header,
|
|
14
|
+
Menu,
|
|
15
|
+
Provider,
|
|
16
|
+
...module
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default createGroupChannelModerationModule;
|
|
21
|
+
//# sourceMappingURL=createGroupChannelModerationModule.js.map
|
package/lib/module/domain/groupChannelModeration/module/createGroupChannelModerationModule.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GroupChannelModerationHeader","GroupChannelModerationMenu","GroupChannelModerationContextsProvider","createGroupChannelModerationModule","Header","Menu","Provider","module"],"sources":["createGroupChannelModerationModule.tsx"],"sourcesContent":["import GroupChannelModerationHeader from '../component/GroupChannelModerationHeader';\nimport GroupChannelModerationMenu from '../component/GroupChannelModerationMenu';\nimport type { GroupChannelModerationModule } from '../types';\nimport { GroupChannelModerationContextsProvider } from './moduleContext';\n\nconst createGroupChannelModerationModule = ({\n Header = GroupChannelModerationHeader,\n Menu = GroupChannelModerationMenu,\n Provider = GroupChannelModerationContextsProvider,\n ...module\n}: Partial<GroupChannelModerationModule> = {}): GroupChannelModerationModule => {\n return { Header, Menu, Provider, ...module };\n};\n\nexport default createGroupChannelModerationModule;\n"],"mappings":"AAAA,OAAOA,4BAAP,MAAyC,2CAAzC;AACA,OAAOC,0BAAP,MAAuC,yCAAvC;AAEA,SAASC,sCAAT,QAAuD,iBAAvD;;AAEA,MAAMC,kCAAkC,GAAG,YAKqC;EAAA,IALpC;IAC1CC,MAAM,GAAGJ,4BADiC;IAE1CK,IAAI,GAAGJ,0BAFmC;IAG1CK,QAAQ,GAAGJ,sCAH+B;IAI1C,GAAGK;EAJuC,CAKoC,uEAArC,EAAqC;EAC9E,OAAO;IAAEH,MAAF;IAAUC,IAAV;IAAgBC,QAAhB;IAA0B,GAAGC;EAA7B,CAAP;AACD,CAPD;;AASA,eAAeJ,kCAAf"}
|