@sendbird/uikit-react 3.0.2 → 3.1.1-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +33 -32
- package/App.js.map +1 -1
- package/CHANGELOG.md +10 -0
- package/Channel/components/ChannelHeader.js +17 -17
- package/Channel/components/ChannelUI.js +24 -24
- package/Channel/components/FileViewer.js +16 -16
- package/Channel/components/FrozenNotification.js +5 -5
- package/Channel/components/Message.js +21 -21
- package/Channel/components/MessageInput.js +18 -18
- package/Channel/components/MessageList.js +23 -23
- package/Channel/components/RemoveMessageModal.js +19 -19
- package/Channel/components/SuggestedMentionList.js +17 -17
- package/Channel/components/TypingIndicator.js +16 -16
- package/Channel/components/UnreadCount.js +5 -5
- package/Channel/context.js +15 -15
- package/Channel.js +24 -24
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +28 -28
- package/ChannelList/components/ChannelPreview.js +21 -21
- package/ChannelList/components/ChannelPreviewAction.js +16 -16
- package/ChannelList/context.js +10 -10
- package/ChannelList.js +28 -28
- package/{ChannelListProvider-98ce41d2.js → ChannelListProvider-eb18fd28.js} +15 -19
- package/ChannelListProvider-eb18fd28.js.map +1 -0
- package/{ChannelProvider-6ea29e4a.js → ChannelProvider-595e56de.js} +11 -11
- package/{ChannelProvider-6ea29e4a.js.map → ChannelProvider-595e56de.js.map} +1 -1
- package/ChannelSettings/components/ChannelProfile.js +13 -13
- package/ChannelSettings/components/ChannelSettingsUI.js +20 -18
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +13 -13
- package/ChannelSettings/components/LeaveChannel.js +10 -10
- package/ChannelSettings/components/ModerationPanel.js +29 -26
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +14 -14
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +20 -18
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/InviteUsers.js +29 -30
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-71012e62.js → CreateChannelProvider-53c05c06.js} +1 -1
- package/{CreateChannelProvider-71012e62.js.map → CreateChannelProvider-53c05c06.js.map} +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-1417e9d3.js → LocalizationContext-9ecb0a32.js} +3 -3
- package/{LocalizationContext-1417e9d3.js.map → LocalizationContext-9ecb0a32.js.map} +1 -1
- package/{MemberList-351c6fcc.js → MemberList-b8d5b0a7.js} +25 -22
- package/MemberList-b8d5b0a7.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +5 -5
- package/OpenChannel/components/OpenChannelHeader.js +15 -14
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +19 -18
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +43 -28
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +27 -26
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +26 -25
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +12 -11
- package/OpenChannel/context.js.map +1 -1
- package/OpenChannel.js +26 -25
- package/OpenChannel.js.map +1 -1
- package/{OpenChannelProvider-5d02b219.js → OpenChannelProvider-5ff5a469.js} +43 -16
- package/OpenChannelProvider-5ff5a469.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +15 -13
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +15 -13
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +23 -21
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +734 -27
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +30 -139
- package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/OpenChannelSettings/context.js +84 -9
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +24 -22
- package/OpenChannelSettings.js.map +1 -1
- package/SendbirdProvider.js +15 -14
- package/SendbirdProvider.js.map +1 -1
- package/{UserProfileContext-c72e5006.js → UserProfileContext-c1834696.js} +1 -1
- package/{UserProfileContext-c72e5006.js.map → UserProfileContext-c1834696.js.map} +1 -1
- package/__bundle-7dfccc8c-b47a2b5a.js +22 -0
- package/__bundle-7dfccc8c-b47a2b5a.js.map +1 -0
- package/{_rollupPluginBabelHelpers-87a4819d.js → _rollupPluginBabelHelpers-31a1bb40.js} +1 -1
- package/{_rollupPluginBabelHelpers-87a4819d.js.map → _rollupPluginBabelHelpers-31a1bb40.js.map} +1 -1
- package/{actionTypes-52ff0372.js → actionTypes-3411a721.js} +1 -1
- package/{actionTypes-52ff0372.js.map → actionTypes-3411a721.js.map} +1 -1
- package/cjs/App.js +33 -32
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +17 -17
- package/cjs/Channel/components/ChannelUI.js +24 -24
- package/cjs/Channel/components/FileViewer.js +16 -16
- package/cjs/Channel/components/FrozenNotification.js +5 -5
- package/cjs/Channel/components/Message.js +21 -21
- package/cjs/Channel/components/MessageInput.js +18 -18
- package/cjs/Channel/components/MessageList.js +23 -23
- package/cjs/Channel/components/RemoveMessageModal.js +19 -19
- package/cjs/Channel/components/SuggestedMentionList.js +17 -17
- package/cjs/Channel/components/TypingIndicator.js +16 -16
- package/cjs/Channel/components/UnreadCount.js +5 -5
- package/cjs/Channel/context.js +15 -15
- package/cjs/Channel.js +24 -24
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +28 -28
- package/cjs/ChannelList/components/ChannelPreview.js +21 -21
- package/cjs/ChannelList/components/ChannelPreviewAction.js +16 -16
- package/cjs/ChannelList/context.js +10 -10
- package/cjs/ChannelList.js +28 -28
- package/cjs/{ChannelListProvider-aa33f9fb.js → ChannelListProvider-77312a96.js} +15 -19
- package/cjs/ChannelListProvider-77312a96.js.map +1 -0
- package/cjs/{ChannelProvider-0dbd1be6.js → ChannelProvider-4a475535.js} +11 -11
- package/cjs/{ChannelProvider-0dbd1be6.js.map → ChannelProvider-4a475535.js.map} +1 -1
- package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +20 -18
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/ChannelSettings/components/LeaveChannel.js +10 -10
- package/cjs/ChannelSettings/components/ModerationPanel.js +28 -25
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +14 -14
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +20 -18
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js +29 -30
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-08837dcb.js → CreateChannelProvider-01d4eaf6.js} +1 -1
- package/cjs/{CreateChannelProvider-08837dcb.js.map → CreateChannelProvider-01d4eaf6.js.map} +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-c0dc9e2f.js → LocalizationContext-a705c60f.js} +3 -3
- package/cjs/{LocalizationContext-c0dc9e2f.js.map → LocalizationContext-a705c60f.js.map} +1 -1
- package/cjs/{MemberList-17f30c30.js → MemberList-8b5f5e4a.js} +24 -21
- package/cjs/MemberList-8b5f5e4a.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
- package/cjs/OpenChannel/components/OpenChannelHeader.js +15 -14
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +19 -18
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +43 -28
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +27 -26
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +26 -25
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +12 -11
- package/cjs/OpenChannel/context.js.map +1 -1
- package/cjs/OpenChannel.js +26 -25
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/{OpenChannelProvider-2d921cf0.js → OpenChannelProvider-7cf4ccbe.js} +43 -16
- package/cjs/OpenChannelProvider-7cf4ccbe.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +15 -13
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +15 -13
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +23 -21
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +733 -26
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +31 -140
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/cjs/OpenChannelSettings/context.js +84 -9
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +24 -22
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/SendbirdProvider.js +16 -14
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/{UserProfileContext-2bd8a987.js → UserProfileContext-f46c65c9.js} +1 -1
- package/cjs/{UserProfileContext-2bd8a987.js.map → UserProfileContext-f46c65c9.js.map} +1 -1
- package/cjs/__bundle-7dfccc8c-70a9c008.js +120 -0
- package/cjs/__bundle-7dfccc8c-70a9c008.js.map +1 -0
- package/cjs/{_rollupPluginBabelHelpers-59502943.js → _rollupPluginBabelHelpers-d4231746.js} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-59502943.js.map → _rollupPluginBabelHelpers-d4231746.js.map} +1 -1
- package/cjs/{actionTypes-d637dc1d.js → actionTypes-ef5574ae.js} +1 -1
- package/cjs/{actionTypes-d637dc1d.js.map → actionTypes-ef5574ae.js.map} +1 -1
- package/cjs/{color-57d2d881.js → color-f1d22e48.js} +1 -1
- package/cjs/{color-57d2d881.js.map → color-f1d22e48.js.map} +1 -1
- package/cjs/{compareIds-70f7ec01.js → compareIds-09284eb5.js} +1 -1
- package/cjs/{compareIds-70f7ec01.js.map → compareIds-09284eb5.js.map} +1 -1
- package/cjs/{const-79c19d9a.js → const-6ff8b2d7.js} +1 -1
- package/cjs/{const-79c19d9a.js.map → const-6ff8b2d7.js.map} +1 -1
- package/cjs/{const-cddf6176.js → const-a0e65c1f.js} +1 -1
- package/cjs/{const-cddf6176.js.map → const-a0e65c1f.js.map} +1 -1
- package/cjs/{context-277763cc.js → context-3116d4af.js} +2 -2
- package/cjs/{context-277763cc.js.map → context-3116d4af.js.map} +1 -1
- package/cjs/dist/index.css +154 -105
- package/cjs/dist/index.css.map +1 -1
- package/cjs/groupChannel-c120b8c6.js +11 -0
- package/cjs/groupChannel-c120b8c6.js.map +1 -0
- package/cjs/{index-7970f43b.js → index-04096e45.js} +2 -2
- package/cjs/{index-7970f43b.js.map → index-04096e45.js.map} +1 -1
- package/cjs/{index-f73b522b.js → index-100d673e.js} +2 -2
- package/cjs/{index-f73b522b.js.map → index-100d673e.js.map} +1 -1
- package/cjs/{index-f10a973e.js → index-30ce73c3.js} +3 -3
- package/cjs/{index-f10a973e.js.map → index-30ce73c3.js.map} +1 -1
- package/cjs/{index-f3df6bb6.js → index-6a22f079.js} +6 -6
- package/cjs/{index-f3df6bb6.js.map → index-6a22f079.js.map} +1 -1
- package/cjs/{index-cb29dc31.js → index-7efed648.js} +4 -4
- package/cjs/{index-cb29dc31.js.map → index-7efed648.js.map} +1 -1
- package/cjs/{index-0e3ec349.js → index-876b2b8c.js} +1 -1
- package/cjs/{index-0e3ec349.js.map → index-876b2b8c.js.map} +1 -1
- package/cjs/{index-897ebaf9.js → index-98ff8992.js} +1 -1
- package/cjs/{index-897ebaf9.js.map → index-98ff8992.js.map} +1 -1
- package/cjs/index-9deff671.js +358 -0
- package/cjs/index-9deff671.js.map +1 -0
- package/cjs/{index-8c6ece9e.js → index-ac60aa9e.js} +4 -4
- package/cjs/{index-8c6ece9e.js.map → index-ac60aa9e.js.map} +1 -1
- package/cjs/{index-54177640.js → index-bb59494a.js} +5 -5
- package/cjs/index-bb59494a.js.map +1 -0
- package/cjs/{index-5755be7f.js → index-ed5d5e9d.js} +3 -3
- package/cjs/{index-5755be7f.js.map → index-ed5d5e9d.js.map} +1 -1
- package/cjs/index.js +38 -36
- package/cjs/index.js.map +1 -1
- package/cjs/openChannel-8c980cdb.js +9 -0
- package/cjs/openChannel-8c980cdb.js.map +1 -0
- package/cjs/{openChannelUtils-250d464a.js → openChannelUtils-eb30b158.js} +1 -2
- package/cjs/{openChannelUtils-250d464a.js.map → openChannelUtils-eb30b158.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +4 -4
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-8a5752c1.js → stringSet-4e80362c.js} +28 -3
- package/cjs/stringSet-4e80362c.js.map +1 -0
- package/cjs/{topics-5541d80a.js → topics-1ea796fe.js} +1 -1
- package/cjs/{topics-5541d80a.js.map → topics-1ea796fe.js.map} +1 -1
- package/cjs/{tslib.es6-999b9d2f.js → tslib.es6-5520d66d.js} +1 -1
- package/cjs/{tslib.es6-999b9d2f.js.map → tslib.es6-5520d66d.js.map} +1 -1
- package/cjs/ui/Accordion.js +4 -4
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +3 -3
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/Button.js +4 -4
- package/cjs/ui/ChannelAvatar.js +4 -4
- package/cjs/ui/ChannelPreview.js +12 -12
- package/cjs/ui/ChatHeader.js +8 -8
- package/cjs/ui/Checkbox.js +12 -24
- package/cjs/ui/Checkbox.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +5 -5
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/Dropdown.js +3 -3
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +7 -7
- package/cjs/ui/Icon.js +1 -1
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +3 -3
- package/cjs/ui/Label.js +3 -3
- package/cjs/ui/LinkLabel.js +3 -3
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +11 -11
- package/cjs/ui/MessageContent.js +14 -14
- package/cjs/ui/MessageInput.js +10 -10
- package/cjs/ui/MessageItemMenu.js +7 -7
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +10 -10
- package/cjs/ui/MessageStatus.js +8 -8
- package/cjs/ui/Modal.js +12 -9
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js +1 -1
- package/cjs/ui/OGMessageItemBody.js +11 -11
- package/cjs/ui/OpenChannelAdminMessage.js +4 -4
- package/cjs/ui/OpenChannelAvatar.js +7 -7
- package/cjs/ui/OpenchannelConversationHeader.js +7 -7
- package/cjs/ui/OpenchannelFileMessage.js +17 -17
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +17 -17
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +17 -17
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/QuoteMessage.js +7 -7
- package/cjs/ui/QuoteMessageInput.js +7 -7
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +1 -1
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +11 -11
- package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +7 -7
- package/cjs/ui/UserListItem.js +34 -62
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +10 -10
- package/cjs/ui/Word.js +11 -11
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/{utils-2e571594.js → utils-84bab0ba.js} +1 -1
- package/cjs/{utils-2e571594.js.map → utils-84bab0ba.js.map} +1 -1
- package/cjs/{utils-fdc85251.js → utils-a34410a9.js} +1 -1
- package/cjs/{utils-fdc85251.js.map → utils-a34410a9.js.map} +1 -1
- package/cjs/{utils-0b87e6c8.js → utils-cb9aac85.js} +1 -1
- package/cjs/{utils-0b87e6c8.js.map → utils-cb9aac85.js.map} +1 -1
- package/cjs/{uuid-c1af9ac6.js → uuid-51919e62.js} +1 -1
- package/cjs/{uuid-c1af9ac6.js.map → uuid-51919e62.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-32ee546e.js → color-0d32d75b.js} +1 -1
- package/{color-32ee546e.js.map → color-0d32d75b.js.map} +1 -1
- package/{compareIds-9b3202b9.js → compareIds-2a25c4fd.js} +1 -1
- package/{compareIds-9b3202b9.js.map → compareIds-2a25c4fd.js.map} +1 -1
- package/{const-c2efe3b4.js → const-58f24b74.js} +1 -1
- package/{const-c2efe3b4.js.map → const-58f24b74.js.map} +1 -1
- package/{const-7b1f25aa.js → const-6d03d727.js} +1 -1
- package/{const-7b1f25aa.js.map → const-6d03d727.js.map} +1 -1
- package/{context-4a3c0658.js → context-53e8285b.js} +2 -2
- package/{context-4a3c0658.js.map → context-53e8285b.js.map} +1 -1
- package/dist/index.css +154 -105
- package/dist/index.css.map +1 -1
- package/groupChannel-1c5076e4.js +8 -0
- package/groupChannel-1c5076e4.js.map +1 -0
- package/{index-f9e25c08.js → index-1cb86f16.js} +2 -2
- package/{index-f9e25c08.js.map → index-1cb86f16.js.map} +1 -1
- package/{index-fdcc4a92.js → index-3b997158.js} +3 -3
- package/{index-fdcc4a92.js.map → index-3b997158.js.map} +1 -1
- package/{index-097f4b78.js → index-526e1c2f.js} +1 -1
- package/{index-097f4b78.js.map → index-526e1c2f.js.map} +1 -1
- package/{index-f457e0cd.js → index-5751f53d.js} +4 -4
- package/{index-f457e0cd.js.map → index-5751f53d.js.map} +1 -1
- package/{index-ff084076.js → index-64bbdf03.js} +3 -3
- package/{index-ff084076.js.map → index-64bbdf03.js.map} +1 -1
- package/{index-e647d770.js → index-8cd47fe5.js} +5 -5
- package/index-8cd47fe5.js.map +1 -0
- package/{index-b9a5ff91.js → index-a6ed3522.js} +1 -1
- package/{index-b9a5ff91.js.map → index-a6ed3522.js.map} +1 -1
- package/index-a754a6e3.js +351 -0
- package/index-a754a6e3.js.map +1 -0
- package/{index-f86f98c3.js → index-c535b427.js} +6 -6
- package/{index-f86f98c3.js.map → index-c535b427.js.map} +1 -1
- package/{index-89c172fc.js → index-fd29af9b.js} +2 -2
- package/{index-89c172fc.js.map → index-fd29af9b.js.map} +1 -1
- package/{index-12f6f771.js → index-fe143e10.js} +4 -4
- package/{index-12f6f771.js.map → index-fe143e10.js.map} +1 -1
- package/index.d.ts +28 -16
- package/index.js +38 -37
- package/index.js.map +1 -1
- package/openChannel-243ce500.js +6 -0
- package/openChannel-243ce500.js.map +1 -0
- package/{openChannelUtils-588d2978.js → openChannelUtils-d942de1a.js} +2 -2
- package/{openChannelUtils-588d2978.js.map → openChannelUtils-d942de1a.js.map} +1 -1
- package/package-lock.json +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +4 -4
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-adf0eb59.js → stringSet-8f56c095.js} +28 -3
- package/stringSet-8f56c095.js.map +1 -0
- package/{topics-29b13da4.js → topics-27c99fc7.js} +1 -1
- package/{topics-29b13da4.js.map → topics-27c99fc7.js.map} +1 -1
- package/{tslib.es6-5a2250f9.js → tslib.es6-70020af6.js} +1 -1
- package/{tslib.es6-5a2250f9.js.map → tslib.es6-70020af6.js.map} +1 -1
- package/ui/Accordion.js +4 -4
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +3 -3
- package/ui/Badge.js +5 -5
- package/ui/Button.js +4 -4
- package/ui/ChannelAvatar.js +4 -4
- package/ui/ChannelPreview.js +12 -12
- package/ui/ChatHeader.js +8 -8
- package/ui/Checkbox.js +12 -23
- package/ui/Checkbox.js.map +1 -1
- package/ui/ConnectionStatus.js +5 -5
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +4 -4
- package/ui/Dropdown.js +3 -3
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +7 -7
- package/ui/Icon.js +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +3 -3
- package/ui/Label.js +3 -3
- package/ui/LinkLabel.js +3 -3
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +11 -11
- package/ui/MessageContent.js +14 -14
- package/ui/MessageInput.js +10 -10
- package/ui/MessageItemMenu.js +7 -7
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +10 -10
- package/ui/MessageStatus.js +8 -8
- package/ui/Modal.js +12 -9
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js +1 -1
- package/ui/OGMessageItemBody.js +11 -11
- package/ui/OpenChannelAdminMessage.js +4 -4
- package/ui/OpenChannelAvatar.js +7 -7
- package/ui/OpenchannelConversationHeader.js +7 -7
- package/ui/OpenchannelFileMessage.js +17 -17
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +17 -17
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +16 -16
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +17 -17
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +6 -6
- package/ui/QuoteMessage.js +7 -7
- package/ui/QuoteMessageInput.js +7 -7
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +1 -1
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +11 -11
- package/ui/ThumbnailMessageItemBody.js +3 -3
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +7 -7
- package/ui/UserListItem.js +34 -61
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +10 -10
- package/ui/Word.js +11 -11
- package/useSendbirdStateContext.js +1 -1
- package/{utils-3702c3d4.js → utils-c7599c37.js} +1 -1
- package/{utils-3702c3d4.js.map → utils-c7599c37.js.map} +1 -1
- package/{utils-ad16f26f.js → utils-e3bda5a7.js} +1 -1
- package/{utils-ad16f26f.js.map → utils-e3bda5a7.js.map} +1 -1
- package/{utils-e6f6eb1b.js → utils-e5523522.js} +1 -1
- package/{utils-e6f6eb1b.js.map → utils-e5523522.js.map} +1 -1
- package/{uuid-9ac267fb.js → uuid-118d6514.js} +1 -1
- package/{uuid-9ac267fb.js.map → uuid-118d6514.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-98ce41d2.js.map +0 -1
- package/MemberList-351c6fcc.js.map +0 -1
- package/OpenChannelProvider-5d02b219.js.map +0 -1
- package/__bundle-7dfccc8c-be772b9c.js +0 -4396
- package/__bundle-7dfccc8c-be772b9c.js.map +0 -1
- package/cjs/ChannelListProvider-aa33f9fb.js.map +0 -1
- package/cjs/MemberList-17f30c30.js.map +0 -1
- package/cjs/OpenChannelProvider-2d921cf0.js.map +0 -1
- package/cjs/__bundle-7dfccc8c-92c0a42c.js +0 -4523
- package/cjs/__bundle-7dfccc8c-92c0a42c.js.map +0 -1
- package/cjs/groupChannel-65c54bfa.js +0 -9
- package/cjs/groupChannel-65c54bfa.js.map +0 -1
- package/cjs/index-54177640.js.map +0 -1
- package/cjs/openChannel-0e621900.js +0 -5251
- package/cjs/openChannel-0e621900.js.map +0 -1
- package/cjs/stringSet-8a5752c1.js.map +0 -1
- package/groupChannel-7e48e30f.js +0 -6
- package/groupChannel-7e48e30f.js.map +0 -1
- package/index-e647d770.js.map +0 -1
- package/openChannel-4de8ae5b.js +0 -5246
- package/openChannel-4de8ae5b.js.map +0 -1
- package/stringSet-adf0eb59.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModerationPanel.js","sources":["../../../src/smart-components/ChannelSettings/components/ModerationPanel/OperatorsModal.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/AddOperatorsModal.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/OperatorList.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/BannedUsersModal.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/BannedUserList.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/MutedMembersModal.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/MutedMemberList.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface Props { onCancel?(): void }\n\nexport default function OperatorsModal({ onCancel }: Props): ReactElement {\n const [operators, setOperators] = useState([]);\n const [operatorQuery, setOperatorQuery] = useState(null);\n\n const { channel } = useChannelSettingsContext();\n const state = useSendbirdStateContext();\n const currentUser = state?.config?.userId;\n\n useEffect(() => {\n const operatorListQuery = channel?.createOperatorListQuery({\n limit: 20,\n });\n operatorListQuery.next().then((operators) => {\n setOperators(operators);\n });\n setOperatorQuery(operatorListQuery);\n }, [])\n return (\n <div>\n <Modal\n hideFooter\n titleText=\"All operators\"\n onCancel={onCancel}\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = operatorQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n operatorQuery.next().then((o) => {\n setOperators([\n ...operators,\n ...o,\n ])\n });\n }\n }}\n >\n { operators.map((member) => (\n <UserListItem\n currentUser={currentUser}\n user={member}\n key={member.userId}\n action={({ parentRef, actionRef }) => (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.removeOperators([member.userId]).then(() => {\n setOperators(operators.filter(({ userId }) => {\n return userId !== member.userId;\n }));\n });\n closeDropdown();\n }}\n >\n Dismiss operator\n </MenuItem>\n </MenuItems>\n )}\n />\n )}\n />\n ))}\n </div>\n </Modal>\n </div>\n )\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Modal from '../../../../ui/Modal';\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport { Type as ButtonType } from '../../../../ui/Button/type';\nimport UserListItem from '../../../../ui/UserListItem';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\ninterface Props {\n onCancel(): void;\n onSubmit(members: Array<string>): void;\n}\n\nexport default function AddOperatorsModal({\n onCancel,\n onSubmit,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [selectedMembers, setSelectedMembers] = useState({});\n const [memberQuery, setMemberQuery] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n\n const { channel } = useChannelSettingsContext();\n\n useEffect(() => {\n const memberListQuery = channel?.createMemberListQuery({\n limit: 20,\n });\n memberListQuery.next().then((members) => {\n setMembers(members);\n });\n setMemberQuery(memberListQuery);\n }, [])\n\n const selectedCount = Object.keys(selectedMembers).filter((m) => selectedMembers[m]).length;\n return (\n <div>\n <Modal\n type={ButtonType.PRIMARY}\n submitText=\"Add\"\n onCancel={onCancel}\n onSubmit={() => {\n const members = Object.keys(selectedMembers).filter((m) => selectedMembers[m]);\n channel?.addOperators(members).then(() => {\n onSubmit(members);\n })\n }}\n titleText=\"Select members\"\n >\n <Label\n color={(selectedCount > 0) ? LabelColors.PRIMARY : LabelColors.ONBACKGROUND_3}\n type={LabelTypography.CAPTION_1}\n >\n {`${selectedCount} ${stringSet.MODAL__INVITE_MEMBER__SELECTEC}`}\n </Label>\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n if (hasNext && fetchMore) {\n memberQuery.next().then((o) => {\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n <UserListItem\n checkBox\n checked={selectedMembers[member.userId]}\n onChange={\n (event) => {\n const modifiedSelectedMembers = {\n ...selectedMembers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedMembers[event.target.id];\n }\n setSelectedMembers(modifiedSelectedMembers);\n }\n }\n user={member}\n key={member.userId}\n />\n ))}\n </div>\n </Modal>\n </div>\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n useContext,\n} from 'react';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport UserListItem from '../UserListItem';\nimport OperatorsModal from './OperatorsModal';\nimport AddOperatorsModal from './AddOperatorsModal';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\nexport const OperatorList = (): ReactElement => {\n const [operators, setOperators] = useState([]);\n const [showMore, setShowMore] = useState(false);\n const [showAdd, setShowAdd] = useState(false);\n const [hasNext, setHasNext] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n const state = useSendbirdStateContext();\n const { channel } = useChannelSettingsContext();\n\n const userId = state?.config?.userId;\n\n useEffect(() => {\n if (!channel) {\n setOperators([]);\n return;\n }\n\n const operatorListQuery = channel?.createOperatorListQuery({\n limit: 10,\n });\n operatorListQuery.next().then((operators) => {\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n }, [channel]);\n\n const refershList = useCallback(\n () => {\n if (!channel) {\n setOperators([]);\n return;\n }\n const operatorListQuery = channel?.createOperatorListQuery({\n limit: 10,\n });\n operatorListQuery.next().then((operators) => {\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n },\n [channel],\n );\n\n return (\n <>\n {\n operators.map((operator) => (\n <UserListItem\n key={operator.userId}\n user={operator}\n currentUser={userId}\n action={({ actionRef, parentRef }) => {\n return (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.removeOperators([operator.userId]).then(() => {\n setOperators(operators.filter(({ userId }) => {\n return userId !== operator.userId;\n }))\n });\n closeDropdown();\n }}\n >\n Dismiss operator\n </MenuItem>\n </MenuItems>\n )}\n />\n );\n }}\n />\n ))\n }\n <div\n className=\"sendbird-channel-settings-accordion__footer\"\n >\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowAdd(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ADD}\n </Button>\n {\n hasNext && (\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowMore(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ALL}\n </Button>\n )\n }\n </div>\n {\n showMore && (\n <OperatorsModal onCancel={() => {\n setShowMore(false);\n refershList();\n }} />\n )\n }\n {\n showAdd && (\n <AddOperatorsModal\n onCancel={() => setShowAdd(false)}\n onSubmit={() => {\n refershList();\n setShowAdd(false);\n }}\n />\n )\n }\n </>\n );\n}\n\nexport default OperatorList;\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport { noop } from '../../../../utils/utils';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function BannedUsersModal({\n onCancel,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n const { channel } = useChannelSettingsContext();\n\n useEffect(() => {\n const bannedUserListQuery = channel?.createBannedUserListQuery();\n bannedUserListQuery.next().then((users) => {\n setMembers(users);\n });\n setMemberQuery(bannedUserListQuery);\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n onCancel={() => onCancel()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next().then((o) => {\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n <UserListItem\n user={member}\n key={member.userId}\n action={({ parentRef, actionRef }) => (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.unbanUser(member).then(() => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unban\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n }\n />\n ))}\n </div>\n </Modal>\n </div>\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport UserListItem from '../UserListItem';\nimport BannedUsersModal from './BannedUsersModal';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\nexport const BannedMemberList = (): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n const { channel } = useChannelSettingsContext();\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel?.createBannedUserListQuery();\n bannedUserListQuery.next().then((users) => {\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel?.createBannedUserListQuery();\n bannedUserListQuery.next().then((users) => {\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n <UserListItem\n key={member.userId}\n user={member}\n action={({ actionRef, parentRef }) => {\n return (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.unbanUser(member).then(() => {\n closeDropdown();\n refreshList();\n })\n }}\n >\n Unban\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n }}\n />\n ))\n }\n {\n members && members.length === 0 && (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n No banned members yet\n </Label>\n )\n }\n {\n hasNext && (\n <div\n className=\"sendbird-channel-settings-accordion__footer\"\n >\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowModal(true);\n }}\n >\n All banned members\n </Button>\n </div>\n )\n }\n {\n showModal && (\n <BannedUsersModal\n onCancel={() => {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n </>\n );\n}\n\n\nexport default BannedMemberList;\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function MutedMembersModal({\n onCancel,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n const { channel } = useChannelSettingsContext();\n const state = useSendbirdStateContext();\n const currentUser = state?.config?.userId;\n\n useEffect(() => {\n const memberUserListQuery = channel?.createMemberListQuery({\n limit: 10,\n // @ts-ignore\n mutedMemberFilter: 'muted',\n });\n memberUserListQuery.next().then((members) => {\n setMembers(members);\n });\n setMemberQuery(memberUserListQuery);\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n onCancel={() => onCancel()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next().then((o) => {\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n <UserListItem\n currentUser={currentUser}\n user={member}\n key={member.userId}\n action={({ actionRef, parentRef }) => (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.unmuteUser(member).then(() => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unmute\n </MenuItem>\n </MenuItems>\n )}\n />\n )}\n />\n ))}\n </div>\n </Modal>\n </div>\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport UserListItem from '../UserListItem';\nimport MutedMembersModal from './MutedMembersModal';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\n\nexport const MutedMemberList = (): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n const { channel } = useChannelSettingsContext();\n const state = useSendbirdStateContext();\n const currentUser = state?.config?.userId;\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel?.createMemberListQuery({\n limit: 10,\n // @ts-ignore\n mutedMemberFilter: 'muted',\n });\n memberUserListQuery.next().then((members) => {\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel?.createMemberListQuery({\n limit: 10,\n // @ts-ignore\n mutedMemberFilter: 'muted',\n });\n memberUserListQuery.next().then((members) => {\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n <UserListItem\n key={member.userId}\n user={member}\n currentUser={currentUser}\n action={({ actionRef, parentRef }) => {\n return (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n closeDropdown={closeDropdown}\n openLeft\n parentContainRef={parentRef}\n parentRef={actionRef} // for catching location(x, y) of MenuItems\n >\n <MenuItem\n onClick={() => {\n channel?.unmuteUser(member).then(() => {\n refreshList();\n closeDropdown();\n })\n }}\n >\n Unmute\n </MenuItem>\n </MenuItems>\n )}\n />\n );\n }\n }\n />\n ))\n }\n {\n members && members.length === 0 && (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n No muted members yet\n </Label>\n )\n }\n {\n hasNext && (\n <div\n className=\"sendbird-channel-settings-accordion__footer\"\n >\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowModal(true);\n }}\n >\n All muted members\n </Button>\n </div>\n )\n }\n {\n showModal && (\n <MutedMembersModal\n onCancel={() => {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n </>\n );\n}\n\nexport default MutedMemberList;\n","import './admin-panel.scss';\nimport React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Accordion, { AccordionGroup } from '../../../../ui/Accordion';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Badge from '../../../../ui/Badge';\n\nimport OperatorList from './OperatorList';\nimport MemberList from './MemberList';\nimport BannedMemberList from './BannedUserList';\nimport MutedMemberList from './MutedMemberList';\n\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\nconst kFormatter = (num: number): string|number => {\n return Math.abs(num) > 999\n ? `${(Math.abs(num)/1000).toFixed(1)}K`\n : num;\n}\n\nexport default function AdminPannel(): ReactElement {\n const [frozen, setFrozen] = useState(false);\n\n const { stringSet } = useContext(LocalizationContext);\n const { channel } = useChannelSettingsContext();\n\n\n // work around for\n // https://sendbird.slack.com/archives/G01290GCDCN/p1595922832000900\n // SDK bug - after frozen/unfrozen myRole becomes \"none\"\n useEffect(() => {\n setFrozen(channel?.isFrozen);\n }, [channel]);\n\n return (\n <AccordionGroup className=\"sendbird-channel-settings__operator\">\n <Accordion\n className=\"sendbird-channel-settings__operators-list\"\n id=\"operators\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.OPERATOR}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <OperatorList />\n </>\n )}\n />\n <Accordion\n className=\"sendbird-channel-settings__members-list\"\n id=\"members\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__TITLE}\n </Label>\n <Badge count={kFormatter(channel?.memberCount)} />\n </>\n )}\n renderContent={() => (\n <>\n <MemberList />\n </>\n )}\n />\n {\n // No muted members in broadcast channel\n !channel?.isBroadcast && (\n <Accordion\n id=\"mutedMembers\"\n className=\"sendbird-channel-settings__muted-members-list\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MUTE}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__MUTED_MEMBERS__TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <MutedMemberList />\n </>\n )}\n />\n )\n }\n <Accordion\n className=\"sendbird-channel-settings__banned-members-list\"\n id=\"bannedUsers\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.BAN}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__BANNED_MEMBERS__TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <BannedMemberList />\n </>\n )}\n />\n {\n // cannot freeze broadcast channel\n !channel?.isBroadcast && (\n <div className=\"sendbird-channel-settings__freeze\">\n <Icon\n type={IconTypes.FREEZE}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__FREEZE_CHANNEL}\n </Label>\n <div className=\"sendbird-channel-settings__frozen-icon\">\n {\n frozen\n ? (\n <Icon\n onClick={() => {\n channel?.unfreeze().then(() => {\n setFrozen(false);\n });\n }}\n type={IconTypes.TOGGLE_ON}\n fillColor={IconColors.PRIMARY}\n width={44}\n height={24}\n />\n )\n : (\n <Icon\n onClick={() => {\n channel?.freeze().then(() => {\n setFrozen(true);\n });\n }}\n type={IconTypes.TOGGLE_OFF}\n fillColor={IconColors.PRIMARY}\n width={44}\n height={24}\n />\n )\n }\n </div>\n </div>\n )\n }\n </AccordionGroup>\n );\n}\n"],"names":["OperatorsModal","_a","onCancel","_c","useState","operators","setOperators","_d","operatorQuery","setOperatorQuery","channel","useChannelSettingsContext","state","useSendbirdStateContext","currentUser","config","userId","useEffect","operatorListQuery","createOperatorListQuery","limit","next","then","React","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","o","map","member","parentRef","actionRef","toggleDropdown","IconTypes","MORE","IconColors","CONTENT_INVERSE","closeDropdown","removeOperators","filter","AddOperatorsModal","onSubmit","_b","members","setMembers","selectedMembers","setSelectedMembers","memberQuery","setMemberQuery","stringSet","useContext","LocalizationContext","memberListQuery","createMemberListQuery","selectedCount","Object","keys","m","length","ButtonType","PRIMARY","addOperators","LabelColors","ONBACKGROUND_3","LabelTypography","CAPTION_1","MODAL__INVITE_MEMBER__SELECTEC","event","modifiedSelectedMembers","id","checked","OperatorList","showMore","setShowMore","showAdd","setShowAdd","_e","setHasNext","refershList","useCallback","operator","UserListItem","ButtonTypes","SECONDARY","ButtonSizes","SMALL","CHANNEL_SETTING__OPERATORS__TITLE_ADD","CHANNEL_SETTING__OPERATORS__TITLE_ALL","BannedUsersModal","bannedUserListQuery","createBannedUserListQuery","users","noop","unbanUser","BannedMemberList","showModal","setShowModal","refreshList","SUBTITLE_2","MutedMembersModal","memberUserListQuery","mutedMemberFilter","unmuteUser","MutedMemberList","kFormatter","num","Math","abs","toFixed","AdminPannel","frozen","setFrozen","isFrozen","OPERATOR","SUBTITLE_1","ONBACKGROUND_1","CHANNEL_SETTING__OPERATORS__TITLE","MEMBERS","CHANNEL_SETTING__MEMBERS__TITLE","memberCount","isBroadcast","MUTE","CHANNEL_SETTING__MUTED_MEMBERS__TITLE","BAN","CHANNEL_SETTING__BANNED_MEMBERS__TITLE","FREEZE","CHANNEL_SETTING__FREEZE_CHANNEL","unfreeze","TOGGLE_ON","freeze","TOGGLE_OFF"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModerationPanel.js","sources":["../../../src/smart-components/ChannelSettings/components/ModerationPanel/OperatorsModal.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/AddOperatorsModal.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/OperatorList.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/BannedUsersModal.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/BannedUserList.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/MutedMembersModal.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/MutedMemberList.tsx","../../../src/smart-components/ChannelSettings/components/ModerationPanel/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useContext,\n useEffect,\n useState,\n} from 'react'\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\ninterface Props { onCancel?(): void }\n\nexport default function OperatorsModal({ onCancel }: Props): ReactElement {\n const [operators, setOperators] = useState([]);\n const [operatorQuery, setOperatorQuery] = useState(null);\n\n const { channel } = useChannelSettingsContext();\n const state = useSendbirdStateContext();\n const currentUser = state?.config?.userId;\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n const operatorListQuery = channel?.createOperatorListQuery({\n limit: 20,\n });\n operatorListQuery.next().then((operators) => {\n setOperators(operators);\n });\n setOperatorQuery(operatorListQuery);\n }, [])\n return (\n <div>\n <Modal\n hideFooter\n titleText=\"All operators\"\n onCancel={onCancel}\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = operatorQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n operatorQuery.next().then((o) => {\n setOperators([\n ...operators,\n ...o,\n ])\n });\n }\n }}\n >\n { operators.map((member) => (\n <UserListItem\n currentUser={currentUser}\n user={member}\n key={member.userId}\n action={({ parentRef, actionRef }) => (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.removeOperators([member.userId]).then(() => {\n setOperators(operators.filter(({ userId }) => {\n return userId !== member.userId;\n }));\n });\n closeDropdown();\n }}\n >\n {stringSet.CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR}\n </MenuItem>\n </MenuItems>\n )}\n />\n )}\n />\n ))}\n </div>\n </Modal>\n </div>\n )\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Modal from '../../../../ui/Modal';\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport { Type as ButtonType } from '../../../../ui/Button/type';\nimport UserListItem from '../../../../ui/UserListItem';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\nimport { OperatorFilter } from '@sendbird/chat/groupChannel';\n\ninterface Props {\n onCancel(): void;\n onSubmit(members: Array<string>): void;\n}\n\nexport default function AddOperatorsModal({\n onCancel,\n onSubmit,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [selectedMembers, setSelectedMembers] = useState({});\n const [memberQuery, setMemberQuery] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n\n const { channel } = useChannelSettingsContext();\n\n useEffect(() => {\n const memberListQuery = channel?.createMemberListQuery({\n operatorFilter: OperatorFilter.NONOPERATOR,\n limit: 20,\n });\n memberListQuery.next().then((members) => {\n setMembers(members);\n });\n setMemberQuery(memberListQuery);\n }, [])\n\n const selectedCount = Object.keys(selectedMembers).filter((m) => selectedMembers[m]).length;\n return (\n <div>\n <Modal\n type={ButtonType.PRIMARY}\n submitText=\"Add\"\n onCancel={onCancel}\n onSubmit={() => {\n const members = Object.keys(selectedMembers).filter((m) => selectedMembers[m]);\n channel?.addOperators(members).then(() => {\n onSubmit(members);\n })\n }}\n titleText=\"Select members\"\n >\n <Label\n color={(selectedCount > 0) ? LabelColors.PRIMARY : LabelColors.ONBACKGROUND_3}\n type={LabelTypography.CAPTION_1}\n >\n {`${selectedCount} ${stringSet.MODAL__INVITE_MEMBER__SELECTEC}`}\n </Label>\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n if (hasNext && fetchMore) {\n memberQuery.next().then((o) => {\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n {\n members.map((member) => (\n <UserListItem\n checkBox\n checked={selectedMembers[member.userId]}\n isOperator={member?.role === 'operator'}\n disabled={member?.role === 'operator'}\n onChange={\n (event) => {\n const modifiedSelectedMembers = {\n ...selectedMembers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedMembers[event.target.id];\n }\n setSelectedMembers(modifiedSelectedMembers);\n }\n }\n user={member}\n key={member.userId}\n />\n ))\n }\n </div>\n </Modal>\n </div>\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n useContext,\n} from 'react';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport UserListItem from '../UserListItem';\nimport OperatorsModal from './OperatorsModal';\nimport AddOperatorsModal from './AddOperatorsModal';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\nexport const OperatorList = (): ReactElement => {\n const [operators, setOperators] = useState([]);\n const [showMore, setShowMore] = useState(false);\n const [showAdd, setShowAdd] = useState(false);\n const [hasNext, setHasNext] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n const state = useSendbirdStateContext();\n const { channel } = useChannelSettingsContext();\n\n const userId = state?.config?.userId;\n\n useEffect(() => {\n if (!channel) {\n setOperators([]);\n return;\n }\n\n const operatorListQuery = channel?.createOperatorListQuery({\n limit: 10,\n });\n operatorListQuery.next().then((operators) => {\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(\n () => {\n if (!channel) {\n setOperators([]);\n return;\n }\n const operatorListQuery = channel?.createOperatorListQuery({\n limit: 10,\n });\n operatorListQuery.next().then((operators) => {\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n },\n [channel],\n );\n\n return (\n <>\n {\n operators.map((operator) => (\n <UserListItem\n key={operator.userId}\n user={operator}\n currentUser={userId}\n action={({ actionRef }) => {\n return (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.removeOperators([operator.userId]).then(() => {\n setOperators(operators.filter(({ userId }) => (\n userId !== operator.userId\n )));\n });\n closeDropdown();\n }}\n >\n {stringSet.CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR}\n </MenuItem>\n </MenuItems>\n )}\n />\n );\n }}\n />\n ))\n }\n <div\n className=\"sendbird-channel-settings-accordion__footer\"\n >\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowAdd(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ADD}\n </Button>\n {\n hasNext && (\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowMore(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ALL}\n </Button>\n )\n }\n </div>\n {\n showMore && (\n <OperatorsModal onCancel={() => {\n setShowMore(false);\n refreshList();\n }} />\n )\n }\n {\n showAdd && (\n <AddOperatorsModal\n onCancel={() => setShowAdd(false)}\n onSubmit={() => {\n refreshList();\n setShowAdd(false);\n }}\n />\n )\n }\n </>\n );\n}\n\nexport default OperatorList;\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport { noop } from '../../../../utils/utils';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function BannedUsersModal({\n onCancel,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n const { channel } = useChannelSettingsContext();\n\n useEffect(() => {\n const bannedUserListQuery = channel?.createBannedUserListQuery();\n bannedUserListQuery.next().then((users) => {\n setMembers(users);\n });\n setMemberQuery(bannedUserListQuery);\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n onCancel={() => onCancel()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next().then((o) => {\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n <UserListItem\n user={member}\n key={member.userId}\n action={({ parentRef, actionRef }) => (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.unbanUser(member).then(() => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unban\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n }\n />\n ))}\n </div>\n </Modal>\n </div>\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport UserListItem from '../UserListItem';\nimport BannedUsersModal from './BannedUsersModal';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\nexport const BannedMemberList = (): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n const { channel } = useChannelSettingsContext();\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel?.createBannedUserListQuery();\n bannedUserListQuery.next().then((users) => {\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel?.createBannedUserListQuery();\n bannedUserListQuery.next().then((users) => {\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n <UserListItem\n key={member.userId}\n user={member}\n action={({ actionRef, parentRef }) => {\n return (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.unbanUser(member).then(() => {\n closeDropdown();\n refreshList();\n })\n }}\n >\n Unban\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n }}\n />\n ))\n }\n {\n members && members.length === 0 && (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n No banned members yet\n </Label>\n )\n }\n {\n hasNext && (\n <div\n className=\"sendbird-channel-settings-accordion__footer\"\n >\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowModal(true);\n }}\n >\n All banned members\n </Button>\n </div>\n )\n }\n {\n showModal && (\n <BannedUsersModal\n onCancel={() => {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n </>\n );\n}\n\n\nexport default BannedMemberList;\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function MutedMembersModal({\n onCancel,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n const { channel } = useChannelSettingsContext();\n const state = useSendbirdStateContext();\n const currentUser = state?.config?.userId;\n\n useEffect(() => {\n const memberUserListQuery = channel?.createMemberListQuery({\n limit: 10,\n // @ts-ignore\n mutedMemberFilter: 'muted',\n });\n memberUserListQuery.next().then((members) => {\n setMembers(members);\n });\n setMemberQuery(memberUserListQuery);\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n onCancel={() => onCancel()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next().then((o) => {\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n <UserListItem\n currentUser={currentUser}\n user={member}\n key={member.userId}\n action={({ actionRef, parentRef }) => (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.unmuteUser(member).then(() => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unmute\n </MenuItem>\n </MenuItems>\n )}\n />\n )}\n />\n ))}\n </div>\n </Modal>\n </div>\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport UserListItem from '../UserListItem';\nimport MutedMembersModal from './MutedMembersModal';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\n\nexport const MutedMemberList = (): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n const { channel } = useChannelSettingsContext();\n const state = useSendbirdStateContext();\n const currentUser = state?.config?.userId;\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel?.createMemberListQuery({\n limit: 10,\n // @ts-ignore\n mutedMemberFilter: 'muted',\n });\n memberUserListQuery.next().then((members) => {\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel?.createMemberListQuery({\n limit: 10,\n // @ts-ignore\n mutedMemberFilter: 'muted',\n });\n memberUserListQuery.next().then((members) => {\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n <UserListItem\n key={member.userId}\n user={member}\n currentUser={currentUser}\n action={({ actionRef, parentRef }) => {\n return (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n closeDropdown={closeDropdown}\n openLeft\n parentContainRef={parentRef}\n parentRef={actionRef} // for catching location(x, y) of MenuItems\n >\n <MenuItem\n onClick={() => {\n channel?.unmuteUser(member).then(() => {\n refreshList();\n closeDropdown();\n })\n }}\n >\n Unmute\n </MenuItem>\n </MenuItems>\n )}\n />\n );\n }\n }\n />\n ))\n }\n {\n members && members.length === 0 && (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n No muted members yet\n </Label>\n )\n }\n {\n hasNext && (\n <div\n className=\"sendbird-channel-settings-accordion__footer\"\n >\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowModal(true);\n }}\n >\n All muted members\n </Button>\n </div>\n )\n }\n {\n showModal && (\n <MutedMembersModal\n onCancel={() => {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n </>\n );\n}\n\nexport default MutedMemberList;\n","import './admin-panel.scss';\nimport React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Accordion, { AccordionGroup } from '../../../../ui/Accordion';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Badge from '../../../../ui/Badge';\n\nimport OperatorList from './OperatorList';\nimport MemberList from './MemberList';\nimport BannedUserList from './BannedUserList';\nimport MutedMemberList from './MutedMemberList';\n\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\nconst kFormatter = (num: number): string|number => {\n return Math.abs(num) > 999\n ? `${(Math.abs(num)/1000).toFixed(1)}K`\n : num;\n}\n\nexport default function AdminPannel(): ReactElement {\n const [frozen, setFrozen] = useState(false);\n\n const { stringSet } = useContext(LocalizationContext);\n const { channel } = useChannelSettingsContext();\n\n\n // work around for\n // https://sendbird.slack.com/archives/G01290GCDCN/p1595922832000900\n // SDK bug - after frozen/unfrozen myRole becomes \"none\"\n useEffect(() => {\n setFrozen(channel?.isFrozen);\n }, [channel]);\n\n return (\n <AccordionGroup className=\"sendbird-channel-settings__operator\">\n <Accordion\n className=\"sendbird-channel-settings__operators-list\"\n id=\"operators\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.OPERATOR}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <OperatorList />\n </>\n )}\n />\n <Accordion\n className=\"sendbird-channel-settings__members-list\"\n id=\"members\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__TITLE}\n </Label>\n <Badge count={kFormatter(channel?.memberCount)} />\n </>\n )}\n renderContent={() => (\n <>\n <MemberList />\n </>\n )}\n />\n {\n // No muted members in broadcast channel\n !channel?.isBroadcast && (\n <Accordion\n id=\"mutedMembers\"\n className=\"sendbird-channel-settings__muted-members-list\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MUTE}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__MUTED_MEMBERS__TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <MutedMemberList />\n </>\n )}\n />\n )\n }\n <Accordion\n className=\"sendbird-channel-settings__banned-members-list\"\n id=\"bannedUsers\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.BAN}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__BANNED_MEMBERS__TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <BannedUserList />\n </>\n )}\n />\n {\n // cannot freeze broadcast channel\n !channel?.isBroadcast && (\n <div className=\"sendbird-channel-settings__freeze\">\n <Icon\n type={IconTypes.FREEZE}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__FREEZE_CHANNEL}\n </Label>\n <div className=\"sendbird-channel-settings__frozen-icon\">\n {\n frozen\n ? (\n <Icon\n onClick={() => {\n channel?.unfreeze().then(() => {\n setFrozen(false);\n });\n }}\n type={IconTypes.TOGGLE_ON}\n fillColor={IconColors.PRIMARY}\n width={44}\n height={24}\n />\n )\n : (\n <Icon\n onClick={() => {\n channel?.freeze().then(() => {\n setFrozen(true);\n });\n }}\n type={IconTypes.TOGGLE_OFF}\n fillColor={IconColors.PRIMARY}\n width={44}\n height={24}\n />\n )\n }\n </div>\n </div>\n )\n }\n </AccordionGroup>\n );\n}\n"],"names":["OperatorsModal","_a","onCancel","_c","useState","operators","setOperators","_d","operatorQuery","setOperatorQuery","channel","useChannelSettingsContext","state","useSendbirdStateContext","currentUser","config","userId","stringSet","useContext","LocalizationContext","useEffect","operatorListQuery","createOperatorListQuery","limit","next","then","React","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","o","map","member","parentRef","actionRef","toggleDropdown","IconTypes","MORE","IconColors","CONTENT_INVERSE","closeDropdown","removeOperators","filter","CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","AddOperatorsModal","onSubmit","_b","members","setMembers","selectedMembers","setSelectedMembers","memberQuery","setMemberQuery","memberListQuery","createMemberListQuery","operatorFilter","OperatorFilter","NONOPERATOR","selectedCount","Object","keys","m","length","ButtonType","PRIMARY","addOperators","LabelColors","ONBACKGROUND_3","LabelTypography","CAPTION_1","MODAL__INVITE_MEMBER__SELECTEC","role","event","modifiedSelectedMembers","id","checked","OperatorList","showMore","setShowMore","showAdd","setShowAdd","_e","setHasNext","refreshList","useCallback","operator","UserListItem","ButtonTypes","SECONDARY","ButtonSizes","SMALL","CHANNEL_SETTING__OPERATORS__TITLE_ADD","CHANNEL_SETTING__OPERATORS__TITLE_ALL","BannedUsersModal","bannedUserListQuery","createBannedUserListQuery","users","noop","unbanUser","BannedMemberList","showModal","setShowModal","SUBTITLE_2","MutedMembersModal","memberUserListQuery","mutedMemberFilter","unmuteUser","MutedMemberList","kFormatter","num","Math","abs","toFixed","AdminPannel","frozen","setFrozen","isFrozen","OPERATOR","SUBTITLE_1","ONBACKGROUND_1","CHANNEL_SETTING__OPERATORS__TITLE","MEMBERS","CHANNEL_SETTING__MEMBERS__TITLE","memberCount","isBroadcast","MUTE","CHANNEL_SETTING__MUTED_MEMBERS__TITLE","BAN","CHANNEL_SETTING__BANNED_MEMBERS__TITLE","BannedUserList","FREEZE","CHANNEL_SETTING__FREEZE_CHANNEL","unfreeze","TOGGLE_ON","freeze","TOGGLE_OFF"],"mappings":"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"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { a as __spreadArray } from '../../tslib.es6-
|
|
1
|
+
import { a as __spreadArray } from '../../tslib.es6-70020af6.js';
|
|
2
2
|
import React__default, { useRef, useContext } from 'react';
|
|
3
|
-
import { a as LocalizationContext } from '../../LocalizationContext-
|
|
4
|
-
import { a as UserProfileContext } from '../../UserProfileContext-
|
|
3
|
+
import { a as LocalizationContext } from '../../LocalizationContext-9ecb0a32.js';
|
|
4
|
+
import { a as UserProfileContext } from '../../UserProfileContext-c1834696.js';
|
|
5
5
|
import Avatar from '../../ui/Avatar.js';
|
|
6
6
|
import MutedAvatarOverlay from '../../ui/MutedAvatarOverlay.js';
|
|
7
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-
|
|
7
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-3b997158.js';
|
|
8
8
|
import ConnectedUserProfile from '../../ui/UserProfile.js';
|
|
9
9
|
import ContextMenu, { MenuItems } from '../../ui/ContextMenu.js';
|
|
10
|
-
import '../../stringSet-
|
|
11
|
-
import '../../index-
|
|
10
|
+
import '../../stringSet-8f56c095.js';
|
|
11
|
+
import '../../index-526e1c2f.js';
|
|
12
12
|
import 'prop-types';
|
|
13
13
|
import '../../ui/ImageRenderer.js';
|
|
14
|
-
import '../../_rollupPluginBabelHelpers-
|
|
14
|
+
import '../../_rollupPluginBabelHelpers-31a1bb40.js';
|
|
15
15
|
import '../../ui/Icon.js';
|
|
16
|
-
import '../../uuid-
|
|
16
|
+
import '../../uuid-118d6514.js';
|
|
17
17
|
import '../../withSendbird.js';
|
|
18
18
|
import '../../sendbirdSelectors.js';
|
|
19
|
-
import '../../topics-
|
|
20
|
-
import '../../utils-
|
|
21
|
-
import '../../index-
|
|
22
|
-
import '../../index-
|
|
19
|
+
import '../../topics-27c99fc7.js';
|
|
20
|
+
import '../../utils-e5523522.js';
|
|
21
|
+
import '../../index-64bbdf03.js';
|
|
22
|
+
import '../../index-8cd47fe5.js';
|
|
23
23
|
import 'react-dom';
|
|
24
24
|
import '../../ui/SortByRow.js';
|
|
25
25
|
|
|
@@ -84,7 +84,7 @@ var UserListItem = function UserListItem(_a) {
|
|
|
84
84
|
className: "".concat(COMPONENT_NAME, "__title"),
|
|
85
85
|
type: LabelTypography.SUBTITLE_1,
|
|
86
86
|
color: LabelColors.ONBACKGROUND_1
|
|
87
|
-
}, user.nickname || stringSet.NO_NAME, currentUser === user.userId &&
|
|
87
|
+
}, user.nickname || stringSet.NO_NAME, currentUser === user.userId && stringSet.CHANNEL_SETTING__MEMBERS__YOU), // if there is now nickname, display userId
|
|
88
88
|
!user.nickname && /*#__PURE__*/React__default.createElement(Label, {
|
|
89
89
|
className: "".concat(COMPONENT_NAME, "__subtitle"),
|
|
90
90
|
type: LabelTypography.CAPTION_3,
|
|
@@ -93,7 +93,7 @@ var UserListItem = function UserListItem(_a) {
|
|
|
93
93
|
className: "".concat(COMPONENT_NAME, "__operator"),
|
|
94
94
|
type: LabelTypography.SUBTITLE_2,
|
|
95
95
|
color: LabelColors.ONBACKGROUND_2
|
|
96
|
-
},
|
|
96
|
+
}, stringSet.CHANNEL_SETTING__MEMBERS__OPERATOR), action && /*#__PURE__*/React__default.createElement("div", {
|
|
97
97
|
ref: actionRef,
|
|
98
98
|
className: "".concat(COMPONENT_NAME, "__action")
|
|
99
99
|
}, action({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserListItem.js","sources":["../../../src/smart-components/ChannelSettings/components/UserListItem/index.tsx"],"sourcesContent":["import React, { ReactElement, useRef, useContext } from 'react';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Avatar from '../../../../ui/Avatar/index';\nimport MutedAvatarOverlay from '../../../../ui/Avatar/MutedAvatarOverlay';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\n\nimport './user-list-item.scss';\n\nconst COMPONENT_NAME = 'sendbird-user-list-item--small';\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n parentRef: React.RefObject<HTMLInputElement>;\n}\n\ntype CustomUser =
|
|
1
|
+
{"version":3,"file":"UserListItem.js","sources":["../../../src/smart-components/ChannelSettings/components/UserListItem/index.tsx"],"sourcesContent":["import React, { ReactElement, useRef, useContext } from 'react';\nimport { User } from '@sendbird/chat';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Avatar from '../../../../ui/Avatar/index';\nimport MutedAvatarOverlay from '../../../../ui/Avatar/MutedAvatarOverlay';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\n\nimport './user-list-item.scss';\n\nconst COMPONENT_NAME = 'sendbird-user-list-item--small';\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n parentRef: React.RefObject<HTMLInputElement>;\n}\n\ntype CustomUser = User & {\n isMuted: boolean;\n role: string;\n};\n\ninterface Props {\n user: CustomUser;\n currentUser?: string;\n className?: string;\n action?(props: ActionProps): ReactElement;\n}\n\nconst UserListItem = ({\n user,\n className,\n currentUser,\n action,\n}: Props): ReactElement => {\n const actionRef = useRef(null);\n const parentRef = useRef(null);\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const injectingClassNames = Array.isArray(className) ? className : [className];\n return (\n <div\n ref={parentRef}\n className={[\n COMPONENT_NAME, ...injectingClassNames,\n ].join(' ')}\n >\n {\n user.isMuted && (\n <MutedAvatarOverlay />\n )\n }\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n className={`${COMPONENT_NAME}__avatar`}\n src={user.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n openLeft\n parentRef={avatarRef}\n // for catching location(x, y) of MenuItems\n parentContainRef={avatarRef}\n // for toggling more options(menus & reactions)\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {\n renderUserProfile\n ? renderUserProfile({\n user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n <UserProfile\n user={user}\n currentUserId={currentUser}\n onSuccess={closeDropdown}\n />\n )\n }\n </MenuItems>\n )}\n />\n <Label\n className={`${COMPONENT_NAME}__title`}\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n stringSet.CHANNEL_SETTING__MEMBERS__YOU\n )\n }\n </Label>\n { // if there is now nickname, display userId\n !user.nickname && (\n <Label\n className={`${COMPONENT_NAME}__subtitle`}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {user.userId}\n </Label>\n )\n }\n {\n user.role === 'operator' && (\n <Label\n className={`${COMPONENT_NAME}__operator`}\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__OPERATOR}\n </Label>\n )\n }\n {\n action && (\n <div ref={actionRef} className={`${COMPONENT_NAME}__action`}>\n { action({ actionRef, parentRef }) }\n </div>\n )\n }\n </div>\n );\n}\n\nexport default UserListItem;\n"],"names":["COMPONENT_NAME","UserListItem","_a","user","className","currentUser","action","actionRef","useRef","parentRef","avatarRef","stringSet","useContext","LocalizationContext","_b","UserProfileContext","disableUserProfile","renderUserProfile","injectingClassNames","Array","isArray","React","__spreadArray","join","isMuted","toggleDropdown","profileUrl","closeDropdown","paddingTop","paddingBottom","currentUserId","close","UserProfile","LabelTypography","SUBTITLE_1","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","userId","CHANNEL_SETTING__MEMBERS__YOU","CAPTION_3","ONBACKGROUND_2","role","SUBTITLE_2","CHANNEL_SETTING__MEMBERS__OPERATOR"],"mappings":"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"}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
import React__default, { useContext, useState } from 'react';
|
|
2
|
-
import { a as LocalizationContext } from '../../LocalizationContext-
|
|
3
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-
|
|
2
|
+
import { a as LocalizationContext } from '../../LocalizationContext-9ecb0a32.js';
|
|
3
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-3b997158.js';
|
|
4
4
|
import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
|
|
5
5
|
import Badge from '../../ui/Badge.js';
|
|
6
|
-
import { M as MemberList } from '../../MemberList-
|
|
6
|
+
import { M as MemberList } from '../../MemberList-b8d5b0a7.js';
|
|
7
7
|
import { useChannelSettingsContext } from '../context.js';
|
|
8
|
-
import '../../stringSet-
|
|
9
|
-
import '../../index-
|
|
10
|
-
import '../../_rollupPluginBabelHelpers-
|
|
8
|
+
import '../../stringSet-8f56c095.js';
|
|
9
|
+
import '../../index-526e1c2f.js';
|
|
10
|
+
import '../../_rollupPluginBabelHelpers-31a1bb40.js';
|
|
11
11
|
import 'prop-types';
|
|
12
|
-
import '../../index-
|
|
12
|
+
import '../../index-64bbdf03.js';
|
|
13
13
|
import '../../ui/IconButton.js';
|
|
14
14
|
import '../../ui/ContextMenu.js';
|
|
15
|
-
import '../../index-
|
|
16
|
-
import '../../tslib.es6-
|
|
15
|
+
import '../../index-8cd47fe5.js';
|
|
16
|
+
import '../../tslib.es6-70020af6.js';
|
|
17
17
|
import 'react-dom';
|
|
18
18
|
import '../../ui/SortByRow.js';
|
|
19
19
|
import './UserListItem.js';
|
|
20
|
-
import '../../UserProfileContext-
|
|
20
|
+
import '../../UserProfileContext-c1834696.js';
|
|
21
21
|
import '../../ui/Avatar.js';
|
|
22
22
|
import '../../ui/ImageRenderer.js';
|
|
23
|
-
import '../../uuid-
|
|
23
|
+
import '../../uuid-118d6514.js';
|
|
24
24
|
import '../../ui/MutedAvatarOverlay.js';
|
|
25
25
|
import '../../ui/UserProfile.js';
|
|
26
26
|
import '../../withSendbird.js';
|
|
27
27
|
import '../../sendbirdSelectors.js';
|
|
28
|
-
import '../../topics-
|
|
29
|
-
import '../../utils-
|
|
28
|
+
import '../../topics-27c99fc7.js';
|
|
29
|
+
import '../../utils-e5523522.js';
|
|
30
30
|
import '../../ui/Modal.js';
|
|
31
|
-
import '../../index-
|
|
31
|
+
import '../../index-a6ed3522.js';
|
|
32
32
|
import '../../ui/UserListItem.js';
|
|
33
33
|
import '../../ui/Checkbox.js';
|
|
34
34
|
import '../../useSendbirdStateContext.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React__default, { useState, useEffect } from 'react';
|
|
2
2
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
3
|
-
import { U as UserProfileProvider } from '../UserProfileContext-
|
|
4
|
-
import { u as uuidv4 } from '../uuid-
|
|
3
|
+
import { U as UserProfileProvider } from '../UserProfileContext-c1834696.js';
|
|
4
|
+
import { u as uuidv4 } from '../uuid-118d6514.js';
|
|
5
5
|
import '../withSendbird.js';
|
|
6
|
-
import '../_rollupPluginBabelHelpers-
|
|
6
|
+
import '../_rollupPluginBabelHelpers-31a1bb40.js';
|
|
7
7
|
import 'prop-types';
|
|
8
8
|
|
|
9
9
|
var ChannelSettingsContext = /*#__PURE__*/React__default.createContext(undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../src/smart-components/ChannelSettings/context/ChannelSettingsProvider.tsx"],"sourcesContent":["\nimport React, {\n useEffect,\n useState,\n} from 'react';\nimport
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../src/smart-components/ChannelSettings/context/ChannelSettingsProvider.tsx"],"sourcesContent":["\nimport React, {\n useEffect,\n useState,\n} from 'react';\nimport {\n GroupChannel,\n GroupChannelUpdateParams,\n SendbirdGroupChat,\n} from '@sendbird/chat/groupChannel';\n\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { RenderUserProfileProps } from '../../../types';\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport uuidv4 from '../../../utils/uuid';\n\ninterface ApplicationUserListQuery {\n limit?: number;\n userIdsFilter?: Array<string>;\n metaDataKeyFilter?: string;\n metaDataValuesFilter?: Array<string>;\n}\n\ninterface ChannelSettingsQueries {\n applicationUserListQuery?: ApplicationUserListQuery;\n}\n\nexport type ChannelSettingsContextProps = {\n children?: React.ReactNode;\n channelUrl: string;\n className?: string;\n onCloseClick?(): void;\n onChannelModified?(channel: GroupChannel): void;\n onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): GroupChannelUpdateParams;\n queries?: ChannelSettingsQueries;\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;\n disableUserProfile?: boolean;\n}\n\ninterface ChannelSettingsProviderInterface {\n channelUrl: string;\n onCloseClick?(): void;\n onChannelModified?(channel: GroupChannel): void;\n onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): GroupChannelUpdateParams;\n queries?: ChannelSettingsQueries;\n setChannelUpdateId(uniqId: string): void;\n forceUpdateUI(): void;\n channel: GroupChannel;\n invalidChannel: boolean;\n}\n\nconst ChannelSettingsContext = React.createContext<ChannelSettingsProviderInterface|null>(undefined);\n\nconst ChannelSettingsProvider: React.FC<ChannelSettingsContextProps> = (props: ChannelSettingsContextProps) => {\n const {\n children,\n className,\n channelUrl,\n onCloseClick,\n onChannelModified,\n onBeforeUpdateChannel,\n queries,\n } = props;\n\n // fetch store from <SendbirdProvider />\n const globalStore = useSendbirdStateContext();\n const { config, stores } = globalStore;\n const { sdkStore } = stores;\n const { logger } = config;\n\n const { initialized } = sdkStore;\n const sdk = sdkStore?.sdk as SendbirdGroupChat;\n\n // hack to keep track of channel updates by triggering useEffect\n const [channelUpdateId, setChannelUpdateId] = useState(uuidv4());\n const [channel, setChannel] = useState(null);\n const [invalidChannel, setInvalidChannel] = useState(false);\n\n const forceUpdateUI = () => {\n setChannelUpdateId(uuidv4());\n }\n\n useEffect(() => {\n logger.info('ChannelSettings: Setting up');\n if (!channelUrl || !initialized || !sdk) {\n logger.warning('ChannelSettings: Setting up failed', 'No channelUrl or sdk uninitialized');\n setInvalidChannel(false);\n } else {\n if (!sdk || !sdk.groupChannel) {\n logger.warning('ChannelSettings: No GroupChannel');\n return;\n }\n sdk.groupChannel.getChannel(channelUrl).then((groupChannel) => {\n if (!groupChannel) {\n logger.warning('ChannelSettings: Channel not found');\n setInvalidChannel(true);\n } else {\n logger.info('ChannelSettings: Fetched group channel', groupChannel);\n setInvalidChannel(false);\n setChannel(groupChannel);\n }\n });\n }\n }, [channelUrl, initialized, channelUpdateId]);\n\n return (\n <ChannelSettingsContext.Provider value={{\n channelUrl,\n onCloseClick,\n onChannelModified,\n onBeforeUpdateChannel,\n queries,\n setChannelUpdateId,\n forceUpdateUI,\n channel,\n invalidChannel,\n }}>\n <UserProfileProvider\n renderUserProfile={props?.renderUserProfile}\n disableUserProfile={props?.disableUserProfile}\n >\n <div className={`sendbird-channel-settings ${className}`}>\n {children}\n </div>\n </UserProfileProvider>\n </ChannelSettingsContext.Provider>\n );\n}\n\nexport type UseChannelSettingsType = () => ChannelSettingsProviderInterface;\nconst useChannelSettingsContext: UseChannelSettingsType = () => React.useContext(ChannelSettingsContext);\n\nexport {\n ChannelSettingsProvider,\n useChannelSettingsContext,\n};\n"],"names":["ChannelSettingsContext","React","createContext","undefined","ChannelSettingsProvider","props","children","className","channelUrl","onCloseClick","onChannelModified","onBeforeUpdateChannel","queries","globalStore","useSendbirdStateContext","config","stores","sdkStore","logger","initialized","sdk","_a","useState","uuidv4","channelUpdateId","setChannelUpdateId","_b","channel","setChannel","_c","invalidChannel","setInvalidChannel","forceUpdateUI","useEffect","info","warning","groupChannel","getChannel","then","renderUserProfile","disableUserProfile","useChannelSettingsContext","useContext"],"mappings":"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"}
|
package/ChannelSettings.js
CHANGED
|
@@ -3,49 +3,51 @@ import ChannelSettingsUI from './ChannelSettings/components/ChannelSettingsUI.js
|
|
|
3
3
|
import { ChannelSettingsProvider } from './ChannelSettings/context.js';
|
|
4
4
|
import './useSendbirdStateContext.js';
|
|
5
5
|
import './withSendbird.js';
|
|
6
|
-
import './_rollupPluginBabelHelpers-
|
|
7
|
-
import './index-
|
|
6
|
+
import './_rollupPluginBabelHelpers-31a1bb40.js';
|
|
7
|
+
import './index-fe143e10.js';
|
|
8
8
|
import 'prop-types';
|
|
9
9
|
import './ui/Icon.js';
|
|
10
10
|
import './ui/Loader.js';
|
|
11
|
-
import './LocalizationContext-
|
|
12
|
-
import './stringSet-
|
|
13
|
-
import './index-
|
|
14
|
-
import './index-
|
|
11
|
+
import './LocalizationContext-9ecb0a32.js';
|
|
12
|
+
import './stringSet-8f56c095.js';
|
|
13
|
+
import './index-526e1c2f.js';
|
|
14
|
+
import './index-3b997158.js';
|
|
15
15
|
import './ui/IconButton.js';
|
|
16
16
|
import './ChannelSettings/components/ChannelProfile.js';
|
|
17
17
|
import './ui/ChannelAvatar.js';
|
|
18
18
|
import './ui/Avatar.js';
|
|
19
|
-
import './tslib.es6-
|
|
19
|
+
import './tslib.es6-70020af6.js';
|
|
20
20
|
import './ui/ImageRenderer.js';
|
|
21
|
-
import './uuid-
|
|
22
|
-
import './utils-
|
|
21
|
+
import './uuid-118d6514.js';
|
|
22
|
+
import './utils-c7599c37.js';
|
|
23
23
|
import './ui/TextButton.js';
|
|
24
|
-
import './color-
|
|
24
|
+
import './color-0d32d75b.js';
|
|
25
25
|
import './ChannelSettings/components/EditDetailsModal.js';
|
|
26
26
|
import './ui/Modal.js';
|
|
27
27
|
import 'react-dom';
|
|
28
|
-
import './index-
|
|
29
|
-
import './index-
|
|
30
|
-
import './utils-
|
|
28
|
+
import './index-a6ed3522.js';
|
|
29
|
+
import './index-64bbdf03.js';
|
|
30
|
+
import './utils-e5523522.js';
|
|
31
31
|
import './ui/Input.js';
|
|
32
32
|
import './ChannelSettings/components/ModerationPanel.js';
|
|
33
33
|
import './ui/Accordion.js';
|
|
34
34
|
import './ui/AccordionGroup.js';
|
|
35
|
-
import './context-
|
|
35
|
+
import './context-53e8285b.js';
|
|
36
36
|
import './ui/Badge.js';
|
|
37
37
|
import './ui/ContextMenu.js';
|
|
38
|
-
import './index-
|
|
38
|
+
import './index-8cd47fe5.js';
|
|
39
39
|
import './ui/SortByRow.js';
|
|
40
40
|
import './ChannelSettings/components/UserListItem.js';
|
|
41
|
-
import './UserProfileContext-
|
|
41
|
+
import './UserProfileContext-c1834696.js';
|
|
42
42
|
import './ui/MutedAvatarOverlay.js';
|
|
43
43
|
import './ui/UserProfile.js';
|
|
44
44
|
import './sendbirdSelectors.js';
|
|
45
|
-
import './topics-
|
|
45
|
+
import './topics-27c99fc7.js';
|
|
46
46
|
import './ui/UserListItem.js';
|
|
47
47
|
import './ui/Checkbox.js';
|
|
48
|
-
import './
|
|
48
|
+
import './groupChannel-1c5076e4.js';
|
|
49
|
+
import './__bundle-7dfccc8c-b47a2b5a.js';
|
|
50
|
+
import './MemberList-b8d5b0a7.js';
|
|
49
51
|
import './ChannelSettings/components/LeaveChannel.js';
|
|
50
52
|
import './ChannelSettings/components/UserPanel.js';
|
|
51
53
|
|