@sendbird/uikit-react-native 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/InternalErrorBoundary.js +84 -0
- package/lib/commonjs/InternalErrorBoundary.js.map +1 -0
- package/lib/commonjs/InternalLocalCacheStorage.js +59 -0
- package/lib/commonjs/InternalLocalCacheStorage.js.map +1 -0
- package/lib/commonjs/SendbirdUIKitContainer.js +166 -0
- package/lib/commonjs/SendbirdUIKitContainer.js.map +1 -0
- package/lib/commonjs/components/ChannelCover.js +59 -0
- package/lib/commonjs/components/ChannelCover.js.map +1 -0
- package/lib/commonjs/components/ChatFlatList.js +118 -0
- package/lib/commonjs/components/ChatFlatList.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js +52 -0
- package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +76 -0
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +61 -0
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +31 -0
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/MessageContainer.js +33 -0
- package/lib/commonjs/components/MessageRenderer/MessageContainer.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js +58 -0
- package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +42 -0
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +48 -0
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js +134 -0
- package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/MessageTime.js +41 -0
- package/lib/commonjs/components/MessageRenderer/MessageTime.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js +53 -0
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +54 -0
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +131 -0
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/UserMessage/index.js +31 -0
- package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +1 -0
- package/lib/commonjs/components/MessageRenderer/index.js +189 -0
- package/lib/commonjs/components/MessageRenderer/index.js.map +1 -0
- package/lib/commonjs/components/NewMessagesButton.js +73 -0
- package/lib/commonjs/components/NewMessagesButton.js.map +1 -0
- package/lib/commonjs/components/ProviderLayout.js +37 -0
- package/lib/commonjs/components/ProviderLayout.js.map +1 -0
- package/lib/commonjs/components/ScrollToBottomButton.js +66 -0
- package/lib/commonjs/components/ScrollToBottomButton.js.map +1 -0
- package/lib/commonjs/components/StatusComposition.js +27 -0
- package/lib/commonjs/components/StatusComposition.js.map +1 -0
- package/lib/commonjs/components/TypedPlaceholder.js +80 -0
- package/lib/commonjs/components/TypedPlaceholder.js.map +1 -0
- package/lib/commonjs/components/UserActionBar.js +96 -0
- package/lib/commonjs/components/UserActionBar.js.map +1 -0
- package/lib/commonjs/components/UserSelectableBar.js +78 -0
- package/lib/commonjs/components/UserSelectableBar.js.map +1 -0
- package/lib/commonjs/constants.js +9 -0
- package/lib/commonjs/constants.js.map +1 -0
- package/lib/commonjs/contexts/Localization.js +29 -0
- package/lib/commonjs/contexts/Localization.js.map +1 -0
- package/lib/commonjs/contexts/PlatformService.js +33 -0
- package/lib/commonjs/contexts/PlatformService.js.map +1 -0
- package/lib/commonjs/contexts/SendbirdChat.js +87 -0
- package/lib/commonjs/contexts/SendbirdChat.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js +88 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js +118 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +148 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js +115 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +343 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusEmpty.js +34 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusLoading.js +34 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/index.js +70 -0
- package/lib/commonjs/domain/groupChannel/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js +45 -0
- package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js +79 -0
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/types.js +6 -0
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js +35 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +96 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusEmpty.js +34 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusLoading.js +34 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +141 -0
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/index.js +70 -0
- package/lib/commonjs/domain/groupChannelList/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/module/createGroupChannelListModule.js +45 -0
- package/lib/commonjs/domain/groupChannelList/module/createGroupChannelListModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/module/moduleContext.js +61 -0
- package/lib/commonjs/domain/groupChannelList/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelList/types.js +6 -0
- package/lib/commonjs/domain/groupChannelList/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js +49 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +77 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +94 -0
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/index.js +54 -0
- package/lib/commonjs/domain/groupChannelSettings/index.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js +37 -0
- package/lib/commonjs/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +150 -0
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/groupChannelSettings/types.js +6 -0
- package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -0
- package/lib/commonjs/domain/groupChannelUserList/types.js +6 -0
- package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -0
- package/lib/commonjs/domain/userList/component/UserListHeader.js +56 -0
- package/lib/commonjs/domain/userList/component/UserListHeader.js.map +1 -0
- package/lib/commonjs/domain/userList/component/UserListList.js +57 -0
- package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -0
- package/lib/commonjs/domain/userList/component/UserListStatusEmpty.js +34 -0
- package/lib/commonjs/domain/userList/component/UserListStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/userList/component/UserListStatusError.js +38 -0
- package/lib/commonjs/domain/userList/component/UserListStatusError.js.map +1 -0
- package/lib/commonjs/domain/userList/component/UserListStatusLoading.js +34 -0
- package/lib/commonjs/domain/userList/component/UserListStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/userList/index.js +70 -0
- package/lib/commonjs/domain/userList/index.js.map +1 -0
- package/lib/commonjs/domain/userList/module/createUserListModule.js +45 -0
- package/lib/commonjs/domain/userList/module/createUserListModule.js.map +1 -0
- package/lib/commonjs/domain/userList/module/moduleContext.js +54 -0
- package/lib/commonjs/domain/userList/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/userList/types.js +6 -0
- package/lib/commonjs/domain/userList/types.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +145 -0
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelFragment.js +154 -0
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +139 -0
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelListFragment.js +141 -0
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +134 -0
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +66 -0
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -0
- package/lib/commonjs/hooks/useConnection.js +102 -0
- package/lib/commonjs/hooks/useConnection.js.map +1 -0
- package/lib/commonjs/hooks/useContext.js +39 -0
- package/lib/commonjs/hooks/useContext.js.map +1 -0
- package/lib/commonjs/hooks/usePushTokenRegistration.js +83 -0
- package/lib/commonjs/hooks/usePushTokenRegistration.js.map +1 -0
- package/lib/commonjs/index.js +449 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/localization/StringSet.en.js +19 -0
- package/lib/commonjs/localization/StringSet.en.js.map +1 -0
- package/lib/commonjs/localization/StringSet.type.js +178 -0
- package/lib/commonjs/localization/StringSet.type.js.map +1 -0
- package/lib/commonjs/platform/createClipboardService.expo.js +23 -0
- package/lib/commonjs/platform/createClipboardService.expo.js.map +1 -0
- package/lib/commonjs/platform/createClipboardService.native.js +23 -0
- package/lib/commonjs/platform/createClipboardService.native.js.map +1 -0
- package/lib/commonjs/platform/createFileService.expo.js +175 -0
- package/lib/commonjs/platform/createFileService.expo.js.map +1 -0
- package/lib/commonjs/platform/createFileService.native.js +253 -0
- package/lib/commonjs/platform/createFileService.native.js.map +1 -0
- package/lib/commonjs/platform/createNotificationService.expo.js +50 -0
- package/lib/commonjs/platform/createNotificationService.expo.js.map +1 -0
- package/lib/commonjs/platform/createNotificationService.native.js +65 -0
- package/lib/commonjs/platform/createNotificationService.native.js.map +1 -0
- package/lib/commonjs/platform/dynamicModule.js +114 -0
- package/lib/commonjs/platform/dynamicModule.js.map +1 -0
- package/lib/commonjs/platform/types.js +2 -0
- package/lib/commonjs/platform/types.js.map +1 -0
- package/lib/commonjs/types.js +6 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/commonjs/utils/expoPermissionGranted.js +32 -0
- package/lib/commonjs/utils/expoPermissionGranted.js.map +1 -0
- package/lib/commonjs/utils/fileTypeGuard.js +26 -0
- package/lib/commonjs/utils/fileTypeGuard.js.map +1 -0
- package/lib/commonjs/utils/nativePermissionGranted.js +23 -0
- package/lib/commonjs/utils/nativePermissionGranted.js.map +1 -0
- package/lib/commonjs/version.js +10 -0
- package/lib/commonjs/version.js.map +1 -0
- package/lib/module/InternalErrorBoundary.js +72 -0
- package/lib/module/InternalErrorBoundary.js.map +1 -0
- package/lib/module/InternalLocalCacheStorage.js +50 -0
- package/lib/module/InternalLocalCacheStorage.js.map +1 -0
- package/lib/module/SendbirdUIKitContainer.js +136 -0
- package/lib/module/SendbirdUIKitContainer.js.map +1 -0
- package/lib/module/components/ChannelCover.js +46 -0
- package/lib/module/components/ChannelCover.js.map +1 -0
- package/lib/module/components/ChatFlatList.js +102 -0
- package/lib/module/components/ChatFlatList.js.map +1 -0
- package/lib/module/components/MessageRenderer/AdminMessage/index.js +40 -0
- package/lib/module/components/MessageRenderer/AdminMessage/index.js.map +1 -0
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +62 -0
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -0
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +47 -0
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -0
- package/lib/module/components/MessageRenderer/FileMessage/index.js +17 -0
- package/lib/module/components/MessageRenderer/FileMessage/index.js.map +1 -0
- package/lib/module/components/MessageRenderer/MessageContainer.js +21 -0
- package/lib/module/components/MessageRenderer/MessageContainer.js.map +1 -0
- package/lib/module/components/MessageRenderer/MessageDateSeparator.js +44 -0
- package/lib/module/components/MessageRenderer/MessageDateSeparator.js.map +1 -0
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +30 -0
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -0
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +35 -0
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -0
- package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js +116 -0
- package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js.map +1 -0
- package/lib/module/components/MessageRenderer/MessageTime.js +28 -0
- package/lib/module/components/MessageRenderer/MessageTime.js.map +1 -0
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js +40 -0
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js.map +1 -0
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +41 -0
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -0
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +115 -0
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -0
- package/lib/module/components/MessageRenderer/UserMessage/index.js +18 -0
- package/lib/module/components/MessageRenderer/UserMessage/index.js.map +1 -0
- package/lib/module/components/MessageRenderer/index.js +163 -0
- package/lib/module/components/MessageRenderer/index.js.map +1 -0
- package/lib/module/components/NewMessagesButton.js +58 -0
- package/lib/module/components/NewMessagesButton.js.map +1 -0
- package/lib/module/components/ProviderLayout.js +25 -0
- package/lib/module/components/ProviderLayout.js.map +1 -0
- package/lib/module/components/ScrollToBottomButton.js +52 -0
- package/lib/module/components/ScrollToBottomButton.js.map +1 -0
- package/lib/module/components/StatusComposition.js +17 -0
- package/lib/module/components/StatusComposition.js.map +1 -0
- package/lib/module/components/TypedPlaceholder.js +68 -0
- package/lib/module/components/TypedPlaceholder.js.map +1 -0
- package/lib/module/components/UserActionBar.js +81 -0
- package/lib/module/components/UserActionBar.js.map +1 -0
- package/lib/module/components/UserSelectableBar.js +63 -0
- package/lib/module/components/UserSelectableBar.js.map +1 -0
- package/lib/module/constants.js +2 -0
- package/lib/module/constants.js.map +1 -0
- package/lib/module/contexts/Localization.js +14 -0
- package/lib/module/contexts/Localization.js.map +1 -0
- package/lib/module/contexts/PlatformService.js +18 -0
- package/lib/module/contexts/PlatformService.js.map +1 -0
- package/lib/module/contexts/SendbirdChat.js +66 -0
- package/lib/module/contexts/SendbirdChat.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelHeader.js +69 -0
- package/lib/module/domain/groupChannel/component/GroupChannelHeader.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js +102 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +134 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js +92 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +317 -0
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelStatusEmpty.js +21 -0
- package/lib/module/domain/groupChannel/component/GroupChannelStatusEmpty.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelStatusLoading.js +21 -0
- package/lib/module/domain/groupChannel/component/GroupChannelStatusLoading.js.map +1 -0
- package/lib/module/domain/groupChannel/index.js +8 -0
- package/lib/module/domain/groupChannel/index.js.map +1 -0
- package/lib/module/domain/groupChannel/module/createGroupChannelModule.js +30 -0
- package/lib/module/domain/groupChannel/module/createGroupChannelModule.js.map +1 -0
- package/lib/module/domain/groupChannel/module/moduleContext.js +57 -0
- package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannel/types.js +2 -0
- package/lib/module/domain/groupChannel/types.js.map +1 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListHeader.js +21 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListHeader.js.map +1 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +79 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListStatusEmpty.js +21 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListStatusEmpty.js.map +1 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListStatusLoading.js +21 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListStatusLoading.js.map +1 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +124 -0
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -0
- package/lib/module/domain/groupChannelList/index.js +8 -0
- package/lib/module/domain/groupChannelList/index.js.map +1 -0
- package/lib/module/domain/groupChannelList/module/createGroupChannelListModule.js +30 -0
- package/lib/module/domain/groupChannelList/module/createGroupChannelListModule.js.map +1 -0
- package/lib/module/domain/groupChannelList/module/moduleContext.js +40 -0
- package/lib/module/domain/groupChannelList/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelList/types.js +2 -0
- package/lib/module/domain/groupChannelList/types.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js +35 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +56 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +78 -0
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/index.js +6 -0
- package/lib/module/domain/groupChannelSettings/index.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js +24 -0
- package/lib/module/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js +127 -0
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -0
- package/lib/module/domain/groupChannelSettings/types.js +2 -0
- package/lib/module/domain/groupChannelSettings/types.js.map +1 -0
- package/lib/module/domain/groupChannelUserList/types.js +2 -0
- package/lib/module/domain/groupChannelUserList/types.js.map +1 -0
- package/lib/module/domain/userList/component/UserListHeader.js +42 -0
- package/lib/module/domain/userList/component/UserListHeader.js.map +1 -0
- package/lib/module/domain/userList/component/UserListList.js +42 -0
- package/lib/module/domain/userList/component/UserListList.js.map +1 -0
- package/lib/module/domain/userList/component/UserListStatusEmpty.js +21 -0
- package/lib/module/domain/userList/component/UserListStatusEmpty.js.map +1 -0
- package/lib/module/domain/userList/component/UserListStatusError.js +25 -0
- package/lib/module/domain/userList/component/UserListStatusError.js.map +1 -0
- package/lib/module/domain/userList/component/UserListStatusLoading.js +21 -0
- package/lib/module/domain/userList/component/UserListStatusLoading.js.map +1 -0
- package/lib/module/domain/userList/index.js +8 -0
- package/lib/module/domain/userList/index.js.map +1 -0
- package/lib/module/domain/userList/module/createUserListModule.js +30 -0
- package/lib/module/domain/userList/module/createUserListModule.js.map +1 -0
- package/lib/module/domain/userList/module/moduleContext.js +34 -0
- package/lib/module/domain/userList/module/moduleContext.js.map +1 -0
- package/lib/module/domain/userList/types.js +2 -0
- package/lib/module/domain/userList/types.js.map +1 -0
- package/lib/module/fragments/createGroupChannelCreateFragment.js +124 -0
- package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelFragment.js +132 -0
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelInviteFragment.js +118 -0
- package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelListFragment.js +115 -0
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelMembersFragment.js +114 -0
- package/lib/module/fragments/createGroupChannelMembersFragment.js.map +1 -0
- package/lib/module/fragments/createGroupChannelSettingsFragment.js +51 -0
- package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -0
- package/lib/module/hooks/useConnection.js +79 -0
- package/lib/module/hooks/useConnection.js.map +1 -0
- package/lib/module/hooks/useContext.js +20 -0
- package/lib/module/hooks/useContext.js.map +1 -0
- package/lib/module/hooks/usePushTokenRegistration.js +69 -0
- package/lib/module/hooks/usePushTokenRegistration.js.map +1 -0
- package/lib/module/index.js +57 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/localization/StringSet.en.js +7 -0
- package/lib/module/localization/StringSet.en.js.map +1 -0
- package/lib/module/localization/StringSet.type.js +173 -0
- package/lib/module/localization/StringSet.type.js.map +1 -0
- package/lib/module/platform/createClipboardService.expo.js +15 -0
- package/lib/module/platform/createClipboardService.expo.js.map +1 -0
- package/lib/module/platform/createClipboardService.native.js +15 -0
- package/lib/module/platform/createClipboardService.native.js.map +1 -0
- package/lib/module/platform/createFileService.expo.js +163 -0
- package/lib/module/platform/createFileService.expo.js.map +1 -0
- package/lib/module/platform/createFileService.native.js +237 -0
- package/lib/module/platform/createFileService.native.js.map +1 -0
- package/lib/module/platform/createNotificationService.expo.js +42 -0
- package/lib/module/platform/createNotificationService.expo.js.map +1 -0
- package/lib/module/platform/createNotificationService.native.js +57 -0
- package/lib/module/platform/createNotificationService.native.js.map +1 -0
- package/lib/module/platform/dynamicModule.js +103 -0
- package/lib/module/platform/dynamicModule.js.map +1 -0
- package/lib/module/platform/types.js +2 -0
- package/lib/module/platform/types.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/utils/expoPermissionGranted.js +24 -0
- package/lib/module/utils/expoPermissionGranted.js.map +1 -0
- package/lib/module/utils/fileTypeGuard.js +18 -0
- package/lib/module/utils/fileTypeGuard.js.map +1 -0
- package/lib/module/utils/nativePermissionGranted.js +15 -0
- package/lib/module/utils/nativePermissionGranted.js.map +1 -0
- package/lib/module/version.js +3 -0
- package/lib/module/version.js.map +1 -0
- package/lib/typescript/__template__/component/__domain__Header.d.ts +3 -0
- package/lib/typescript/__template__/component/__domain__StatusEmpty.d.ts +2 -0
- package/lib/typescript/__template__/component/__domain__StatusLoading.d.ts +2 -0
- package/lib/typescript/__template__/component/__domain__View.d.ts +3 -0
- package/lib/typescript/__template__/create__domain__Fragment.d.ts +2 -0
- package/lib/typescript/__template__/index.d.ts +6 -0
- package/lib/typescript/__template__/module/create__domain__Module.d.ts +3 -0
- package/lib/typescript/__template__/module/moduleContext.d.ts +3 -0
- package/lib/typescript/__template__/types.d.ts +31 -0
- package/lib/typescript/src/InternalErrorBoundary.d.ts +19 -0
- package/lib/typescript/src/InternalLocalCacheStorage.d.ts +12 -0
- package/lib/typescript/src/SendbirdUIKitContainer.d.ts +41 -0
- package/lib/typescript/src/components/ChannelCover.d.ts +9 -0
- package/lib/typescript/src/components/ChatFlatList.d.ts +14 -0
- package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +5 -0
- package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +6 -0
- package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +3 -0
- package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +6 -0
- package/lib/typescript/src/components/MessageRenderer/MessageContainer.d.ts +3 -0
- package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +7 -0
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +7 -0
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +7 -0
- package/lib/typescript/src/components/MessageRenderer/MessageOutgoingStatus.d.ts +8 -0
- package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +9 -0
- package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +4 -0
- package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +3 -0
- package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +7 -0
- package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +6 -0
- package/lib/typescript/src/components/MessageRenderer/index.d.ts +23 -0
- package/lib/typescript/src/components/NewMessagesButton.d.ts +9 -0
- package/lib/typescript/src/components/ProviderLayout.d.ts +3 -0
- package/lib/typescript/src/components/ScrollToBottomButton.d.ts +7 -0
- package/lib/typescript/src/components/StatusComposition.d.ts +10 -0
- package/lib/typescript/src/components/TypedPlaceholder.d.ts +6 -0
- package/lib/typescript/src/components/UserActionBar.d.ts +11 -0
- package/lib/typescript/src/components/UserSelectableBar.d.ts +9 -0
- package/lib/typescript/src/constants.d.ts +1 -0
- package/lib/typescript/src/contexts/Localization.d.ts +11 -0
- package/lib/typescript/src/contexts/PlatformService.d.ts +10 -0
- package/lib/typescript/src/contexts/SendbirdChat.d.ts +24 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +10 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +8 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +9 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +36 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannel/index.d.ts +7 -0
- package/lib/typescript/src/domain/groupChannel/module/createGroupChannelModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannel/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannel/types.d.ts +102 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListList.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListTypeSelector.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelList/index.d.ts +7 -0
- package/lib/typescript/src/domain/groupChannelList/module/createGroupChannelListModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelList/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelList/types.d.ts +81 -0
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsHeader.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelSettings/index.d.ts +5 -0
- package/lib/typescript/src/domain/groupChannelSettings/module/createGroupChannelSettingsModule.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelSettings/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +45 -0
- package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +42 -0
- package/lib/typescript/src/domain/userList/component/UserListHeader.d.ts +10 -0
- package/lib/typescript/src/domain/userList/component/UserListList.d.ts +11 -0
- package/lib/typescript/src/domain/userList/component/UserListStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/userList/component/UserListStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/userList/component/UserListStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/userList/index.d.ts +7 -0
- package/lib/typescript/src/domain/userList/module/createUserListModule.d.ts +3 -0
- package/lib/typescript/src/domain/userList/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/userList/types.d.ts +58 -0
- package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +4 -0
- package/lib/typescript/src/fragments/createGroupChannelFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +4 -0
- package/lib/typescript/src/fragments/createGroupChannelListFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createGroupChannelMembersFragment.d.ts +5 -0
- package/lib/typescript/src/fragments/createGroupChannelSettingsFragment.d.ts +3 -0
- package/lib/typescript/src/hooks/useConnection.d.ts +11 -0
- package/lib/typescript/src/hooks/useContext.d.ts +24 -0
- package/lib/typescript/src/hooks/usePushTokenRegistration.d.ts +5 -0
- package/lib/typescript/src/index.d.ts +50 -0
- package/lib/typescript/src/localization/StringSet.en.d.ts +2 -0
- package/lib/typescript/src/localization/StringSet.type.d.ts +157 -0
- package/lib/typescript/src/platform/createClipboardService.expo.d.ts +4 -0
- package/lib/typescript/src/platform/createClipboardService.native.d.ts +4 -0
- package/lib/typescript/src/platform/createFileService.expo.d.ts +12 -0
- package/lib/typescript/src/platform/createFileService.native.d.ts +14 -0
- package/lib/typescript/src/platform/createNotificationService.expo.d.ts +4 -0
- package/lib/typescript/src/platform/createNotificationService.native.d.ts +8 -0
- package/lib/typescript/src/platform/dynamicModule.d.ts +23 -0
- package/lib/typescript/src/platform/types.d.ts +47 -0
- package/lib/typescript/src/types.d.ts +20 -0
- package/lib/typescript/src/utils/expoPermissionGranted.d.ts +13 -0
- package/lib/typescript/src/utils/fileTypeGuard.d.ts +4 -0
- package/lib/typescript/src/utils/nativePermissionGranted.d.ts +3 -0
- package/lib/typescript/src/version.d.ts +2 -0
- package/package.json +5 -5
- package/src/version.ts +1 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
import React, { useCallback } from 'react';
|
|
4
|
+
import { FlatList } from 'react-native';
|
|
5
|
+
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
6
|
+
import { useActionMenu, useToast } from '@sendbird/uikit-react-native-foundation';
|
|
7
|
+
import { PASS, useFreshCallback } from '@sendbird/uikit-utils';
|
|
8
|
+
import { useLocalization, useSendbirdChat } from '../../../hooks/useContext';
|
|
9
|
+
|
|
10
|
+
const GroupChannelListList = _ref => {
|
|
11
|
+
let {
|
|
12
|
+
renderGroupChannelPreview,
|
|
13
|
+
groupChannels,
|
|
14
|
+
onLoadNext,
|
|
15
|
+
flatListProps,
|
|
16
|
+
menuItemCreator = PASS
|
|
17
|
+
} = _ref;
|
|
18
|
+
const toast = useToast();
|
|
19
|
+
const {
|
|
20
|
+
openMenu
|
|
21
|
+
} = useActionMenu();
|
|
22
|
+
const {
|
|
23
|
+
STRINGS
|
|
24
|
+
} = useLocalization();
|
|
25
|
+
const {
|
|
26
|
+
sdk,
|
|
27
|
+
currentUser
|
|
28
|
+
} = useSendbirdChat();
|
|
29
|
+
const onLongPress = useFreshCallback(channel => {
|
|
30
|
+
const action = channel.myPushTriggerOption === 'off' ? 'on' : 'off';
|
|
31
|
+
const menuItem = menuItemCreator({
|
|
32
|
+
title: STRINGS.GROUP_CHANNEL_LIST.DIALOG_CHANNEL_TITLE((currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) ?? '', channel),
|
|
33
|
+
menuItems: [{
|
|
34
|
+
title: STRINGS.GROUP_CHANNEL_LIST.DIALOG_CHANNEL_NOTIFICATION(channel),
|
|
35
|
+
onPress: async () => {
|
|
36
|
+
if (action === 'on') {
|
|
37
|
+
await channel.setMyPushTriggerOption('default');
|
|
38
|
+
} else {
|
|
39
|
+
await channel.setMyPushTriggerOption('off');
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
onError: () => {
|
|
43
|
+
toast.show(action === 'on' ? STRINGS.TOAST.TURN_ON_NOTIFICATIONS_ERROR : STRINGS.TOAST.TURN_OFF_NOTIFICATIONS_ERROR, 'error');
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
title: STRINGS.GROUP_CHANNEL_LIST.DIALOG_CHANNEL_LEAVE,
|
|
47
|
+
onPress: async () => {
|
|
48
|
+
channel.leave().then(() => sdk.clearCachedMessages([channel.url]).catch());
|
|
49
|
+
},
|
|
50
|
+
onError: () => toast.show(STRINGS.TOAST.LEAVE_CHANNEL_ERROR, 'error')
|
|
51
|
+
}]
|
|
52
|
+
});
|
|
53
|
+
openMenu(menuItem);
|
|
54
|
+
});
|
|
55
|
+
const renderItem = useCallback(_ref2 => {
|
|
56
|
+
let {
|
|
57
|
+
item
|
|
58
|
+
} = _ref2;
|
|
59
|
+
return renderGroupChannelPreview === null || renderGroupChannelPreview === void 0 ? void 0 : renderGroupChannelPreview(item, () => onLongPress(item));
|
|
60
|
+
}, [renderGroupChannelPreview, onLongPress]);
|
|
61
|
+
const {
|
|
62
|
+
left,
|
|
63
|
+
right
|
|
64
|
+
} = useSafeAreaInsets();
|
|
65
|
+
return /*#__PURE__*/React.createElement(FlatList, _extends({
|
|
66
|
+
bounces: false,
|
|
67
|
+
data: groupChannels,
|
|
68
|
+
renderItem: renderItem,
|
|
69
|
+
onEndReached: onLoadNext
|
|
70
|
+
}, flatListProps, {
|
|
71
|
+
contentContainerStyle: [flatListProps === null || flatListProps === void 0 ? void 0 : flatListProps.contentContainerStyle, {
|
|
72
|
+
paddingLeft: left,
|
|
73
|
+
paddingRight: right
|
|
74
|
+
}]
|
|
75
|
+
}));
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export default GroupChannelListList;
|
|
79
|
+
//# sourceMappingURL=GroupChannelListList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","FlatList","useSafeAreaInsets","useActionMenu","useToast","PASS","useFreshCallback","useLocalization","useSendbirdChat","GroupChannelListList","renderGroupChannelPreview","groupChannels","onLoadNext","flatListProps","menuItemCreator","toast","openMenu","STRINGS","sdk","currentUser","onLongPress","channel","action","myPushTriggerOption","menuItem","title","GROUP_CHANNEL_LIST","DIALOG_CHANNEL_TITLE","userId","menuItems","DIALOG_CHANNEL_NOTIFICATION","onPress","setMyPushTriggerOption","onError","show","TOAST","TURN_ON_NOTIFICATIONS_ERROR","TURN_OFF_NOTIFICATIONS_ERROR","DIALOG_CHANNEL_LEAVE","leave","then","clearCachedMessages","url","catch","LEAVE_CHANNEL_ERROR","renderItem","item","left","right","contentContainerStyle","paddingLeft","paddingRight"],"sources":["GroupChannelListList.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { FlatList, ListRenderItem } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { useActionMenu, useToast } from '@sendbird/uikit-react-native-foundation';\nimport { PASS, SendbirdGroupChannel, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport type { GroupChannelListProps } from '../types';\n\nconst GroupChannelListList = ({\n renderGroupChannelPreview,\n groupChannels,\n onLoadNext,\n flatListProps,\n menuItemCreator = PASS,\n}: GroupChannelListProps['List']) => {\n const toast = useToast();\n const { openMenu } = useActionMenu();\n const { STRINGS } = useLocalization();\n const { sdk, currentUser } = useSendbirdChat();\n\n const onLongPress = useFreshCallback((channel: SendbirdGroupChannel) => {\n const action = channel.myPushTriggerOption === 'off' ? 'on' : 'off';\n const menuItem = menuItemCreator({\n title: STRINGS.GROUP_CHANNEL_LIST.DIALOG_CHANNEL_TITLE(currentUser?.userId ?? '', channel),\n menuItems: [\n {\n title: STRINGS.GROUP_CHANNEL_LIST.DIALOG_CHANNEL_NOTIFICATION(channel),\n onPress: async () => {\n if (action === 'on') {\n await channel.setMyPushTriggerOption('default');\n } else {\n await channel.setMyPushTriggerOption('off');\n }\n },\n onError: () => {\n toast.show(\n action === 'on' ? STRINGS.TOAST.TURN_ON_NOTIFICATIONS_ERROR : STRINGS.TOAST.TURN_OFF_NOTIFICATIONS_ERROR,\n 'error',\n );\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL_LIST.DIALOG_CHANNEL_LEAVE,\n onPress: async () => {\n channel.leave().then(() => sdk.clearCachedMessages([channel.url]).catch());\n },\n onError: () => toast.show(STRINGS.TOAST.LEAVE_CHANNEL_ERROR, 'error'),\n },\n ],\n });\n\n openMenu(menuItem);\n });\n\n const renderItem: ListRenderItem<SendbirdGroupChannel> = useCallback(\n ({ item }) => renderGroupChannelPreview?.(item, () => onLongPress(item)),\n [renderGroupChannelPreview, onLongPress],\n );\n\n const { left, right } = useSafeAreaInsets();\n return (\n <FlatList\n bounces={false}\n data={groupChannels}\n renderItem={renderItem}\n onEndReached={onLoadNext}\n {...flatListProps}\n contentContainerStyle={[flatListProps?.contentContainerStyle, { paddingLeft: left, paddingRight: right }]}\n />\n );\n};\n\nexport default GroupChannelListList;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import TypedPlaceholder from '../../../components/TypedPlaceholder';
|
|
4
|
+
|
|
5
|
+
const GroupChannelListStatusEmpty = () => {
|
|
6
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
7
|
+
style: styles.container
|
|
8
|
+
}, /*#__PURE__*/React.createElement(TypedPlaceholder, {
|
|
9
|
+
type: 'no-channels'
|
|
10
|
+
}));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const styles = StyleSheet.create({
|
|
14
|
+
container: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
justifyContent: 'center',
|
|
17
|
+
alignItems: 'center'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
export default GroupChannelListStatusEmpty;
|
|
21
|
+
//# sourceMappingURL=GroupChannelListStatusEmpty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","TypedPlaceholder","GroupChannelListStatusEmpty","styles","container","create","flex","justifyContent","alignItems"],"sources":["GroupChannelListStatusEmpty.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\n\nconst GroupChannelListStatusEmpty = () => {\n return (\n <View style={styles.container}>\n <TypedPlaceholder type={'no-channels'} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { flex: 1, justifyContent: 'center', alignItems: 'center' },\n});\n\nexport default GroupChannelListStatusEmpty;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,OAAOC,gBAAP,MAA6B,sCAA7B;;AAEA,MAAMC,2BAA2B,GAAG,MAAM;EACxC,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,gBAAD;IAAkB,IAAI,EAAE;EAAxB,EADF,CADF;AAKD,CAND;;AAQA,MAAMD,MAAM,GAAGJ,UAAU,CAACM,MAAX,CAAkB;EAC/BD,SAAS,EAAE;IAAEE,IAAI,EAAE,CAAR;IAAWC,cAAc,EAAE,QAA3B;IAAqCC,UAAU,EAAE;EAAjD;AADoB,CAAlB,CAAf;AAIA,eAAeN,2BAAf"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import TypedPlaceholder from '../../../components/TypedPlaceholder';
|
|
4
|
+
|
|
5
|
+
const GroupChannelListStatusLoading = () => {
|
|
6
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
7
|
+
style: styles.container
|
|
8
|
+
}, /*#__PURE__*/React.createElement(TypedPlaceholder, {
|
|
9
|
+
type: 'loading'
|
|
10
|
+
}));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const styles = StyleSheet.create({
|
|
14
|
+
container: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
justifyContent: 'center',
|
|
17
|
+
alignItems: 'center'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
export default GroupChannelListStatusLoading;
|
|
21
|
+
//# sourceMappingURL=GroupChannelListStatusLoading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","TypedPlaceholder","GroupChannelListStatusLoading","styles","container","create","flex","justifyContent","alignItems"],"sources":["GroupChannelListStatusLoading.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\n\nconst GroupChannelListStatusLoading = () => {\n return (\n <View style={styles.container}>\n <TypedPlaceholder type={'loading'} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { flex: 1, justifyContent: 'center', alignItems: 'center' },\n});\n\nexport default GroupChannelListStatusLoading;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,OAAOC,gBAAP,MAA6B,sCAA7B;;AAEA,MAAMC,6BAA6B,GAAG,MAAM;EAC1C,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,gBAAD;IAAkB,IAAI,EAAE;EAAxB,EADF,CADF;AAKD,CAND;;AAQA,MAAMD,MAAM,GAAGJ,UAAU,CAACM,MAAX,CAAkB;EAC/BD,SAAS,EAAE;IAAEE,IAAI,EAAE,CAAR;IAAWC,cAAc,EAAE,QAA3B;IAAqCC,UAAU,EAAE;EAAjD;AADoB,CAAlB,CAAf;AAIA,eAAeN,6BAAf"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import React, { useContext, useEffect } from 'react';
|
|
2
|
+
import { TouchableOpacity, View } from 'react-native';
|
|
3
|
+
import { Header as DefaultHeader, Icon, Modal, Text, createStyleSheet, useHeaderStyle, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
+
import { useLocalization } from '../../../hooks/useContext';
|
|
5
|
+
import { GroupChannelListContexts } from '../module/moduleContext';
|
|
6
|
+
const TYPES = ['GROUP', 'SUPER_GROUP', 'BROADCAST'];
|
|
7
|
+
const TYPE_ICONS = {
|
|
8
|
+
'GROUP': 'chat',
|
|
9
|
+
'SUPER_GROUP': 'supergroup',
|
|
10
|
+
'BROADCAST': 'broadcast'
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const GroupChannelListTypeSelector = _ref => {
|
|
14
|
+
let {
|
|
15
|
+
Header = DefaultHeader,
|
|
16
|
+
skipTypeSelection,
|
|
17
|
+
onSelectType
|
|
18
|
+
} = _ref;
|
|
19
|
+
const {
|
|
20
|
+
statusBarTranslucent
|
|
21
|
+
} = useHeaderStyle();
|
|
22
|
+
const {
|
|
23
|
+
colors
|
|
24
|
+
} = useUIKitTheme();
|
|
25
|
+
const typeSelector = useContext(GroupChannelListContexts.TypeSelector);
|
|
26
|
+
const {
|
|
27
|
+
visible,
|
|
28
|
+
hide
|
|
29
|
+
} = typeSelector;
|
|
30
|
+
|
|
31
|
+
const createOnPressType = type => () => {
|
|
32
|
+
hide();
|
|
33
|
+
onSelectType(type);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (skipTypeSelection && visible) createOnPressType('GROUP')();
|
|
38
|
+
}, [skipTypeSelection, visible]);
|
|
39
|
+
if (skipTypeSelection) return null;
|
|
40
|
+
|
|
41
|
+
const renderButtons = () => /*#__PURE__*/React.createElement(View, {
|
|
42
|
+
style: styles.buttonArea
|
|
43
|
+
}, TYPES.map(type => {
|
|
44
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
45
|
+
key: type,
|
|
46
|
+
activeOpacity: 0.6,
|
|
47
|
+
onPress: createOnPressType(type),
|
|
48
|
+
style: styles.typeButton
|
|
49
|
+
}, /*#__PURE__*/React.createElement(DefaultTypeIcon, {
|
|
50
|
+
type: type
|
|
51
|
+
}), /*#__PURE__*/React.createElement(DefaultTypeText, {
|
|
52
|
+
type: type
|
|
53
|
+
}));
|
|
54
|
+
}));
|
|
55
|
+
|
|
56
|
+
const renderHeader = () => {
|
|
57
|
+
if (Header) {
|
|
58
|
+
return /*#__PURE__*/React.createElement(Header, {
|
|
59
|
+
title: typeSelector.headerTitle,
|
|
60
|
+
right: /*#__PURE__*/React.createElement(Icon, {
|
|
61
|
+
icon: 'close',
|
|
62
|
+
color: colors.onBackground01
|
|
63
|
+
}),
|
|
64
|
+
onPressRight: typeSelector.hide
|
|
65
|
+
}, renderButtons());
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return /*#__PURE__*/React.createElement(DefaultHeader, {
|
|
69
|
+
title: null,
|
|
70
|
+
right: null,
|
|
71
|
+
left: null
|
|
72
|
+
}, renderButtons());
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
return /*#__PURE__*/React.createElement(Modal, {
|
|
76
|
+
visible: visible,
|
|
77
|
+
onClose: hide,
|
|
78
|
+
statusBarTranslucent: statusBarTranslucent
|
|
79
|
+
}, renderHeader());
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const DefaultTypeIcon = _ref2 => {
|
|
83
|
+
let {
|
|
84
|
+
type
|
|
85
|
+
} = _ref2;
|
|
86
|
+
return /*#__PURE__*/React.createElement(Icon, {
|
|
87
|
+
size: 24,
|
|
88
|
+
icon: TYPE_ICONS[type],
|
|
89
|
+
containerStyle: styles.icon
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
const DefaultTypeText = _ref3 => {
|
|
94
|
+
let {
|
|
95
|
+
type
|
|
96
|
+
} = _ref3;
|
|
97
|
+
const {
|
|
98
|
+
STRINGS
|
|
99
|
+
} = useLocalization();
|
|
100
|
+
const {
|
|
101
|
+
colors
|
|
102
|
+
} = useUIKitTheme();
|
|
103
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
104
|
+
caption2: true,
|
|
105
|
+
color: colors.onBackground01
|
|
106
|
+
}, STRINGS.GROUP_CHANNEL_LIST[`TYPE_SELECTOR_${type}`]);
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
const styles = createStyleSheet({
|
|
110
|
+
buttonArea: {
|
|
111
|
+
flexDirection: 'row'
|
|
112
|
+
},
|
|
113
|
+
typeButton: {
|
|
114
|
+
paddingVertical: 24,
|
|
115
|
+
flex: 1,
|
|
116
|
+
alignItems: 'center',
|
|
117
|
+
justifyContent: 'center'
|
|
118
|
+
},
|
|
119
|
+
icon: {
|
|
120
|
+
marginBottom: 8
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
export default GroupChannelListTypeSelector;
|
|
124
|
+
//# sourceMappingURL=GroupChannelListTypeSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useContext","useEffect","TouchableOpacity","View","Header","DefaultHeader","Icon","Modal","Text","createStyleSheet","useHeaderStyle","useUIKitTheme","useLocalization","GroupChannelListContexts","TYPES","TYPE_ICONS","GroupChannelListTypeSelector","skipTypeSelection","onSelectType","statusBarTranslucent","colors","typeSelector","TypeSelector","visible","hide","createOnPressType","type","renderButtons","styles","buttonArea","map","typeButton","renderHeader","headerTitle","onBackground01","DefaultTypeIcon","icon","DefaultTypeText","STRINGS","GROUP_CHANNEL_LIST","flexDirection","paddingVertical","flex","alignItems","justifyContent","marginBottom"],"sources":["GroupChannelListTypeSelector.tsx"],"sourcesContent":["import React, { useContext, useEffect } from 'react';\nimport { TouchableOpacity, View } from 'react-native';\n\nimport {\n Header as DefaultHeader,\n Icon,\n Modal,\n Text,\n createStyleSheet,\n useHeaderStyle,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../../../hooks/useContext';\nimport { GroupChannelListContexts } from '../module/moduleContext';\nimport type { GroupChannelListProps, GroupChannelType } from '../types';\n\nconst TYPES: GroupChannelType[] = ['GROUP', 'SUPER_GROUP', 'BROADCAST'];\nconst TYPE_ICONS: Record<GroupChannelType, keyof typeof Icon.Assets> = {\n 'GROUP': 'chat',\n 'SUPER_GROUP': 'supergroup',\n 'BROADCAST': 'broadcast',\n};\n\nconst GroupChannelListTypeSelector = ({\n Header = DefaultHeader,\n skipTypeSelection,\n onSelectType,\n}: GroupChannelListProps['TypeSelector']) => {\n const { statusBarTranslucent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n const typeSelector = useContext(GroupChannelListContexts.TypeSelector);\n const { visible, hide } = typeSelector;\n const createOnPressType = (type: GroupChannelType) => () => {\n hide();\n onSelectType(type);\n };\n\n useEffect(() => {\n if (skipTypeSelection && visible) createOnPressType('GROUP')();\n }, [skipTypeSelection, visible]);\n\n if (skipTypeSelection) return null;\n\n const renderButtons = () => (\n <View style={styles.buttonArea}>\n {TYPES.map((type) => {\n return (\n <TouchableOpacity key={type} activeOpacity={0.6} onPress={createOnPressType(type)} style={styles.typeButton}>\n <DefaultTypeIcon type={type} />\n <DefaultTypeText type={type} />\n </TouchableOpacity>\n );\n })}\n </View>\n );\n\n const renderHeader = () => {\n if (Header) {\n return (\n <Header\n title={typeSelector.headerTitle}\n right={<Icon icon={'close'} color={colors.onBackground01} />}\n onPressRight={typeSelector.hide}\n >\n {renderButtons()}\n </Header>\n );\n }\n\n return (\n <DefaultHeader title={null} right={null} left={null}>\n {renderButtons()}\n </DefaultHeader>\n );\n };\n\n return (\n <Modal visible={visible} onClose={hide} statusBarTranslucent={statusBarTranslucent}>\n {renderHeader()}\n </Modal>\n );\n};\n\nconst DefaultTypeIcon = ({ type }: { type: GroupChannelType }) => {\n return <Icon size={24} icon={TYPE_ICONS[type]} containerStyle={styles.icon} />;\n};\n\nconst DefaultTypeText = ({ type }: { type: GroupChannelType }) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n return (\n <Text caption2 color={colors.onBackground01}>\n {STRINGS.GROUP_CHANNEL_LIST[`TYPE_SELECTOR_${type}`]}\n </Text>\n );\n};\n\nconst styles = createStyleSheet({\n buttonArea: {\n flexDirection: 'row',\n },\n typeButton: {\n paddingVertical: 24,\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n icon: {\n marginBottom: 8,\n },\n});\n\nexport default GroupChannelListTypeSelector;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { default as GroupChannelListHeader } from './component/GroupChannelListHeader';
|
|
2
|
+
export { default as GroupChannelListList } from './component/GroupChannelListList';
|
|
3
|
+
export { default as GroupChannelListStatusEmpty } from './component/GroupChannelListStatusEmpty';
|
|
4
|
+
export { default as GroupChannelListStatusLoading } from './component/GroupChannelListStatusLoading';
|
|
5
|
+
export { default as GroupChannelListTypeSelector } from './component/GroupChannelListTypeSelector';
|
|
6
|
+
export { default as createGroupChannelListModule } from './module/createGroupChannelListModule';
|
|
7
|
+
export { GroupChannelListContextsProvider, GroupChannelListContexts } from './module/moduleContext';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default","GroupChannelListHeader","GroupChannelListList","GroupChannelListStatusEmpty","GroupChannelListStatusLoading","GroupChannelListTypeSelector","createGroupChannelListModule","GroupChannelListContextsProvider","GroupChannelListContexts"],"sources":["index.ts"],"sourcesContent":["export { default as GroupChannelListHeader } from './component/GroupChannelListHeader';\nexport { default as GroupChannelListList } from './component/GroupChannelListList';\nexport { default as GroupChannelListStatusEmpty } from './component/GroupChannelListStatusEmpty';\nexport { default as GroupChannelListStatusLoading } from './component/GroupChannelListStatusLoading';\nexport { default as GroupChannelListTypeSelector } from './component/GroupChannelListTypeSelector';\nexport { default as createGroupChannelListModule } from './module/createGroupChannelListModule';\nexport { GroupChannelListContextsProvider, GroupChannelListContexts } from './module/moduleContext';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,sBAApB,QAAkD,oCAAlD;AACA,SAASD,OAAO,IAAIE,oBAApB,QAAgD,kCAAhD;AACA,SAASF,OAAO,IAAIG,2BAApB,QAAuD,yCAAvD;AACA,SAASH,OAAO,IAAII,6BAApB,QAAyD,2CAAzD;AACA,SAASJ,OAAO,IAAIK,4BAApB,QAAwD,0CAAxD;AACA,SAASL,OAAO,IAAIM,4BAApB,QAAwD,uCAAxD;AACA,SAASC,gCAAT,EAA2CC,wBAA3C,QAA2E,wBAA3E"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import GroupChannelListHeader from '../component/GroupChannelListHeader';
|
|
2
|
+
import GroupChannelListList from '../component/GroupChannelListList';
|
|
3
|
+
import GroupChannelListStatusEmpty from '../component/GroupChannelListStatusEmpty';
|
|
4
|
+
import GroupChannelListStatusLoading from '../component/GroupChannelListStatusLoading';
|
|
5
|
+
import GroupChannelListTypeSelector from '../component/GroupChannelListTypeSelector';
|
|
6
|
+
import { GroupChannelListContextsProvider } from './moduleContext';
|
|
7
|
+
|
|
8
|
+
const createGroupChannelListModule = function () {
|
|
9
|
+
let {
|
|
10
|
+
Header = GroupChannelListHeader,
|
|
11
|
+
List = GroupChannelListList,
|
|
12
|
+
TypeSelector = GroupChannelListTypeSelector,
|
|
13
|
+
StatusLoading = GroupChannelListStatusLoading,
|
|
14
|
+
StatusEmpty = GroupChannelListStatusEmpty,
|
|
15
|
+
Provider = GroupChannelListContextsProvider,
|
|
16
|
+
...module
|
|
17
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
18
|
+
return {
|
|
19
|
+
Header,
|
|
20
|
+
List,
|
|
21
|
+
TypeSelector,
|
|
22
|
+
StatusLoading,
|
|
23
|
+
StatusEmpty,
|
|
24
|
+
Provider,
|
|
25
|
+
...module
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default createGroupChannelListModule;
|
|
30
|
+
//# sourceMappingURL=createGroupChannelListModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GroupChannelListHeader","GroupChannelListList","GroupChannelListStatusEmpty","GroupChannelListStatusLoading","GroupChannelListTypeSelector","GroupChannelListContextsProvider","createGroupChannelListModule","Header","List","TypeSelector","StatusLoading","StatusEmpty","Provider","module"],"sources":["createGroupChannelListModule.tsx"],"sourcesContent":["import GroupChannelListHeader from '../component/GroupChannelListHeader';\nimport GroupChannelListList from '../component/GroupChannelListList';\nimport GroupChannelListStatusEmpty from '../component/GroupChannelListStatusEmpty';\nimport GroupChannelListStatusLoading from '../component/GroupChannelListStatusLoading';\nimport GroupChannelListTypeSelector from '../component/GroupChannelListTypeSelector';\nimport type { GroupChannelListModule } from '../types';\nimport { GroupChannelListContextsProvider } from './moduleContext';\n\nconst createGroupChannelListModule = ({\n Header = GroupChannelListHeader,\n List = GroupChannelListList,\n TypeSelector = GroupChannelListTypeSelector,\n StatusLoading = GroupChannelListStatusLoading,\n StatusEmpty = GroupChannelListStatusEmpty,\n Provider = GroupChannelListContextsProvider,\n ...module\n}: Partial<GroupChannelListModule> = {}): GroupChannelListModule => {\n return { Header, List, TypeSelector, StatusLoading, StatusEmpty, Provider, ...module };\n};\n\nexport default createGroupChannelListModule;\n"],"mappings":"AAAA,OAAOA,sBAAP,MAAmC,qCAAnC;AACA,OAAOC,oBAAP,MAAiC,mCAAjC;AACA,OAAOC,2BAAP,MAAwC,0CAAxC;AACA,OAAOC,6BAAP,MAA0C,4CAA1C;AACA,OAAOC,4BAAP,MAAyC,2CAAzC;AAEA,SAASC,gCAAT,QAAiD,iBAAjD;;AAEA,MAAMC,4BAA4B,GAAG,YAQ+B;EAAA,IAR9B;IACpCC,MAAM,GAAGP,sBAD2B;IAEpCQ,IAAI,GAAGP,oBAF6B;IAGpCQ,YAAY,GAAGL,4BAHqB;IAIpCM,aAAa,GAAGP,6BAJoB;IAKpCQ,WAAW,GAAGT,2BALsB;IAMpCU,QAAQ,GAAGP,gCANyB;IAOpC,GAAGQ;EAPiC,CAQ8B,uEAA/B,EAA+B;EAClE,OAAO;IAAEN,MAAF;IAAUC,IAAV;IAAgBC,YAAhB;IAA8BC,aAA9B;IAA6CC,WAA7C;IAA0DC,QAA1D;IAAoE,GAAGC;EAAvE,CAAP;AACD,CAVD;;AAYA,eAAeP,4BAAf"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React, { createContext, useCallback, useState } from 'react';
|
|
2
|
+
import { NOOP } from '@sendbird/uikit-utils';
|
|
3
|
+
import ProviderLayout from '../../../components/ProviderLayout';
|
|
4
|
+
import { useLocalization } from '../../../hooks/useContext';
|
|
5
|
+
export const GroupChannelListContexts = {
|
|
6
|
+
Fragment: /*#__PURE__*/createContext({
|
|
7
|
+
headerTitle: ''
|
|
8
|
+
}),
|
|
9
|
+
TypeSelector: /*#__PURE__*/createContext({
|
|
10
|
+
headerTitle: '',
|
|
11
|
+
visible: Boolean(),
|
|
12
|
+
hide: NOOP,
|
|
13
|
+
show: NOOP
|
|
14
|
+
})
|
|
15
|
+
};
|
|
16
|
+
export const GroupChannelListContextsProvider = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
children
|
|
19
|
+
} = _ref;
|
|
20
|
+
const {
|
|
21
|
+
STRINGS
|
|
22
|
+
} = useLocalization(); // Type selector
|
|
23
|
+
|
|
24
|
+
const [visible, setVisible] = useState(false);
|
|
25
|
+
const show = useCallback(() => setVisible(true), []);
|
|
26
|
+
const hide = useCallback(() => setVisible(false), []);
|
|
27
|
+
return /*#__PURE__*/React.createElement(ProviderLayout, null, /*#__PURE__*/React.createElement(GroupChannelListContexts.TypeSelector.Provider, {
|
|
28
|
+
value: {
|
|
29
|
+
headerTitle: STRINGS.GROUP_CHANNEL_LIST.TYPE_SELECTOR_HEADER_TITLE,
|
|
30
|
+
visible,
|
|
31
|
+
show,
|
|
32
|
+
hide
|
|
33
|
+
}
|
|
34
|
+
}, /*#__PURE__*/React.createElement(GroupChannelListContexts.Fragment.Provider, {
|
|
35
|
+
value: {
|
|
36
|
+
headerTitle: STRINGS.GROUP_CHANNEL_LIST.HEADER_TITLE
|
|
37
|
+
}
|
|
38
|
+
}, children)));
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=moduleContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useState","NOOP","ProviderLayout","useLocalization","GroupChannelListContexts","Fragment","headerTitle","TypeSelector","visible","Boolean","hide","show","GroupChannelListContextsProvider","children","STRINGS","setVisible","GROUP_CHANNEL_LIST","TYPE_SELECTOR_HEADER_TITLE","HEADER_TITLE"],"sources":["moduleContext.tsx"],"sourcesContent":["import React, { createContext, useCallback, useState } from 'react';\n\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport ProviderLayout from '../../../components/ProviderLayout';\nimport { useLocalization } from '../../../hooks/useContext';\nimport type { GroupChannelListContextsType, GroupChannelListModule } from '../types';\n\nexport const GroupChannelListContexts: GroupChannelListContextsType = {\n Fragment: createContext({\n headerTitle: '',\n }),\n TypeSelector: createContext({\n headerTitle: '',\n visible: Boolean(),\n hide: NOOP,\n show: NOOP,\n }),\n};\n\nexport const GroupChannelListContextsProvider: GroupChannelListModule['Provider'] = ({ children }) => {\n const { STRINGS } = useLocalization();\n\n // Type selector\n const [visible, setVisible] = useState(false);\n const show = useCallback(() => setVisible(true), []);\n const hide = useCallback(() => setVisible(false), []);\n\n return (\n <ProviderLayout>\n <GroupChannelListContexts.TypeSelector.Provider\n value={{ headerTitle: STRINGS.GROUP_CHANNEL_LIST.TYPE_SELECTOR_HEADER_TITLE, visible, show, hide }}\n >\n <GroupChannelListContexts.Fragment.Provider value={{ headerTitle: STRINGS.GROUP_CHANNEL_LIST.HEADER_TITLE }}>\n {children}\n </GroupChannelListContexts.Fragment.Provider>\n </GroupChannelListContexts.TypeSelector.Provider>\n </ProviderLayout>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,aAAhB,EAA+BC,WAA/B,EAA4CC,QAA5C,QAA4D,OAA5D;AAEA,SAASC,IAAT,QAAqB,uBAArB;AAEA,OAAOC,cAAP,MAA2B,oCAA3B;AACA,SAASC,eAAT,QAAgC,2BAAhC;AAGA,OAAO,MAAMC,wBAAsD,GAAG;EACpEC,QAAQ,eAAEP,aAAa,CAAC;IACtBQ,WAAW,EAAE;EADS,CAAD,CAD6C;EAIpEC,YAAY,eAAET,aAAa,CAAC;IAC1BQ,WAAW,EAAE,EADa;IAE1BE,OAAO,EAAEC,OAAO,EAFU;IAG1BC,IAAI,EAAET,IAHoB;IAI1BU,IAAI,EAAEV;EAJoB,CAAD;AAJyC,CAA/D;AAYP,OAAO,MAAMW,gCAAoE,GAAG,QAAkB;EAAA,IAAjB;IAAEC;EAAF,CAAiB;EACpG,MAAM;IAAEC;EAAF,IAAcX,eAAe,EAAnC,CADoG,CAGpG;;EACA,MAAM,CAACK,OAAD,EAAUO,UAAV,IAAwBf,QAAQ,CAAC,KAAD,CAAtC;EACA,MAAMW,IAAI,GAAGZ,WAAW,CAAC,MAAMgB,UAAU,CAAC,IAAD,CAAjB,EAAyB,EAAzB,CAAxB;EACA,MAAML,IAAI,GAAGX,WAAW,CAAC,MAAMgB,UAAU,CAAC,KAAD,CAAjB,EAA0B,EAA1B,CAAxB;EAEA,oBACE,oBAAC,cAAD,qBACE,oBAAC,wBAAD,CAA0B,YAA1B,CAAuC,QAAvC;IACE,KAAK,EAAE;MAAET,WAAW,EAAEQ,OAAO,CAACE,kBAAR,CAA2BC,0BAA1C;MAAsET,OAAtE;MAA+EG,IAA/E;MAAqFD;IAArF;EADT,gBAGE,oBAAC,wBAAD,CAA0B,QAA1B,CAAmC,QAAnC;IAA4C,KAAK,EAAE;MAAEJ,WAAW,EAAEQ,OAAO,CAACE,kBAAR,CAA2BE;IAA1C;EAAnD,GACGL,QADH,CAHF,CADF,CADF;AAWD,CAnBM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatListProps } from 'react-native';\n\nimport type { UseGroupChannelListOptions } from '@sendbird/uikit-chat-hooks';\nimport type { ActionMenuItem, BaseHeaderProps } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdGroupChannel } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelListProps {\n /** Props for `GroupChannelListFragment` **/\n Fragment: {\n /** Navigate to GroupChannelFragment **/\n onPressChannel: (channel: SendbirdGroupChannel) => void;\n /** Navigate to GroupChannelCreateFragment **/\n onPressCreateChannel: (channelType: GroupChannelType) => void;\n /** Custom Header for TypeSelector, Only replace header component not a module **/\n TypeSelectorHeader?: null | CommonComponent<\n BaseHeaderProps<{ title: string; right: React.ReactElement; onPressRight: () => void }>\n >;\n /** Method to render GroupChannel preview **/\n renderGroupChannelPreview?: (\n channel: SendbirdGroupChannel,\n onLongPressChannel: () => void,\n ) => React.ReactElement | null;\n // /** Skip type selection, When this is set to true 'channelType' only receive 'GROUP' type **/\n // skipTypeSelection?: boolean;\n /** Custom Query creator for channels query **/\n queryCreator?: UseGroupChannelListOptions['queryCreator'];\n /** Sort comparator for sort channels **/\n sortComparator?: UseGroupChannelListOptions['sortComparator'];\n /** FlatList props for GroupChannelList.List **/\n flatListProps?: GroupChannelListProps['List']['flatListProps'];\n /** Action menu item creator for onLongPress **/\n menuItemCreator?: GroupChannelListProps['List']['menuItemCreator'];\n };\n /** Props for `GroupChannelListModule.Header` **/\n Header: {};\n /** Props for `GroupChannelListModule.List` **/\n List: {\n /** GroupChannels from SendbirdChat SDK **/\n groupChannels: SendbirdGroupChannel[];\n /** Method to render GroupChannel preview **/\n renderGroupChannelPreview: (\n channel: SendbirdGroupChannel,\n onLongPressChannel: () => void,\n ) => React.ReactElement | null;\n /** Method to load more data, called with onEndReached of FlatList **/\n onLoadNext: () => Promise<void>;\n /** Prop from Fragment **/\n flatListProps?: Omit<FlatListProps<SendbirdGroupChannel>, 'data' | 'renderItem'>;\n /** Prop from Fragment **/\n menuItemCreator?: (defaultMenuItem: ActionMenuItem) => ActionMenuItem;\n };\n /** Props for `GroupChannelListModule.TypeSelector` **/\n TypeSelector: {\n /** Prop from Fragment `Fragment.TypeSelectorHeader` **/\n Header: GroupChannelListProps['Fragment']['TypeSelectorHeader'];\n /** Prop from Fragment `Fragment.skipTypeSelection` **/\n skipTypeSelection: boolean;\n /** Method called when type is selected, call `Fragment.onPressCreateChannel` **/\n onSelectType: (type: GroupChannelType) => void;\n };\n}\n\n/**\n * Internal context for GroupChannelList\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelListContextsType {\n Fragment: React.Context<{\n headerTitle: string;\n }>;\n TypeSelector: React.Context<{\n visible: boolean;\n show: () => void;\n hide: () => void;\n headerTitle: string;\n }>;\n}\nexport interface GroupChannelListModule {\n Provider: CommonComponent;\n Header: CommonComponent<GroupChannelListProps['Header']>;\n List: CommonComponent<GroupChannelListProps['List']>;\n TypeSelector: CommonComponent<GroupChannelListProps['TypeSelector']>;\n StatusEmpty: CommonComponent;\n StatusLoading: CommonComponent;\n}\n\nexport type GroupChannelListFragment = CommonComponent<GroupChannelListProps['Fragment']>;\nexport type GroupChannelType = 'GROUP' | 'SUPER_GROUP' | 'BROADCAST';\n"],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { Icon, Text, useHeaderStyle, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
3
|
+
import { GroupChannelSettingsContexts } from '../module/moduleContext';
|
|
4
|
+
|
|
5
|
+
const GroupChannelSettingsHeader = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
onPressHeaderLeft
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
colors
|
|
11
|
+
} = useUIKitTheme();
|
|
12
|
+
const {
|
|
13
|
+
headerTitle,
|
|
14
|
+
headerRight,
|
|
15
|
+
onPressHeaderRight
|
|
16
|
+
} = useContext(GroupChannelSettingsContexts.Fragment);
|
|
17
|
+
const {
|
|
18
|
+
HeaderComponent
|
|
19
|
+
} = useHeaderStyle();
|
|
20
|
+
return /*#__PURE__*/React.createElement(HeaderComponent, {
|
|
21
|
+
title: headerTitle,
|
|
22
|
+
left: /*#__PURE__*/React.createElement(Icon, {
|
|
23
|
+
icon: 'arrow-left'
|
|
24
|
+
}),
|
|
25
|
+
onPressLeft: onPressHeaderLeft,
|
|
26
|
+
right: /*#__PURE__*/React.createElement(Text, {
|
|
27
|
+
button: true,
|
|
28
|
+
color: colors.primary
|
|
29
|
+
}, headerRight),
|
|
30
|
+
onPressRight: onPressHeaderRight
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export default GroupChannelSettingsHeader;
|
|
35
|
+
//# sourceMappingURL=GroupChannelSettingsHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useContext","Icon","Text","useHeaderStyle","useUIKitTheme","GroupChannelSettingsContexts","GroupChannelSettingsHeader","onPressHeaderLeft","colors","headerTitle","headerRight","onPressHeaderRight","Fragment","HeaderComponent","primary"],"sources":["GroupChannelSettingsHeader.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { Icon, Text, useHeaderStyle, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\n\nimport { GroupChannelSettingsContexts } from '../module/moduleContext';\nimport type { GroupChannelSettingsProps } from '../types';\n\nconst GroupChannelSettingsHeader = ({ onPressHeaderLeft }: GroupChannelSettingsProps['Header']) => {\n const { colors } = useUIKitTheme();\n const { headerTitle, headerRight, onPressHeaderRight } = useContext(GroupChannelSettingsContexts.Fragment);\n\n const { HeaderComponent } = useHeaderStyle();\n\n return (\n <HeaderComponent\n title={headerTitle}\n left={<Icon icon={'arrow-left'} />}\n onPressLeft={onPressHeaderLeft}\n right={\n <Text button color={colors.primary}>\n {headerRight}\n </Text>\n }\n onPressRight={onPressHeaderRight}\n />\n );\n};\n\nexport default GroupChannelSettingsHeader;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AAEA,SAASC,IAAT,EAAeC,IAAf,EAAqBC,cAArB,EAAqCC,aAArC,QAA0D,yCAA1D;AAEA,SAASC,4BAAT,QAA6C,yBAA7C;;AAGA,MAAMC,0BAA0B,GAAG,QAAgE;EAAA,IAA/D;IAAEC;EAAF,CAA+D;EACjG,MAAM;IAAEC;EAAF,IAAaJ,aAAa,EAAhC;EACA,MAAM;IAAEK,WAAF;IAAeC,WAAf;IAA4BC;EAA5B,IAAmDX,UAAU,CAACK,4BAA4B,CAACO,QAA9B,CAAnE;EAEA,MAAM;IAAEC;EAAF,IAAsBV,cAAc,EAA1C;EAEA,oBACE,oBAAC,eAAD;IACE,KAAK,EAAEM,WADT;IAEE,IAAI,eAAE,oBAAC,IAAD;MAAM,IAAI,EAAE;IAAZ,EAFR;IAGE,WAAW,EAAEF,iBAHf;IAIE,KAAK,eACH,oBAAC,IAAD;MAAM,MAAM,MAAZ;MAAa,KAAK,EAAEC,MAAM,CAACM;IAA3B,GACGJ,WADH,CALJ;IASE,YAAY,EAAEC;EAThB,EADF;AAaD,CAnBD;;AAqBA,eAAeL,0BAAf"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import { Divider, Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
+
import { Logger, getGroupChannelTitle } from '@sendbird/uikit-utils';
|
|
5
|
+
import ChannelCover from '../../../components/ChannelCover';
|
|
6
|
+
import { useLocalization, useSendbirdChat } from '../../../hooks/useContext';
|
|
7
|
+
import { GroupChannelSettingsContexts } from '../module/moduleContext';
|
|
8
|
+
|
|
9
|
+
const GroupChannelSettingsInfo = _ => {
|
|
10
|
+
const {
|
|
11
|
+
channel
|
|
12
|
+
} = useContext(GroupChannelSettingsContexts.Fragment);
|
|
13
|
+
const {
|
|
14
|
+
currentUser
|
|
15
|
+
} = useSendbirdChat();
|
|
16
|
+
const {
|
|
17
|
+
STRINGS
|
|
18
|
+
} = useLocalization();
|
|
19
|
+
|
|
20
|
+
if (!currentUser) {
|
|
21
|
+
Logger.warn('Cannot render GroupChannelSettingsInfo, User is not connected');
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(View, {
|
|
26
|
+
style: styles.userInfoContainer
|
|
27
|
+
}, /*#__PURE__*/React.createElement(ChannelCover, {
|
|
28
|
+
channel: channel,
|
|
29
|
+
size: 80,
|
|
30
|
+
containerStyle: styles.avatarContainer
|
|
31
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
32
|
+
h1: true,
|
|
33
|
+
numberOfLines: 1
|
|
34
|
+
}, getGroupChannelTitle(currentUser.userId, channel, STRINGS.LABELS.USER_NO_NAME, STRINGS.LABELS.CHANNEL_NO_MEMBERS))), /*#__PURE__*/React.createElement(Divider, null));
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const styles = createStyleSheet({
|
|
38
|
+
container: {
|
|
39
|
+
flex: 1
|
|
40
|
+
},
|
|
41
|
+
userInfoContainer: {
|
|
42
|
+
paddingVertical: 24,
|
|
43
|
+
alignItems: 'center'
|
|
44
|
+
},
|
|
45
|
+
avatarContainer: {
|
|
46
|
+
marginBottom: 12
|
|
47
|
+
},
|
|
48
|
+
userIdContainer: {
|
|
49
|
+
paddingVertical: 16
|
|
50
|
+
},
|
|
51
|
+
userIdLabel: {
|
|
52
|
+
marginBottom: 4
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
export default GroupChannelSettingsInfo;
|
|
56
|
+
//# sourceMappingURL=GroupChannelSettingsInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useContext","View","Divider","Text","createStyleSheet","Logger","getGroupChannelTitle","ChannelCover","useLocalization","useSendbirdChat","GroupChannelSettingsContexts","GroupChannelSettingsInfo","_","channel","Fragment","currentUser","STRINGS","warn","styles","userInfoContainer","avatarContainer","userId","LABELS","USER_NO_NAME","CHANNEL_NO_MEMBERS","container","flex","paddingVertical","alignItems","marginBottom","userIdContainer","userIdLabel"],"sources":["GroupChannelSettingsInfo.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { View } from 'react-native';\n\nimport { Divider, Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport { Logger, getGroupChannelTitle } from '@sendbird/uikit-utils';\n\nimport ChannelCover from '../../../components/ChannelCover';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelSettingsContexts } from '../module/moduleContext';\nimport type { GroupChannelSettingsProps } from '../types';\n\nconst GroupChannelSettingsInfo = (_: GroupChannelSettingsProps['Info']) => {\n const { channel } = useContext(GroupChannelSettingsContexts.Fragment);\n const { currentUser } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n\n if (!currentUser) {\n Logger.warn('Cannot render GroupChannelSettingsInfo, User is not connected');\n return null;\n }\n\n return (\n <View>\n <View style={styles.userInfoContainer}>\n <ChannelCover channel={channel} size={80} containerStyle={styles.avatarContainer} />\n <Text h1 numberOfLines={1}>\n {getGroupChannelTitle(\n currentUser.userId,\n channel,\n STRINGS.LABELS.USER_NO_NAME,\n STRINGS.LABELS.CHANNEL_NO_MEMBERS,\n )}\n </Text>\n </View>\n <Divider />\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: { flex: 1 },\n userInfoContainer: { paddingVertical: 24, alignItems: 'center' },\n avatarContainer: { marginBottom: 12 },\n userIdContainer: { paddingVertical: 16 },\n userIdLabel: { marginBottom: 4 },\n});\nexport default GroupChannelSettingsInfo;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,SAASC,IAAT,QAAqB,cAArB;AAEA,SAASC,OAAT,EAAkBC,IAAlB,EAAwBC,gBAAxB,QAAgD,yCAAhD;AACA,SAASC,MAAT,EAAiBC,oBAAjB,QAA6C,uBAA7C;AAEA,OAAOC,YAAP,MAAyB,kCAAzB;AACA,SAASC,eAAT,EAA0BC,eAA1B,QAAiD,2BAAjD;AACA,SAASC,4BAAT,QAA6C,yBAA7C;;AAGA,MAAMC,wBAAwB,GAAIC,CAAD,IAA0C;EACzE,MAAM;IAAEC;EAAF,IAAcb,UAAU,CAACU,4BAA4B,CAACI,QAA9B,CAA9B;EACA,MAAM;IAAEC;EAAF,IAAkBN,eAAe,EAAvC;EACA,MAAM;IAAEO;EAAF,IAAcR,eAAe,EAAnC;;EAEA,IAAI,CAACO,WAAL,EAAkB;IAChBV,MAAM,CAACY,IAAP,CAAY,+DAAZ;IACA,OAAO,IAAP;EACD;;EAED,oBACE,oBAAC,IAAD,qBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,YAAD;IAAc,OAAO,EAAEN,OAAvB;IAAgC,IAAI,EAAE,EAAtC;IAA0C,cAAc,EAAEK,MAAM,CAACE;EAAjE,EADF,eAEE,oBAAC,IAAD;IAAM,EAAE,MAAR;IAAS,aAAa,EAAE;EAAxB,GACGd,oBAAoB,CACnBS,WAAW,CAACM,MADO,EAEnBR,OAFmB,EAGnBG,OAAO,CAACM,MAAR,CAAeC,YAHI,EAInBP,OAAO,CAACM,MAAR,CAAeE,kBAJI,CADvB,CAFF,CADF,eAYE,oBAAC,OAAD,OAZF,CADF;AAgBD,CA1BD;;AA4BA,MAAMN,MAAM,GAAGd,gBAAgB,CAAC;EAC9BqB,SAAS,EAAE;IAAEC,IAAI,EAAE;EAAR,CADmB;EAE9BP,iBAAiB,EAAE;IAAEQ,eAAe,EAAE,EAAnB;IAAuBC,UAAU,EAAE;EAAnC,CAFW;EAG9BR,eAAe,EAAE;IAAES,YAAY,EAAE;EAAhB,CAHa;EAI9BC,eAAe,EAAE;IAAEH,eAAe,EAAE;EAAnB,CAJa;EAK9BI,WAAW,EAAE;IAAEF,YAAY,EAAE;EAAhB;AALiB,CAAD,CAA/B;AAOA,eAAelB,wBAAf"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import { Icon, MenuBar, Switch, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
+
import { useLocalization, useSendbirdChat } from '../../../hooks/useContext';
|
|
5
|
+
import { GroupChannelSettingsContexts } from '../module/moduleContext';
|
|
6
|
+
|
|
7
|
+
const GroupChannelSettingsMenu = _ref => {
|
|
8
|
+
let {
|
|
9
|
+
onPressMenuMembers,
|
|
10
|
+
onPressMenuLeaveChannel,
|
|
11
|
+
menuItemsCreator = menu => menu
|
|
12
|
+
} = _ref;
|
|
13
|
+
const {
|
|
14
|
+
sdk
|
|
15
|
+
} = useSendbirdChat();
|
|
16
|
+
const {
|
|
17
|
+
channel
|
|
18
|
+
} = useContext(GroupChannelSettingsContexts.Fragment);
|
|
19
|
+
const {
|
|
20
|
+
STRINGS
|
|
21
|
+
} = useLocalization();
|
|
22
|
+
const {
|
|
23
|
+
colors
|
|
24
|
+
} = useUIKitTheme();
|
|
25
|
+
|
|
26
|
+
const toggleNotification = async () => {
|
|
27
|
+
if (channel.myPushTriggerOption === 'off') {
|
|
28
|
+
await channel.setMyPushTriggerOption('default');
|
|
29
|
+
} else {
|
|
30
|
+
await channel.setMyPushTriggerOption('off');
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const menuItems = menuItemsCreator([{
|
|
35
|
+
icon: 'notifications',
|
|
36
|
+
name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION,
|
|
37
|
+
onPress: toggleNotification,
|
|
38
|
+
actionItem: /*#__PURE__*/React.createElement(Switch, {
|
|
39
|
+
value: channel.myPushTriggerOption !== 'off',
|
|
40
|
+
onChangeValue: toggleNotification
|
|
41
|
+
})
|
|
42
|
+
}, {
|
|
43
|
+
icon: 'members',
|
|
44
|
+
name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_MEMBERS,
|
|
45
|
+
onPress: () => onPressMenuMembers(),
|
|
46
|
+
actionLabel: String(channel.memberCount),
|
|
47
|
+
actionItem: /*#__PURE__*/React.createElement(Icon, {
|
|
48
|
+
icon: 'chevron-right',
|
|
49
|
+
color: colors.onBackground01
|
|
50
|
+
})
|
|
51
|
+
}, {
|
|
52
|
+
icon: 'leave',
|
|
53
|
+
iconColor: colors.error,
|
|
54
|
+
name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_LEAVE_CHANNEL,
|
|
55
|
+
onPress: () => {
|
|
56
|
+
channel.leave().then(() => {
|
|
57
|
+
onPressMenuLeaveChannel();
|
|
58
|
+
sdk.clearCachedMessages([channel.url]).catch();
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}]);
|
|
62
|
+
return /*#__PURE__*/React.createElement(View, null, menuItems.map(menu => {
|
|
63
|
+
return /*#__PURE__*/React.createElement(MenuBar, {
|
|
64
|
+
key: menu.name,
|
|
65
|
+
onPress: menu.onPress,
|
|
66
|
+
name: menu.name,
|
|
67
|
+
disabled: menu.disabled,
|
|
68
|
+
icon: menu.icon,
|
|
69
|
+
iconColor: menu.iconColor,
|
|
70
|
+
iconBackgroundColor: menu.iconBackgroundColor,
|
|
71
|
+
actionLabel: menu.actionLabel,
|
|
72
|
+
actionItem: menu.actionItem
|
|
73
|
+
});
|
|
74
|
+
}));
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export default GroupChannelSettingsMenu;
|
|
78
|
+
//# sourceMappingURL=GroupChannelSettingsMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useContext","View","Icon","MenuBar","Switch","useUIKitTheme","useLocalization","useSendbirdChat","GroupChannelSettingsContexts","GroupChannelSettingsMenu","onPressMenuMembers","onPressMenuLeaveChannel","menuItemsCreator","menu","sdk","channel","Fragment","STRINGS","colors","toggleNotification","myPushTriggerOption","setMyPushTriggerOption","menuItems","icon","name","GROUP_CHANNEL_SETTINGS","MENU_NOTIFICATION","onPress","actionItem","MENU_MEMBERS","actionLabel","String","memberCount","onBackground01","iconColor","error","MENU_LEAVE_CHANNEL","leave","then","clearCachedMessages","url","catch","map","disabled","iconBackgroundColor"],"sources":["GroupChannelSettingsMenu.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { View } from 'react-native';\n\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport { Icon, MenuBar, Switch, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelSettingsContexts } from '../module/moduleContext';\nimport type { GroupChannelSettingsProps } from '../types';\n\nconst GroupChannelSettingsMenu = ({\n onPressMenuMembers,\n onPressMenuLeaveChannel,\n menuItemsCreator = (menu) => menu,\n}: GroupChannelSettingsProps['Menu']) => {\n const { sdk } = useSendbirdChat();\n const { channel } = useContext(GroupChannelSettingsContexts.Fragment);\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const toggleNotification = async () => {\n if (channel.myPushTriggerOption === 'off') {\n await channel.setMyPushTriggerOption('default');\n } else {\n await channel.setMyPushTriggerOption('off');\n }\n };\n\n const menuItems: MenuBarProps[] = menuItemsCreator([\n {\n icon: 'notifications',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION,\n onPress: toggleNotification,\n actionItem: <Switch value={channel.myPushTriggerOption !== 'off'} onChangeValue={toggleNotification} />,\n },\n {\n icon: 'members',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_MEMBERS,\n onPress: () => onPressMenuMembers(),\n actionLabel: String(channel.memberCount),\n actionItem: <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n },\n {\n icon: 'leave',\n iconColor: colors.error,\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_LEAVE_CHANNEL,\n onPress: () => {\n channel.leave().then(() => {\n onPressMenuLeaveChannel();\n sdk.clearCachedMessages([channel.url]).catch();\n });\n },\n },\n ]);\n\n return (\n <View>\n {menuItems.map((menu) => {\n return (\n <MenuBar\n key={menu.name}\n onPress={menu.onPress}\n name={menu.name}\n disabled={menu.disabled}\n icon={menu.icon}\n iconColor={menu.iconColor}\n iconBackgroundColor={menu.iconBackgroundColor}\n actionLabel={menu.actionLabel}\n actionItem={menu.actionItem}\n />\n );\n })}\n </View>\n );\n};\n\nexport default GroupChannelSettingsMenu;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,SAASC,IAAT,QAAqB,cAArB;AAGA,SAASC,IAAT,EAAeC,OAAf,EAAwBC,MAAxB,EAAgCC,aAAhC,QAAqD,yCAArD;AAEA,SAASC,eAAT,EAA0BC,eAA1B,QAAiD,2BAAjD;AACA,SAASC,4BAAT,QAA6C,yBAA7C;;AAGA,MAAMC,wBAAwB,GAAG,QAIQ;EAAA,IAJP;IAChCC,kBADgC;IAEhCC,uBAFgC;IAGhCC,gBAAgB,GAAIC,IAAD,IAAUA;EAHG,CAIO;EACvC,MAAM;IAAEC;EAAF,IAAUP,eAAe,EAA/B;EACA,MAAM;IAAEQ;EAAF,IAAcf,UAAU,CAACQ,4BAA4B,CAACQ,QAA9B,CAA9B;EACA,MAAM;IAAEC;EAAF,IAAcX,eAAe,EAAnC;EACA,MAAM;IAAEY;EAAF,IAAab,aAAa,EAAhC;;EAEA,MAAMc,kBAAkB,GAAG,YAAY;IACrC,IAAIJ,OAAO,CAACK,mBAAR,KAAgC,KAApC,EAA2C;MACzC,MAAML,OAAO,CAACM,sBAAR,CAA+B,SAA/B,CAAN;IACD,CAFD,MAEO;MACL,MAAMN,OAAO,CAACM,sBAAR,CAA+B,KAA/B,CAAN;IACD;EACF,CAND;;EAQA,MAAMC,SAAyB,GAAGV,gBAAgB,CAAC,CACjD;IACEW,IAAI,EAAE,eADR;IAEEC,IAAI,EAAEP,OAAO,CAACQ,sBAAR,CAA+BC,iBAFvC;IAGEC,OAAO,EAAER,kBAHX;IAIES,UAAU,eAAE,oBAAC,MAAD;MAAQ,KAAK,EAAEb,OAAO,CAACK,mBAAR,KAAgC,KAA/C;MAAsD,aAAa,EAAED;IAArE;EAJd,CADiD,EAOjD;IACEI,IAAI,EAAE,SADR;IAEEC,IAAI,EAAEP,OAAO,CAACQ,sBAAR,CAA+BI,YAFvC;IAGEF,OAAO,EAAE,MAAMjB,kBAAkB,EAHnC;IAIEoB,WAAW,EAAEC,MAAM,CAAChB,OAAO,CAACiB,WAAT,CAJrB;IAKEJ,UAAU,eAAE,oBAAC,IAAD;MAAM,IAAI,EAAE,eAAZ;MAA6B,KAAK,EAAEV,MAAM,CAACe;IAA3C;EALd,CAPiD,EAcjD;IACEV,IAAI,EAAE,OADR;IAEEW,SAAS,EAAEhB,MAAM,CAACiB,KAFpB;IAGEX,IAAI,EAAEP,OAAO,CAACQ,sBAAR,CAA+BW,kBAHvC;IAIET,OAAO,EAAE,MAAM;MACbZ,OAAO,CAACsB,KAAR,GAAgBC,IAAhB,CAAqB,MAAM;QACzB3B,uBAAuB;QACvBG,GAAG,CAACyB,mBAAJ,CAAwB,CAACxB,OAAO,CAACyB,GAAT,CAAxB,EAAuCC,KAAvC;MACD,CAHD;IAID;EATH,CAdiD,CAAD,CAAlD;EA2BA,oBACE,oBAAC,IAAD,QACGnB,SAAS,CAACoB,GAAV,CAAe7B,IAAD,IAAU;IACvB,oBACE,oBAAC,OAAD;MACE,GAAG,EAAEA,IAAI,CAACW,IADZ;MAEE,OAAO,EAAEX,IAAI,CAACc,OAFhB;MAGE,IAAI,EAAEd,IAAI,CAACW,IAHb;MAIE,QAAQ,EAAEX,IAAI,CAAC8B,QAJjB;MAKE,IAAI,EAAE9B,IAAI,CAACU,IALb;MAME,SAAS,EAAEV,IAAI,CAACqB,SANlB;MAOE,mBAAmB,EAAErB,IAAI,CAAC+B,mBAP5B;MAQE,WAAW,EAAE/B,IAAI,CAACiB,WARpB;MASE,UAAU,EAAEjB,IAAI,CAACe;IATnB,EADF;EAaD,CAdA,CADH,CADF;AAmBD,CAhED;;AAkEA,eAAenB,wBAAf"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as GroupChannelSettingsHeader } from './component/GroupChannelSettingsHeader';
|
|
2
|
+
export { default as GroupChannelSettingsInfo } from './component/GroupChannelSettingsInfo';
|
|
3
|
+
export { default as GroupChannelSettingsMenu } from './component/GroupChannelSettingsMenu';
|
|
4
|
+
export { default as createGroupChannelSettingsModule } from './module/createGroupChannelSettingsModule';
|
|
5
|
+
export { GroupChannelSettingsContextsProvider, GroupChannelSettingsContexts } from './module/moduleContext';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default","GroupChannelSettingsHeader","GroupChannelSettingsInfo","GroupChannelSettingsMenu","createGroupChannelSettingsModule","GroupChannelSettingsContextsProvider","GroupChannelSettingsContexts"],"sources":["index.ts"],"sourcesContent":["export { default as GroupChannelSettingsHeader } from './component/GroupChannelSettingsHeader';\nexport { default as GroupChannelSettingsInfo } from './component/GroupChannelSettingsInfo';\nexport { default as GroupChannelSettingsMenu } from './component/GroupChannelSettingsMenu';\nexport { default as createGroupChannelSettingsModule } from './module/createGroupChannelSettingsModule';\nexport { GroupChannelSettingsContextsProvider, GroupChannelSettingsContexts } from './module/moduleContext';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,0BAApB,QAAsD,wCAAtD;AACA,SAASD,OAAO,IAAIE,wBAApB,QAAoD,sCAApD;AACA,SAASF,OAAO,IAAIG,wBAApB,QAAoD,sCAApD;AACA,SAASH,OAAO,IAAII,gCAApB,QAA4D,2CAA5D;AACA,SAASC,oCAAT,EAA+CC,4BAA/C,QAAmF,wBAAnF"}
|