@sendbird/uikit-react-native 2.0.2 → 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/lib/commonjs/components/ChannelCover.js +22 -1
- package/lib/commonjs/components/ChannelCover.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +1 -1
- 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/containers/GroupChannelPreviewContainer.js +4 -18
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +8 -7
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/SendbirdChatCtx.js +4 -2
- package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/commonjs/contexts/{ProfileCardCtx.js → UserProfileCtx.js} +16 -19
- 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 +4 -5
- 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 +2 -9
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +93 -49
- 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 +7 -7
- package/lib/commonjs/hooks/useContext.js.map +1 -1
- package/lib/commonjs/index.js +67 -22
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js +54 -11
- package/lib/commonjs/localization/StringSet.type.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 +2 -2
- 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/containers/GroupChannelPreviewContainer.js +4 -18
- package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +7 -6
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/contexts/SendbirdChatCtx.js +4 -2
- package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/module/contexts/{ProfileCardCtx.js → UserProfileCtx.js} +14 -17
- 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 +4 -5
- 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 +3 -9
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelMembersFragment.js +92 -53
- 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 +4 -4
- package/lib/module/hooks/useContext.js.map +1 -1
- package/lib/module/index.js +7 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/localization/StringSet.type.js +54 -11
- package/lib/module/localization/StringSet.type.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/containers/SendbirdUIKitContainer.d.ts +7 -9
- package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +8 -4
- package/lib/typescript/src/contexts/{ProfileCardCtx.d.ts → UserProfileCtx.d.ts} +3 -3
- 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 +1 -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 +2 -1
- package/lib/typescript/src/index.d.ts +7 -2
- package/lib/typescript/src/localization/StringSet.type.d.ts +41 -6
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +6 -6
- package/src/components/ChannelCover.tsx +23 -3
- package/src/components/MessageRenderer/MessageIncomingAvatar.tsx +2 -2
- package/src/components/MessageRenderer/index.tsx +1 -1
- package/src/components/TypedPlaceholder.tsx +4 -4
- package/src/containers/GroupChannelPreviewContainer.tsx +1 -15
- package/src/containers/SendbirdUIKitContainer.tsx +12 -13
- package/src/contexts/SendbirdChatCtx.tsx +10 -4
- package/src/contexts/{ProfileCardCtx.tsx → UserProfileCtx.tsx} +17 -16
- 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 +1 -7
- 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 +9 -12
- package/src/fragments/createGroupChannelInviteFragment.tsx +28 -50
- package/src/fragments/createGroupChannelListFragment.tsx +3 -8
- package/src/fragments/createGroupChannelMembersFragment.tsx +94 -51
- 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 +4 -4
- package/src/index.ts +7 -2
- package/src/localization/StringSet.type.ts +87 -14
- package/src/version.ts +1 -1
- package/lib/commonjs/contexts/ProfileCardCtx.js.map +0 -1
- package/lib/module/contexts/ProfileCardCtx.js.map +0 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import { TouchableOpacity } from 'react-native';
|
|
3
|
+
|
|
4
|
+
import { useUserList } from '@sendbird/uikit-chat-hooks';
|
|
5
|
+
import type { SendbirdMember } from '@sendbird/uikit-utils';
|
|
6
|
+
|
|
7
|
+
import StatusComposition from '../components/StatusComposition';
|
|
8
|
+
import UserSelectableBar from '../components/UserSelectableBar';
|
|
9
|
+
import type { GroupChannelRegisterOperatorFragment } from '../domain/groupChannelUserList/types';
|
|
10
|
+
import createUserListModule from '../domain/userList/module/createUserListModule';
|
|
11
|
+
import type { UserListModule } from '../domain/userList/types';
|
|
12
|
+
import { useLocalization, useSendbirdChat } from '../hooks/useContext';
|
|
13
|
+
|
|
14
|
+
const createGroupChannelRegisterOperatorFragment = (
|
|
15
|
+
initModule?: Partial<UserListModule<SendbirdMember>>,
|
|
16
|
+
): GroupChannelRegisterOperatorFragment<SendbirdMember> => {
|
|
17
|
+
const UserListModule = createUserListModule<SendbirdMember>(initModule);
|
|
18
|
+
|
|
19
|
+
return ({ channel, onPressHeaderLeft, sortComparator, renderUser, onPressHeaderRight }) => {
|
|
20
|
+
const { sdk, currentUser } = useSendbirdChat();
|
|
21
|
+
const { STRINGS } = useLocalization();
|
|
22
|
+
const { users, refreshing, refresh, next, error, loading } = useUserList(sdk, {
|
|
23
|
+
queryCreator: () => channel.createMemberListQuery({ limit: 20 }),
|
|
24
|
+
sortComparator,
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const _renderUser: NonNullable<typeof renderUser> = useCallback(
|
|
28
|
+
(user, selectedUsers, setSelectedUsers) => {
|
|
29
|
+
if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);
|
|
30
|
+
|
|
31
|
+
const userIdx = selectedUsers.findIndex((u) => u.userId === user.userId);
|
|
32
|
+
const isSelected = userIdx > -1;
|
|
33
|
+
const isOperator = user.role === 'operator';
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<TouchableOpacity
|
|
37
|
+
activeOpacity={0.7}
|
|
38
|
+
disabled={isOperator}
|
|
39
|
+
onPress={() => {
|
|
40
|
+
setSelectedUsers(([...draft]) => {
|
|
41
|
+
if (isSelected) draft.splice(userIdx, 1);
|
|
42
|
+
else draft.push(user);
|
|
43
|
+
return draft;
|
|
44
|
+
});
|
|
45
|
+
}}
|
|
46
|
+
>
|
|
47
|
+
<UserSelectableBar
|
|
48
|
+
uri={user.profileUrl}
|
|
49
|
+
name={
|
|
50
|
+
(user.nickname || STRINGS.LABELS.USER_NO_NAME) +
|
|
51
|
+
(user.userId === currentUser?.userId ? STRINGS.LABELS.USER_BAR_ME_POSTFIX : '')
|
|
52
|
+
}
|
|
53
|
+
selected={isOperator || isSelected}
|
|
54
|
+
disabled={isOperator}
|
|
55
|
+
/>
|
|
56
|
+
</TouchableOpacity>
|
|
57
|
+
);
|
|
58
|
+
},
|
|
59
|
+
[channel, renderUser],
|
|
60
|
+
);
|
|
61
|
+
return (
|
|
62
|
+
<UserListModule.Provider
|
|
63
|
+
headerRight={(selectedUsers) => STRINGS.GROUP_CHANNEL_REGISTER_OPERATOR.HEADER_RIGHT({ selectedUsers })}
|
|
64
|
+
headerTitle={STRINGS.GROUP_CHANNEL_REGISTER_OPERATOR.HEADER_TITLE}
|
|
65
|
+
>
|
|
66
|
+
<UserListModule.Header
|
|
67
|
+
shouldActivateHeaderRight={(selectedUsers) => selectedUsers.length > 0}
|
|
68
|
+
onPressHeaderLeft={onPressHeaderLeft}
|
|
69
|
+
onPressHeaderRight={async (users) => {
|
|
70
|
+
await channel.addOperators(users.map((it) => it.userId));
|
|
71
|
+
onPressHeaderRight(channel);
|
|
72
|
+
}}
|
|
73
|
+
/>
|
|
74
|
+
<StatusComposition
|
|
75
|
+
loading={loading}
|
|
76
|
+
error={Boolean(error)}
|
|
77
|
+
LoadingComponent={<UserListModule.StatusLoading />}
|
|
78
|
+
ErrorComponent={<UserListModule.StatusError onPressRetry={() => refresh()} />}
|
|
79
|
+
>
|
|
80
|
+
<UserListModule.List
|
|
81
|
+
onLoadNext={next}
|
|
82
|
+
users={users}
|
|
83
|
+
renderUser={_renderUser}
|
|
84
|
+
onRefresh={refresh}
|
|
85
|
+
refreshing={refreshing}
|
|
86
|
+
ListEmptyComponent={<UserListModule.StatusEmpty />}
|
|
87
|
+
/>
|
|
88
|
+
</StatusComposition>
|
|
89
|
+
</UserListModule.Provider>
|
|
90
|
+
);
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
export default createGroupChannelRegisterOperatorFragment;
|
|
@@ -13,7 +13,14 @@ const createGroupChannelSettingsFragment = (
|
|
|
13
13
|
): GroupChannelSettingsFragment => {
|
|
14
14
|
const GroupChannelSettingsModule = createGroupChannelSettingsModule(initModule);
|
|
15
15
|
|
|
16
|
-
return ({
|
|
16
|
+
return ({
|
|
17
|
+
onPressHeaderLeft = NOOP,
|
|
18
|
+
channel,
|
|
19
|
+
onPressMenuModeration,
|
|
20
|
+
onPressMenuMembers,
|
|
21
|
+
onPressMenuLeaveChannel,
|
|
22
|
+
menuItemsCreator,
|
|
23
|
+
}) => {
|
|
17
24
|
const { colors } = useUIKitTheme();
|
|
18
25
|
const { left, right } = useSafeAreaInsets();
|
|
19
26
|
|
|
@@ -30,6 +37,7 @@ const createGroupChannelSettingsFragment = (
|
|
|
30
37
|
<GroupChannelSettingsModule.Info />
|
|
31
38
|
<GroupChannelSettingsModule.Menu
|
|
32
39
|
menuItemsCreator={menuItemsCreator}
|
|
40
|
+
onPressMenuModeration={onPressMenuModeration}
|
|
33
41
|
onPressMenuMembers={onPressMenuMembers}
|
|
34
42
|
onPressMenuLeaveChannel={onPressMenuLeaveChannel}
|
|
35
43
|
/>
|
|
@@ -24,6 +24,8 @@ const useConnection = () => {
|
|
|
24
24
|
.updateCurrentUserInfo({ nickname: opts.nickname })
|
|
25
25
|
.then((updatedUser) => (user = updatedUser))
|
|
26
26
|
.catch((e) => Logger.warn('[useConnection]', 'nickname-sync failure', e));
|
|
27
|
+
} else if (features.useUserIdForNicknameEnabled) {
|
|
28
|
+
await sdk.updateCurrentUserInfo({ nickname: userId }).then((updatedUser) => (user = updatedUser));
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
if (features.autoPushTokenRegistrationEnabled) {
|
package/src/hooks/useContext.ts
CHANGED
|
@@ -2,8 +2,8 @@ import { useContext } from 'react';
|
|
|
2
2
|
|
|
3
3
|
import { LocalizationContext } from '../contexts/LocalizationCtx';
|
|
4
4
|
import { PlatformServiceContext } from '../contexts/PlatformServiceCtx';
|
|
5
|
-
import { ProfileCardContext } from '../contexts/ProfileCardCtx';
|
|
6
5
|
import { SendbirdChatContext } from '../contexts/SendbirdChatCtx';
|
|
6
|
+
import { UserProfileContext } from '../contexts/UserProfileCtx';
|
|
7
7
|
|
|
8
8
|
export const useLocalization = () => {
|
|
9
9
|
const value = useContext(LocalizationContext);
|
|
@@ -23,8 +23,8 @@ export const useSendbirdChat = () => {
|
|
|
23
23
|
return value;
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
-
export const
|
|
27
|
-
const value = useContext(
|
|
28
|
-
if (!value) throw new Error('
|
|
26
|
+
export const useUserProfile = () => {
|
|
27
|
+
const value = useContext(UserProfileContext);
|
|
28
|
+
if (!value) throw new Error('UserProfileContext is not provided');
|
|
29
29
|
return value;
|
|
30
30
|
};
|
package/src/index.ts
CHANGED
|
@@ -22,17 +22,22 @@ export { default as createGroupChannelSettingsFragment } from './fragments/creat
|
|
|
22
22
|
export { default as createGroupChannelInviteFragment } from './fragments/createGroupChannelInviteFragment';
|
|
23
23
|
export { default as createGroupChannelListFragment } from './fragments/createGroupChannelListFragment';
|
|
24
24
|
export { default as createGroupChannelMembersFragment } from './fragments/createGroupChannelMembersFragment';
|
|
25
|
+
export { default as createGroupChannelModerationFragment } from './fragments/createGroupChannelModerationFragment';
|
|
26
|
+
export { default as createGroupChannelOperatorsFragment } from './fragments/createGroupChannelOperatorsFragment';
|
|
27
|
+
export { default as createGroupChannelRegisterOperatorFragment } from './fragments/createGroupChannelRegisterOperatorFragment';
|
|
28
|
+
export { default as createGroupChannelMutedMembersFragment } from './fragments/createGroupChannelMutedMembersFragment';
|
|
29
|
+
export { default as createGroupChannelBannedUsersFragment } from './fragments/createGroupChannelBannedUsersFragment';
|
|
25
30
|
|
|
26
31
|
/** Context **/
|
|
27
32
|
export { SendbirdChatContext, SendbirdChatProvider } from './contexts/SendbirdChatCtx';
|
|
28
33
|
export { PlatformServiceContext, PlatformServiceProvider } from './contexts/PlatformServiceCtx';
|
|
29
|
-
export {
|
|
34
|
+
export { UserProfileContext, UserProfileProvider } from './contexts/UserProfileCtx';
|
|
30
35
|
export { LocalizationContext, LocalizationProvider } from './contexts/LocalizationCtx';
|
|
31
36
|
|
|
32
37
|
/** Hooks **/
|
|
33
38
|
export { default as useConnection } from './hooks/useConnection';
|
|
34
39
|
export { default as usePushTokenRegistration } from './hooks/usePushTokenRegistration';
|
|
35
|
-
export { useLocalization, usePlatformService, useSendbirdChat,
|
|
40
|
+
export { useLocalization, usePlatformService, useSendbirdChat, useUserProfile } from './hooks/useContext';
|
|
36
41
|
|
|
37
42
|
/** Localization **/
|
|
38
43
|
export { default as StringSetEn } from './localization/StringSet.en';
|
|
@@ -40,6 +40,7 @@ export interface StringSet {
|
|
|
40
40
|
/** GroupChannel > Input */
|
|
41
41
|
INPUT_PLACEHOLDER_ACTIVE: string;
|
|
42
42
|
INPUT_PLACEHOLDER_DISABLED: string;
|
|
43
|
+
INPUT_PLACEHOLDER_MUTED: string;
|
|
43
44
|
INPUT_EDIT_OK: string;
|
|
44
45
|
INPUT_EDIT_CANCEL: string;
|
|
45
46
|
|
|
@@ -67,6 +68,7 @@ export interface StringSet {
|
|
|
67
68
|
HEADER_RIGHT: string;
|
|
68
69
|
|
|
69
70
|
/** GroupChannelSettings > Menu */
|
|
71
|
+
MENU_MODERATION: string;
|
|
70
72
|
MENU_NOTIFICATION: string;
|
|
71
73
|
MENU_MEMBERS: string;
|
|
72
74
|
MENU_LEAVE_CHANNEL: string;
|
|
@@ -82,6 +84,33 @@ export interface StringSet {
|
|
|
82
84
|
DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;
|
|
83
85
|
DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;
|
|
84
86
|
};
|
|
87
|
+
GROUP_CHANNEL_MODERATION: {
|
|
88
|
+
/** GroupChannelModeration > Header */
|
|
89
|
+
HEADER_TITLE: string;
|
|
90
|
+
|
|
91
|
+
/** GroupChannelModeration > Menu */
|
|
92
|
+
MENU_OPERATORS: string;
|
|
93
|
+
MENU_MUTED_MEMBERS: string;
|
|
94
|
+
MENU_BANNED_USERS: string;
|
|
95
|
+
MENU_FREEZE_CHANNEL: string;
|
|
96
|
+
};
|
|
97
|
+
GROUP_CHANNEL_OPERATORS: {
|
|
98
|
+
/** GroupChannelOperators > Header */
|
|
99
|
+
HEADER_TITLE: string;
|
|
100
|
+
};
|
|
101
|
+
GROUP_CHANNEL_REGISTER_OPERATOR: {
|
|
102
|
+
/** GroupChannelRegisterOperator > Header */
|
|
103
|
+
HEADER_TITLE: string;
|
|
104
|
+
HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdMember> }) => string;
|
|
105
|
+
};
|
|
106
|
+
GROUP_CHANNEL_MUTED_MEMBERS: {
|
|
107
|
+
/** GroupChannelMutedMembers > Header */
|
|
108
|
+
HEADER_TITLE: string;
|
|
109
|
+
};
|
|
110
|
+
GROUP_CHANNEL_BANNED_USERS: {
|
|
111
|
+
/** GroupChannelBannedUsers > Header */
|
|
112
|
+
HEADER_TITLE: string;
|
|
113
|
+
};
|
|
85
114
|
GROUP_CHANNEL_LIST: {
|
|
86
115
|
/** GroupChannelList > Header */
|
|
87
116
|
HEADER_TITLE: string;
|
|
@@ -107,14 +136,10 @@ export interface StringSet {
|
|
|
107
136
|
/** GroupChannelMembers > Header */
|
|
108
137
|
HEADER_TITLE: string;
|
|
109
138
|
|
|
110
|
-
/**
|
|
139
|
+
/** @deprecated Please use in LABELS **/
|
|
111
140
|
USER_BAR_ME_POSTFIX: string;
|
|
141
|
+
/** @deprecated Please use in LABELS **/
|
|
112
142
|
USER_BAR_OPERATOR: string;
|
|
113
|
-
|
|
114
|
-
/** GroupChannelMembers > Dialog */
|
|
115
|
-
DIALOG_USER_DISMISS_OPERATOR: string;
|
|
116
|
-
DIALOG_USER_MUTE: string;
|
|
117
|
-
DIALOG_USER_BAN: string;
|
|
118
143
|
};
|
|
119
144
|
GROUP_CHANNEL_INVITE: {
|
|
120
145
|
/** GroupChannelInvite > Header */
|
|
@@ -131,13 +156,23 @@ export interface StringSet {
|
|
|
131
156
|
USER_NO_NAME: string;
|
|
132
157
|
CHANNEL_NO_MEMBERS: string;
|
|
133
158
|
TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;
|
|
159
|
+
|
|
160
|
+
USER_BAR_ME_POSTFIX: string;
|
|
161
|
+
USER_BAR_OPERATOR: string;
|
|
162
|
+
|
|
163
|
+
REGISTER_AS_OPERATOR: string;
|
|
164
|
+
UNREGISTER_OPERATOR: string;
|
|
165
|
+
MUTE: string;
|
|
166
|
+
UNMUTE: string;
|
|
167
|
+
BAN: string;
|
|
168
|
+
UNBAN: string;
|
|
134
169
|
};
|
|
135
170
|
FILE_VIEWER: {
|
|
136
171
|
TITLE: (message: SendbirdFileMessage) => string;
|
|
137
172
|
SUBTITLE: (message: SendbirdFileMessage) => string;
|
|
138
173
|
};
|
|
139
174
|
PLACEHOLDER: {
|
|
140
|
-
|
|
175
|
+
NO_BANNED_USERS: string;
|
|
141
176
|
NO_USERS: string;
|
|
142
177
|
NO_CHANNELS: string;
|
|
143
178
|
NO_MESSAGES: string;
|
|
@@ -212,7 +247,8 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
|
|
|
212
247
|
MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',
|
|
213
248
|
|
|
214
249
|
INPUT_PLACEHOLDER_ACTIVE: 'Enter message',
|
|
215
|
-
INPUT_PLACEHOLDER_DISABLED: 'Chat
|
|
250
|
+
INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',
|
|
251
|
+
INPUT_PLACEHOLDER_MUTED: "You're muted by the operator.",
|
|
216
252
|
INPUT_EDIT_OK: 'Save',
|
|
217
253
|
INPUT_EDIT_CANCEL: 'Cancel',
|
|
218
254
|
|
|
@@ -234,6 +270,7 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
|
|
|
234
270
|
GROUP_CHANNEL_SETTINGS: {
|
|
235
271
|
HEADER_TITLE: 'Channel information',
|
|
236
272
|
HEADER_RIGHT: 'Edit',
|
|
273
|
+
MENU_MODERATION: 'Moderation',
|
|
237
274
|
MENU_NOTIFICATION: 'Notifications',
|
|
238
275
|
MENU_MEMBERS: 'Members',
|
|
239
276
|
MENU_LEAVE_CHANNEL: 'Leave channel',
|
|
@@ -248,6 +285,35 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
|
|
|
248
285
|
DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',
|
|
249
286
|
...overrides?.GROUP_CHANNEL_SETTINGS,
|
|
250
287
|
},
|
|
288
|
+
GROUP_CHANNEL_MODERATION: {
|
|
289
|
+
HEADER_TITLE: 'Moderation',
|
|
290
|
+
MENU_OPERATORS: 'Operators',
|
|
291
|
+
MENU_MUTED_MEMBERS: 'Muted members',
|
|
292
|
+
MENU_BANNED_USERS: 'Banned users',
|
|
293
|
+
MENU_FREEZE_CHANNEL: 'Freeze channel',
|
|
294
|
+
...overrides?.GROUP_CHANNEL_MODERATION,
|
|
295
|
+
},
|
|
296
|
+
GROUP_CHANNEL_OPERATORS: {
|
|
297
|
+
HEADER_TITLE: 'Operators',
|
|
298
|
+
...overrides?.GROUP_CHANNEL_OPERATORS,
|
|
299
|
+
},
|
|
300
|
+
GROUP_CHANNEL_REGISTER_OPERATOR: {
|
|
301
|
+
HEADER_TITLE: 'Set as operators',
|
|
302
|
+
HEADER_RIGHT: ({ selectedUsers }) => {
|
|
303
|
+
const len = selectedUsers.length;
|
|
304
|
+
if (len === 0) return 'Add';
|
|
305
|
+
return `Add (${len})`;
|
|
306
|
+
},
|
|
307
|
+
...overrides?.GROUP_CHANNEL_OPERATORS,
|
|
308
|
+
},
|
|
309
|
+
GROUP_CHANNEL_MUTED_MEMBERS: {
|
|
310
|
+
HEADER_TITLE: 'Muted members',
|
|
311
|
+
...overrides?.GROUP_CHANNEL_MUTED_MEMBERS,
|
|
312
|
+
},
|
|
313
|
+
GROUP_CHANNEL_BANNED_USERS: {
|
|
314
|
+
HEADER_TITLE: 'Banned users',
|
|
315
|
+
...overrides?.GROUP_CHANNEL_BANNED_USERS,
|
|
316
|
+
},
|
|
251
317
|
GROUP_CHANNEL_LIST: {
|
|
252
318
|
HEADER_TITLE: 'Channels',
|
|
253
319
|
CHANNEL_PREVIEW_TITLE: (currentUserId, channel) =>
|
|
@@ -270,11 +336,10 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
|
|
|
270
336
|
},
|
|
271
337
|
GROUP_CHANNEL_MEMBERS: {
|
|
272
338
|
HEADER_TITLE: 'Members',
|
|
339
|
+
/** @deprecated Please use in LABELS **/
|
|
273
340
|
USER_BAR_ME_POSTFIX: ' (You)',
|
|
341
|
+
/** @deprecated Please use in LABELS **/
|
|
274
342
|
USER_BAR_OPERATOR: 'Operator',
|
|
275
|
-
DIALOG_USER_DISMISS_OPERATOR: 'Dismiss operator',
|
|
276
|
-
DIALOG_USER_MUTE: 'Mute',
|
|
277
|
-
DIALOG_USER_BAN: 'Ban',
|
|
278
343
|
...overrides?.GROUP_CHANNEL_MEMBERS,
|
|
279
344
|
},
|
|
280
345
|
GROUP_CHANNEL_CREATE: {
|
|
@@ -305,6 +370,14 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
|
|
|
305
370
|
if (users.length === 2) return `${userNames.join(' and ')} are typing...`;
|
|
306
371
|
return 'Several people are typing...';
|
|
307
372
|
},
|
|
373
|
+
USER_BAR_ME_POSTFIX: ' (You)',
|
|
374
|
+
USER_BAR_OPERATOR: 'Operator',
|
|
375
|
+
REGISTER_AS_OPERATOR: 'Register as operator',
|
|
376
|
+
UNREGISTER_OPERATOR: 'Unregister operator',
|
|
377
|
+
MUTE: 'Mute',
|
|
378
|
+
UNMUTE: 'Unmute',
|
|
379
|
+
BAN: 'Ban',
|
|
380
|
+
UNBAN: 'Unban',
|
|
308
381
|
...overrides?.LABELS,
|
|
309
382
|
},
|
|
310
383
|
FILE_VIEWER: {
|
|
@@ -312,7 +385,7 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
|
|
|
312
385
|
SUBTITLE: (message) => messageTime(new Date(message.createdAt), dateLocale),
|
|
313
386
|
},
|
|
314
387
|
PLACEHOLDER: {
|
|
315
|
-
|
|
388
|
+
NO_BANNED_USERS: 'No banned users',
|
|
316
389
|
NO_USERS: 'No users',
|
|
317
390
|
NO_CHANNELS: 'No channels',
|
|
318
391
|
NO_MESSAGES: 'No messages',
|
|
@@ -327,11 +400,11 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
|
|
|
327
400
|
},
|
|
328
401
|
DIALOG: {
|
|
329
402
|
ALERT_DEFAULT_OK: 'OK',
|
|
330
|
-
ALERT_PERMISSIONS_TITLE: 'Allow
|
|
403
|
+
ALERT_PERMISSIONS_TITLE: 'Allow access?',
|
|
331
404
|
ALERT_PERMISSIONS_MESSAGE: (permission, appName = 'Application') => {
|
|
332
405
|
return `${appName} need permission to access your ${permission}. Go to Settings to allow access`;
|
|
333
406
|
},
|
|
334
|
-
ALERT_PERMISSIONS_OK: '
|
|
407
|
+
ALERT_PERMISSIONS_OK: 'Go to settings',
|
|
335
408
|
PROMPT_DEFAULT_OK: 'Submit',
|
|
336
409
|
PROMPT_DEFAULT_CANCEL: 'Cancel',
|
|
337
410
|
PROMPT_DEFAULT_PLACEHOLDER: 'Enter',
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const VERSION = '2.0
|
|
1
|
+
const VERSION = '2.1.0';
|
|
2
2
|
export default VERSION;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ProfileCardContext","React","createContext","ProfileCardProvider","children","onCreateChannel","onBeforeCreateChannel","PASS","chatContext","useContext","SendbirdChatContext","localizationContext","LocalizationContext","bottom","left","right","useSafeAreaInsets","user","setUser","useState","visible","setVisible","show","hide","Error","profileCardButton","useIIFE","isMe","currentUser","userId","undefined","onPressMessageButton","params","invitedUserIds","name","coverUrl","isDistinct","operatorUserIds","processedParams","channel","sdk","groupChannel","createChannel","Logger","warn","STRINGS","PROFILE_CARD","BUTTON_MESSAGE","Boolean","styles","modal","profileCardContainer","paddingLeft","paddingRight","paddingBottom","profileUrl","nickname","LABELS","USER_NO_NAME","BODY_LABEL","BODY","createStyleSheet","justifyContent","borderTopLeftRadius","borderTopRightRadius"],"sources":["ProfileCardCtx.tsx"],"sourcesContent":["import React, { useContext, useState } from 'react';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { Modal, OutlinedButton, ProfileCard, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport type {\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport { Logger, PASS, useIIFE } from '@sendbird/uikit-utils';\n\nimport { LocalizationContext } from '../contexts/LocalizationCtx';\nimport { SendbirdChatContext } from '../contexts/SendbirdChatCtx';\n\ntype OnCreateChannel = (channel: SendbirdGroupChannel) => void;\ntype OnBeforeCreateChannel = (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[],\n) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n\nexport type ProfileCardContextType = {\n show(user: SendbirdUser | SendbirdMember): void;\n hide(): void;\n};\n\ntype Props = React.PropsWithChildren<{\n onCreateChannel?: OnCreateChannel;\n onBeforeCreateChannel?: OnBeforeCreateChannel;\n}>;\n\nexport const ProfileCardContext = React.createContext<ProfileCardContextType | null>(null);\nexport const ProfileCardProvider = ({ children, onCreateChannel, onBeforeCreateChannel = PASS }: Props) => {\n const chatContext = useContext(SendbirdChatContext);\n const localizationContext = useContext(LocalizationContext);\n const { bottom, left, right } = useSafeAreaInsets();\n\n const [user, setUser] = useState<SendbirdUser | SendbirdMember>();\n const [visible, setVisible] = useState(false);\n\n const show: ProfileCardContextType['show'] = (user) => {\n setUser(user);\n setVisible(true);\n };\n\n const hide: ProfileCardContextType['hide'] = () => {\n setVisible(false);\n };\n\n if (!chatContext) throw new Error('SendbirdChatContext is not provided');\n if (!localizationContext) throw new Error('LocalizationContext is not provided');\n\n const profileCardButton = useIIFE(() => {\n const isMe = chatContext.currentUser && user?.userId === chatContext.currentUser.userId;\n if (isMe) return undefined;\n\n const onPressMessageButton = async () => {\n if (user) {\n const params: SendbirdGroupChannelCreateParams = {\n invitedUserIds: [user.userId],\n name: '',\n coverUrl: '',\n isDistinct: false,\n };\n\n if (chatContext.currentUser) params.operatorUserIds = [chatContext.currentUser.userId];\n const processedParams = await onBeforeCreateChannel(params, [user]);\n\n hide();\n const channel = await chatContext.sdk.groupChannel.createChannel(processedParams);\n\n if (onCreateChannel) {\n onCreateChannel(channel);\n } else {\n Logger.warn(\n 'Please set `onCreateChannel` before message to user from profile card, see `profileCard` prop in the `SendbirdUIKitContainer` props',\n );\n }\n }\n };\n\n return (\n <OutlinedButton onPress={onPressMessageButton}>\n {localizationContext.STRINGS.PROFILE_CARD.BUTTON_MESSAGE}\n </OutlinedButton>\n );\n });\n\n return (\n <ProfileCardContext.Provider value={{ show, hide }}>\n {children}\n <Modal\n type={'slide'}\n onClose={hide}\n onDismiss={() => setUser(undefined)}\n visible={visible && Boolean(user)}\n backgroundStyle={styles.modal}\n >\n {user && (\n <ProfileCard\n containerStyle={[\n styles.profileCardContainer,\n { paddingLeft: left, paddingRight: right, paddingBottom: bottom },\n ]}\n uri={user.profileUrl}\n username={user.nickname || localizationContext.STRINGS.LABELS.USER_NO_NAME}\n bodyLabel={localizationContext.STRINGS.PROFILE_CARD.BODY_LABEL}\n body={localizationContext.STRINGS.PROFILE_CARD.BODY(user)}\n button={profileCardButton}\n />\n )}\n </Modal>\n </ProfileCardContext.Provider>\n );\n};\n\nconst styles = createStyleSheet({\n modal: {\n justifyContent: 'flex-end',\n },\n profileCardContainer: {\n borderTopLeftRadius: 8,\n borderTopRightRadius: 8,\n },\n});\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","useContext","useState","useSafeAreaInsets","Modal","OutlinedButton","ProfileCard","createStyleSheet","Logger","PASS","useIIFE","LocalizationContext","SendbirdChatContext","ProfileCardContext","createContext","ProfileCardProvider","children","onCreateChannel","onBeforeCreateChannel","chatContext","localizationContext","bottom","left","right","user","setUser","visible","setVisible","show","hide","Error","profileCardButton","isMe","currentUser","userId","undefined","onPressMessageButton","params","invitedUserIds","name","coverUrl","isDistinct","operatorUserIds","processedParams","channel","sdk","groupChannel","createChannel","warn","STRINGS","PROFILE_CARD","BUTTON_MESSAGE","Boolean","styles","modal","profileCardContainer","paddingLeft","paddingRight","paddingBottom","profileUrl","nickname","LABELS","USER_NO_NAME","BODY_LABEL","BODY","justifyContent","borderTopLeftRadius","borderTopRightRadius"],"sources":["ProfileCardCtx.tsx"],"sourcesContent":["import React, { useContext, useState } from 'react';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { Modal, OutlinedButton, ProfileCard, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport type {\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport { Logger, PASS, useIIFE } from '@sendbird/uikit-utils';\n\nimport { LocalizationContext } from '../contexts/LocalizationCtx';\nimport { SendbirdChatContext } from '../contexts/SendbirdChatCtx';\n\ntype OnCreateChannel = (channel: SendbirdGroupChannel) => void;\ntype OnBeforeCreateChannel = (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[],\n) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n\nexport type ProfileCardContextType = {\n show(user: SendbirdUser | SendbirdMember): void;\n hide(): void;\n};\n\ntype Props = React.PropsWithChildren<{\n onCreateChannel?: OnCreateChannel;\n onBeforeCreateChannel?: OnBeforeCreateChannel;\n}>;\n\nexport const ProfileCardContext = React.createContext<ProfileCardContextType | null>(null);\nexport const ProfileCardProvider = ({ children, onCreateChannel, onBeforeCreateChannel = PASS }: Props) => {\n const chatContext = useContext(SendbirdChatContext);\n const localizationContext = useContext(LocalizationContext);\n const { bottom, left, right } = useSafeAreaInsets();\n\n const [user, setUser] = useState<SendbirdUser | SendbirdMember>();\n const [visible, setVisible] = useState(false);\n\n const show: ProfileCardContextType['show'] = (user) => {\n setUser(user);\n setVisible(true);\n };\n\n const hide: ProfileCardContextType['hide'] = () => {\n setVisible(false);\n };\n\n if (!chatContext) throw new Error('SendbirdChatContext is not provided');\n if (!localizationContext) throw new Error('LocalizationContext is not provided');\n\n const profileCardButton = useIIFE(() => {\n const isMe = chatContext.currentUser && user?.userId === chatContext.currentUser.userId;\n if (isMe) return undefined;\n\n const onPressMessageButton = async () => {\n if (user) {\n const params: SendbirdGroupChannelCreateParams = {\n invitedUserIds: [user.userId],\n name: '',\n coverUrl: '',\n isDistinct: false,\n };\n\n if (chatContext.currentUser) params.operatorUserIds = [chatContext.currentUser.userId];\n const processedParams = await onBeforeCreateChannel(params, [user]);\n\n hide();\n const channel = await chatContext.sdk.groupChannel.createChannel(processedParams);\n\n if (onCreateChannel) {\n onCreateChannel(channel);\n } else {\n Logger.warn(\n 'Please set `onCreateChannel` before message to user from profile card, see `profileCard` prop in the `SendbirdUIKitContainer` props',\n );\n }\n }\n };\n\n return (\n <OutlinedButton onPress={onPressMessageButton}>\n {localizationContext.STRINGS.PROFILE_CARD.BUTTON_MESSAGE}\n </OutlinedButton>\n );\n });\n\n return (\n <ProfileCardContext.Provider value={{ show, hide }}>\n {children}\n <Modal\n type={'slide'}\n onClose={hide}\n onDismiss={() => setUser(undefined)}\n visible={visible && Boolean(user)}\n backgroundStyle={styles.modal}\n >\n {user && (\n <ProfileCard\n containerStyle={[\n styles.profileCardContainer,\n { paddingLeft: left, paddingRight: right, paddingBottom: bottom },\n ]}\n uri={user.profileUrl}\n username={user.nickname || localizationContext.STRINGS.LABELS.USER_NO_NAME}\n bodyLabel={localizationContext.STRINGS.PROFILE_CARD.BODY_LABEL}\n body={localizationContext.STRINGS.PROFILE_CARD.BODY(user)}\n button={profileCardButton}\n />\n )}\n </Modal>\n </ProfileCardContext.Provider>\n );\n};\n\nconst styles = createStyleSheet({\n modal: {\n justifyContent: 'flex-end',\n },\n profileCardContainer: {\n borderTopLeftRadius: 8,\n borderTopRightRadius: 8,\n },\n});\n"],"mappings":"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"}
|