@sendbird/uikit-react-native 3.4.0 → 3.4.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/components/ChannelInput/index.js.map +1 -1
- package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js +2 -2
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelModeration/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/types.js.map +1 -1
- package/lib/commonjs/domain/openChannel/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelCreate/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelModeration/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelOperators/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelSettings/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelUserList/types.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +18 -3
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelListFragment.js +29 -15
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/components/ChannelInput/index.js.map +1 -1
- package/lib/module/components/ChannelMessageList/index.js.map +1 -1
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js +2 -2
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -1
- package/lib/module/domain/groupChannel/types.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/types.js.map +1 -1
- package/lib/module/domain/groupChannelList/types.js.map +1 -1
- package/lib/module/domain/groupChannelModeration/types.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/types.js.map +1 -1
- package/lib/module/domain/groupChannelNotifications/types.js.map +1 -1
- package/lib/module/domain/groupChannelOperators/types.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
- package/lib/module/domain/messageSearch/types.js.map +1 -1
- package/lib/module/domain/openChannel/types.js.map +1 -1
- package/lib/module/domain/openChannelBannedUsers/types.js.map +1 -1
- package/lib/module/domain/openChannelCreate/types.js.map +1 -1
- package/lib/module/domain/openChannelList/types.js.map +1 -1
- package/lib/module/domain/openChannelModeration/types.js.map +1 -1
- package/lib/module/domain/openChannelMutedParticipants/types.js.map +1 -1
- package/lib/module/domain/openChannelOperators/types.js.map +1 -1
- package/lib/module/domain/openChannelSettings/types.js.map +1 -1
- package/lib/module/domain/openChannelUserList/types.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +18 -3
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelListFragment.js +30 -16
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/src/components/ChannelInput/index.d.ts +2 -2
- package/lib/typescript/src/components/ChannelMessageList/index.d.ts +4 -5
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannel/types.d.ts +13 -2
- package/lib/typescript/src/domain/groupChannelBannedUsers/types.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelList/types.d.ts +13 -2
- package/lib/typescript/src/domain/groupChannelModeration/types.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelMutedMembers/types.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelNotifications/types.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelOperators/types.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +3 -2
- package/lib/typescript/src/domain/messageSearch/types.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/types.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelBannedUsers/types.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelCreate/types.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelList/types.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelModeration/types.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelMutedParticipants/types.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelOperators/types.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelSettings/types.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelUserList/types.d.ts +3 -3
- package/lib/typescript/src/types.d.ts +4 -4
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +5 -5
- package/src/components/ChannelInput/index.tsx +2 -2
- package/src/components/ChannelMessageList/index.tsx +4 -10
- package/src/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.tsx +3 -3
- package/src/domain/groupChannel/types.ts +14 -2
- package/src/domain/groupChannelBannedUsers/types.ts +1 -1
- package/src/domain/groupChannelList/types.ts +13 -2
- package/src/domain/groupChannelModeration/types.ts +1 -1
- package/src/domain/groupChannelMutedMembers/types.ts +1 -1
- package/src/domain/groupChannelNotifications/types.ts +1 -1
- package/src/domain/groupChannelOperators/types.ts +1 -1
- package/src/domain/groupChannelSettings/types.ts +1 -1
- package/src/domain/groupChannelUserList/types.ts +2 -2
- package/src/domain/messageSearch/types.ts +1 -1
- package/src/domain/openChannel/types.ts +1 -1
- package/src/domain/openChannelBannedUsers/types.ts +1 -1
- package/src/domain/openChannelCreate/types.ts +1 -1
- package/src/domain/openChannelList/types.ts +1 -1
- package/src/domain/openChannelModeration/types.ts +1 -1
- package/src/domain/openChannelMutedParticipants/types.ts +1 -1
- package/src/domain/openChannelOperators/types.ts +1 -1
- package/src/domain/openChannelSettings/types.ts +1 -1
- package/src/domain/openChannelUserList/types.ts +4 -3
- package/src/fragments/createGroupChannelFragment.tsx +21 -5
- package/src/fragments/createGroupChannelListFragment.tsx +31 -13
- package/src/types.ts +2 -2
- package/src/version.ts +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { GroupChannelFilter } from '@sendbird/chat/groupChannel';
|
|
3
|
+
import { useGroupChannelList } from '@sendbird/uikit-tools';
|
|
4
|
+
import { PASS, confirmAndMarkAsDelivered, useAppState, useFreshCallback } from '@sendbird/uikit-utils';
|
|
4
5
|
import StatusComposition from '../components/StatusComposition';
|
|
5
6
|
import GroupChannelPreviewContainer from '../containers/GroupChannelPreviewContainer';
|
|
6
7
|
import createGroupChannelListModule from '../domain/groupChannelList/module/createGroupChannelListModule';
|
|
@@ -11,45 +12,45 @@ const createGroupChannelListFragment = initModule => {
|
|
|
11
12
|
let {
|
|
12
13
|
onPressChannel,
|
|
13
14
|
onPressCreateChannel,
|
|
14
|
-
collectionCreator,
|
|
15
15
|
renderGroupChannelPreview,
|
|
16
16
|
skipTypeSelection = false,
|
|
17
17
|
flatListProps = {},
|
|
18
|
-
menuItemCreator = PASS
|
|
18
|
+
menuItemCreator = PASS,
|
|
19
|
+
channelListQueryParams,
|
|
20
|
+
collectionCreator
|
|
19
21
|
} = _ref;
|
|
20
22
|
const {
|
|
21
23
|
sdk,
|
|
22
|
-
currentUser,
|
|
23
24
|
sbOptions,
|
|
24
25
|
markAsDeliveredWithChannel
|
|
25
26
|
} = useSendbirdChat();
|
|
26
27
|
const {
|
|
27
28
|
groupChannels,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
} = useGroupChannelList(sdk,
|
|
31
|
-
collectionCreator,
|
|
32
|
-
|
|
29
|
+
loadMore,
|
|
30
|
+
initialized
|
|
31
|
+
} = useGroupChannelList(sdk, {
|
|
32
|
+
collectionCreator: getCollectionCreator(sdk, channelListQueryParams, collectionCreator),
|
|
33
|
+
markAsDelivered: confirmAndMarkAsDelivered
|
|
33
34
|
});
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
useAppState('change', status => {
|
|
36
|
+
if (sbOptions.appInfo.deliveryReceiptEnabled) {
|
|
36
37
|
if (status === 'active') groupChannels.forEach(markAsDeliveredWithChannel);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
39
40
|
const _renderGroupChannelPreview = useFreshCallback(props => {
|
|
40
41
|
if (renderGroupChannelPreview) return renderGroupChannelPreview(props);
|
|
41
42
|
return /*#__PURE__*/React.createElement(GroupChannelPreviewContainer, props);
|
|
42
43
|
});
|
|
43
44
|
const isChannelTypeAvailable = sbOptions.appInfo.broadcastChannelEnabled || sbOptions.appInfo.superGroupChannelEnabled;
|
|
44
45
|
return /*#__PURE__*/React.createElement(GroupChannelListModule.Provider, null, /*#__PURE__*/React.createElement(GroupChannelListModule.Header, null), /*#__PURE__*/React.createElement(StatusComposition, {
|
|
45
|
-
loading:
|
|
46
|
+
loading: !initialized,
|
|
46
47
|
LoadingComponent: /*#__PURE__*/React.createElement(GroupChannelListModule.StatusLoading, null)
|
|
47
48
|
}, /*#__PURE__*/React.createElement(GroupChannelListModule.List, {
|
|
48
49
|
onPressChannel: onPressChannel,
|
|
49
50
|
menuItemCreator: menuItemCreator,
|
|
50
51
|
renderGroupChannelPreview: _renderGroupChannelPreview,
|
|
51
52
|
groupChannels: groupChannels,
|
|
52
|
-
onLoadNext:
|
|
53
|
+
onLoadNext: loadMore,
|
|
53
54
|
flatListProps: {
|
|
54
55
|
ListEmptyComponent: /*#__PURE__*/React.createElement(GroupChannelListModule.StatusEmpty, null),
|
|
55
56
|
contentContainerStyle: {
|
|
@@ -63,5 +64,18 @@ const createGroupChannelListFragment = initModule => {
|
|
|
63
64
|
}));
|
|
64
65
|
};
|
|
65
66
|
};
|
|
67
|
+
function getCollectionCreator(sdk, channelListQueryParams, deprecatedCreatorProp) {
|
|
68
|
+
if (!channelListQueryParams && deprecatedCreatorProp) return deprecatedCreatorProp;
|
|
69
|
+
return defaultParams => {
|
|
70
|
+
const params = {
|
|
71
|
+
...defaultParams,
|
|
72
|
+
...channelListQueryParams
|
|
73
|
+
};
|
|
74
|
+
return sdk.groupChannel.createGroupChannelCollection({
|
|
75
|
+
...params,
|
|
76
|
+
filter: new GroupChannelFilter(params)
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
}
|
|
66
80
|
export default createGroupChannelListFragment;
|
|
67
81
|
//# sourceMappingURL=createGroupChannelListFragment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useGroupChannelList","PASS","useAppState","useFreshCallback","StatusComposition","GroupChannelPreviewContainer","createGroupChannelListModule","useSendbirdChat","createGroupChannelListFragment","initModule","GroupChannelListModule","_ref","onPressChannel","onPressCreateChannel","
|
|
1
|
+
{"version":3,"names":["React","GroupChannelFilter","useGroupChannelList","PASS","confirmAndMarkAsDelivered","useAppState","useFreshCallback","StatusComposition","GroupChannelPreviewContainer","createGroupChannelListModule","useSendbirdChat","createGroupChannelListFragment","initModule","GroupChannelListModule","_ref","onPressChannel","onPressCreateChannel","renderGroupChannelPreview","skipTypeSelection","flatListProps","menuItemCreator","channelListQueryParams","collectionCreator","sdk","sbOptions","markAsDeliveredWithChannel","groupChannels","loadMore","initialized","getCollectionCreator","markAsDelivered","status","appInfo","deliveryReceiptEnabled","forEach","_renderGroupChannelPreview","props","createElement","isChannelTypeAvailable","broadcastChannelEnabled","superGroupChannelEnabled","Provider","Header","loading","LoadingComponent","StatusLoading","List","onLoadNext","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","TypeSelector","onSelectType","deprecatedCreatorProp","defaultParams","params","groupChannel","createGroupChannelCollection","filter"],"sources":["createGroupChannelListFragment.tsx"],"sourcesContent":["import React from 'react';\n\nimport { GroupChannelCollection, GroupChannelFilter } from '@sendbird/chat/groupChannel';\nimport { useGroupChannelList } from '@sendbird/uikit-tools';\nimport { PASS, SendbirdChatSDK, confirmAndMarkAsDelivered, useAppState, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport GroupChannelPreviewContainer from '../containers/GroupChannelPreviewContainer';\nimport createGroupChannelListModule from '../domain/groupChannelList/module/createGroupChannelListModule';\nimport type {\n GroupChannelListFragment,\n GroupChannelListModule,\n GroupChannelListProps,\n} from '../domain/groupChannelList/types';\nimport { useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelListFragment = (initModule?: Partial<GroupChannelListModule>): GroupChannelListFragment => {\n const GroupChannelListModule = createGroupChannelListModule(initModule);\n return ({\n onPressChannel,\n onPressCreateChannel,\n renderGroupChannelPreview,\n skipTypeSelection = false,\n flatListProps = {},\n menuItemCreator = PASS,\n channelListQueryParams,\n collectionCreator,\n }) => {\n const { sdk, sbOptions, markAsDeliveredWithChannel } = useSendbirdChat();\n const { groupChannels, loadMore, initialized } = useGroupChannelList(sdk, {\n collectionCreator: getCollectionCreator(sdk, channelListQueryParams, collectionCreator),\n markAsDelivered: confirmAndMarkAsDelivered,\n });\n\n useAppState('change', (status) => {\n if (sbOptions.appInfo.deliveryReceiptEnabled) {\n if (status === 'active') groupChannels.forEach(markAsDeliveredWithChannel);\n }\n });\n\n const _renderGroupChannelPreview: GroupChannelListProps['List']['renderGroupChannelPreview'] = useFreshCallback(\n (props) => {\n if (renderGroupChannelPreview) return renderGroupChannelPreview(props);\n return <GroupChannelPreviewContainer {...props} />;\n },\n );\n\n const isChannelTypeAvailable =\n sbOptions.appInfo.broadcastChannelEnabled || sbOptions.appInfo.superGroupChannelEnabled;\n\n return (\n <GroupChannelListModule.Provider>\n <GroupChannelListModule.Header />\n <StatusComposition loading={!initialized} LoadingComponent={<GroupChannelListModule.StatusLoading />}>\n <GroupChannelListModule.List\n onPressChannel={onPressChannel}\n menuItemCreator={menuItemCreator}\n renderGroupChannelPreview={_renderGroupChannelPreview}\n groupChannels={groupChannels}\n onLoadNext={loadMore}\n flatListProps={{\n ListEmptyComponent: <GroupChannelListModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }}\n />\n </StatusComposition>\n <GroupChannelListModule.TypeSelector\n skipTypeSelection={isChannelTypeAvailable ? skipTypeSelection : true}\n onSelectType={onPressCreateChannel}\n />\n </GroupChannelListModule.Provider>\n );\n };\n};\n\nfunction getCollectionCreator(\n sdk: SendbirdChatSDK,\n channelListQueryParams?: GroupChannelListProps['Fragment']['channelListQueryParams'],\n deprecatedCreatorProp?: () => GroupChannelCollection,\n) {\n if (!channelListQueryParams && deprecatedCreatorProp) return deprecatedCreatorProp;\n\n return (defaultParams: GroupChannelListProps['Fragment']['channelListQueryParams']) => {\n const params = { ...defaultParams, ...channelListQueryParams };\n return sdk.groupChannel.createGroupChannelCollection({\n ...params,\n filter: new GroupChannelFilter(params),\n });\n };\n}\n\nexport default createGroupChannelListFragment;\n"],"mappings":"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"}
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TypingIndicatorType"],"sources":["types.ts"],"sourcesContent":["import type { ErrorInfo, ReactNode } from 'react';\n\nimport type { SendbirdUser } from '@sendbird/uikit-utils';\n\nexport type KeyValuePairGet = [string, string | null];\nexport type KeyValuePairSet = [string, string];\nexport interface LocalCacheStorage {\n getAllKeys(): Promise<readonly string[] | string[]>;\n getItem(key: string): Promise<string | null>;\n setItem(key: string, value: string): Promise<void>;\n removeItem(key: string): Promise<void>;\n\n multiSet?(keyValuePairs: Array<KeyValuePairSet>): Promise<void>;\n multiGet?(keys: string[]): Promise<readonly KeyValuePairGet[] | KeyValuePairGet[]>;\n multiRemove?(keys: string[]): Promise<void>;\n}\n\nexport type ErrorBoundaryProps = { error: Error; errorInfo: ErrorInfo; reset: () => void };\n\nexport type CommonComponent<P = {}> =
|
|
1
|
+
{"version":3,"names":["TypingIndicatorType"],"sources":["types.ts"],"sourcesContent":["import type { ComponentType, ErrorInfo, ReactNode } from 'react';\n\nimport type { SendbirdUser } from '@sendbird/uikit-utils';\n\nexport type KeyValuePairGet = [string, string | null];\nexport type KeyValuePairSet = [string, string];\nexport interface LocalCacheStorage {\n getAllKeys(): Promise<readonly string[] | string[]>;\n getItem(key: string): Promise<string | null>;\n setItem(key: string, value: string): Promise<void>;\n removeItem(key: string): Promise<void>;\n\n multiSet?(keyValuePairs: Array<KeyValuePairSet>): Promise<void>;\n multiGet?(keys: string[]): Promise<readonly KeyValuePairGet[] | KeyValuePairGet[]>;\n multiRemove?(keys: string[]): Promise<void>;\n}\n\nexport type ErrorBoundaryProps = { error: Error; errorInfo: ErrorInfo; reset: () => void };\n\nexport type CommonComponent<P = {}> = ComponentType<P & { children?: ReactNode | undefined }>;\n\nexport type MentionedUser = {\n range: Range;\n user: SendbirdUser;\n};\n\nexport type Range = {\n start: number;\n end: number;\n};\n\nexport enum TypingIndicatorType {\n Text = 'text',\n Bubble = 'bubble',\n}\n"],"mappings":"AA+BA,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA"}
|
package/lib/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.4.
|
|
1
|
+
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.4.2';\nexport default VERSION;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAG,OAAO;AACvB,eAAeA,OAAO"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { StyleProp, TextStyle } from 'react-native';
|
|
3
3
|
import { SendbirdBaseChannel, SendbirdFileMessage, SendbirdFileMessageCreateParams, SendbirdFileMessageUpdateParams, SendbirdMember, SendbirdUserMessage, SendbirdUserMessageCreateParams, SendbirdUserMessageUpdateParams } from '@sendbird/uikit-utils';
|
|
4
|
-
import type { MentionedUser, Range } from '../../types';
|
|
4
|
+
import type { CommonComponent, MentionedUser, Range } from '../../types';
|
|
5
5
|
import type { AttachmentsButtonProps } from './AttachmentsButton';
|
|
6
6
|
import type { MessageToReplyPreviewProps } from './MessageToReplyPreview';
|
|
7
7
|
import { VoiceMessageInputProps } from './VoiceMessageInput';
|
|
@@ -30,7 +30,7 @@ export type ChannelInputProps = {
|
|
|
30
30
|
setMessageToEdit: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;
|
|
31
31
|
messageToReply?: undefined | SendbirdUserMessage | SendbirdFileMessage;
|
|
32
32
|
setMessageToReply?: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;
|
|
33
|
-
SuggestedMentionList?:
|
|
33
|
+
SuggestedMentionList?: CommonComponent<SuggestedMentionListProps>;
|
|
34
34
|
AttachmentsButton?: (props: AttachmentsButtonProps) => React.ReactNode | null;
|
|
35
35
|
MessageToReplyPreview?: (props: MessageToReplyPreviewProps) => React.ReactNode | null;
|
|
36
36
|
VoiceMessageInput?: (props: VoiceMessageInputProps) => React.ReactNode | null;
|
|
@@ -3,7 +3,6 @@ import { FlatList, FlatListProps } from 'react-native';
|
|
|
3
3
|
import { BottomSheetItem } from '@sendbird/uikit-react-native-foundation';
|
|
4
4
|
import { SendbirdFileMessage, SendbirdGroupChannel, SendbirdMessage, SendbirdOpenChannel, SendbirdUserMessage } from '@sendbird/uikit-utils';
|
|
5
5
|
import type { UserProfileContextType } from '../../contexts/UserProfileCtx';
|
|
6
|
-
import type { CommonComponent } from '../../types';
|
|
7
6
|
type HandleableMessage = SendbirdUserMessage | SendbirdFileMessage;
|
|
8
7
|
export type ChannelMessageListProps<T extends SendbirdGroupChannel | SendbirdOpenChannel> = {
|
|
9
8
|
enableMessageGrouping: boolean;
|
|
@@ -42,15 +41,15 @@ export type ChannelMessageListProps<T extends SendbirdGroupChannel | SendbirdOpe
|
|
|
42
41
|
bottomSheetItem?: BottomSheetItem;
|
|
43
42
|
isFirstItem: boolean;
|
|
44
43
|
}) => React.ReactElement | null;
|
|
45
|
-
renderNewMessagesButton: null |
|
|
44
|
+
renderNewMessagesButton: null | ((props: {
|
|
46
45
|
visible: boolean;
|
|
47
46
|
onPress: () => void;
|
|
48
47
|
newMessages: SendbirdMessage[];
|
|
49
|
-
}
|
|
50
|
-
renderScrollToBottomButton: null |
|
|
48
|
+
}) => React.ReactElement | null);
|
|
49
|
+
renderScrollToBottomButton: null | ((props: {
|
|
51
50
|
visible: boolean;
|
|
52
51
|
onPress: () => void;
|
|
53
|
-
}
|
|
52
|
+
}) => React.ReactElement | null);
|
|
54
53
|
flatListProps?: Omit<FlatListProps<SendbirdMessage>, 'data' | 'renderItem'>;
|
|
55
54
|
} & {
|
|
56
55
|
ref?: Ref<FlatList<SendbirdMessage>> | undefined;
|
|
@@ -13,7 +13,7 @@ import type { StringSet } from '../localization/StringSet.type';
|
|
|
13
13
|
import type { ClipboardServiceInterface, FileServiceInterface, MediaServiceInterface, NotificationServiceInterface, PlayerServiceInterface, RecorderServiceInterface } from '../platform/types';
|
|
14
14
|
import type { ErrorBoundaryProps, LocalCacheStorage } from '../types';
|
|
15
15
|
export declare const SendbirdUIKit: Readonly<{
|
|
16
|
-
VERSION: "3.4.
|
|
16
|
+
VERSION: "3.4.2";
|
|
17
17
|
PLATFORM: string;
|
|
18
18
|
DEFAULT: {
|
|
19
19
|
AUTO_PUSH_TOKEN_REGISTRATION: boolean;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import type { FlatList } from 'react-native';
|
|
3
|
+
import type { MessageCollectionParams, MessageFilterParams } from '@sendbird/chat/groupChannel';
|
|
3
4
|
import type { UseGroupChannelMessagesOptions } from '@sendbird/uikit-chat-hooks';
|
|
4
5
|
import type { OnBeforeHandler, SendbirdFileMessage, SendbirdFileMessageCreateParams, SendbirdFileMessageUpdateParams, SendbirdGroupChannel, SendbirdMessage, SendbirdUser, SendbirdUserMessage, SendbirdUserMessageCreateParams, SendbirdUserMessageUpdateParams } from '@sendbird/uikit-utils';
|
|
5
6
|
import type { ChannelInputProps, SuggestedMentionListProps } from '../../components/ChannelInput';
|
|
6
7
|
import type { ChannelMessageListProps } from '../../components/ChannelMessageList';
|
|
7
8
|
import type { CommonComponent } from '../../types';
|
|
8
9
|
import type { PubSub } from '../../utils/pubsub';
|
|
10
|
+
export type MessageListQueryParamsType = Omit<MessageCollectionParams, 'filter'> & MessageFilterParams;
|
|
9
11
|
export interface GroupChannelProps {
|
|
10
12
|
Fragment: {
|
|
11
13
|
channel: SendbirdGroupChannel;
|
|
@@ -25,8 +27,17 @@ export interface GroupChannelProps {
|
|
|
25
27
|
keyboardAvoidOffset?: GroupChannelProps['Provider']['keyboardAvoidOffset'];
|
|
26
28
|
flatListProps?: GroupChannelProps['MessageList']['flatListProps'];
|
|
27
29
|
sortComparator?: UseGroupChannelMessagesOptions['sortComparator'];
|
|
28
|
-
collectionCreator?: UseGroupChannelMessagesOptions['collectionCreator'];
|
|
29
30
|
searchItem?: GroupChannelProps['MessageList']['searchItem'];
|
|
31
|
+
/**
|
|
32
|
+
* @description You can specify the query parameters for the message list.
|
|
33
|
+
* @example
|
|
34
|
+
* ```
|
|
35
|
+
* <GroupChannelFragment messageListQueryParams={{ prevResultLimit: 20, customTypesFilter: ['filter'] }} />
|
|
36
|
+
* ```
|
|
37
|
+
* */
|
|
38
|
+
messageListQueryParams?: MessageListQueryParamsType;
|
|
39
|
+
/** @deprecated Please use `messageListQueryParams` instead */
|
|
40
|
+
collectionCreator?: UseGroupChannelMessagesOptions['collectionCreator'];
|
|
30
41
|
};
|
|
31
42
|
Header: {
|
|
32
43
|
shouldHideRight: () => boolean;
|
|
@@ -120,7 +131,7 @@ export interface GroupChannelModule {
|
|
|
120
131
|
StatusEmpty: CommonComponent;
|
|
121
132
|
StatusLoading: CommonComponent;
|
|
122
133
|
}
|
|
123
|
-
export type GroupChannelFragment =
|
|
134
|
+
export type GroupChannelFragment = React.FC<GroupChannelProps['Fragment']>;
|
|
124
135
|
export type GroupChannelPubSubContextPayload = {
|
|
125
136
|
type: 'MESSAGE_SENT_PENDING' | 'MESSAGE_SENT_SUCCESS';
|
|
126
137
|
data: {
|
|
@@ -46,4 +46,4 @@ export interface GroupChannelBannedUsersModule {
|
|
|
46
46
|
StatusLoading: CommonComponent;
|
|
47
47
|
StatusError: CommonComponent<GroupChannelBannedUsersProps['StatusError']>;
|
|
48
48
|
}
|
|
49
|
-
export type GroupChannelBannedUsersFragment =
|
|
49
|
+
export type GroupChannelBannedUsersFragment = React.FC<GroupChannelBannedUsersProps['Fragment']>;
|
|
@@ -1,18 +1,29 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import type { FlatListProps } from 'react-native';
|
|
3
|
+
import type { GroupChannelCollectionParams, GroupChannelFilterParams } from '@sendbird/chat/groupChannel';
|
|
3
4
|
import type { UseGroupChannelListOptions } from '@sendbird/uikit-chat-hooks';
|
|
4
5
|
import type { ActionMenuItem } from '@sendbird/uikit-react-native-foundation';
|
|
5
6
|
import type { SendbirdGroupChannel } from '@sendbird/uikit-utils';
|
|
6
7
|
import type { CommonComponent } from '../../types';
|
|
8
|
+
export type ChannelListQueryParamsType = Omit<GroupChannelCollectionParams, 'filter'> & GroupChannelFilterParams;
|
|
7
9
|
export interface GroupChannelListProps {
|
|
8
10
|
Fragment: {
|
|
9
11
|
onPressChannel: GroupChannelListProps['List']['onPressChannel'];
|
|
10
12
|
onPressCreateChannel: (channelType: GroupChannelType) => void;
|
|
11
13
|
renderGroupChannelPreview?: GroupChannelListProps['List']['renderGroupChannelPreview'];
|
|
12
14
|
skipTypeSelection?: boolean;
|
|
13
|
-
collectionCreator?: UseGroupChannelListOptions['collectionCreator'];
|
|
14
15
|
flatListProps?: GroupChannelListProps['List']['flatListProps'];
|
|
15
16
|
menuItemCreator?: GroupChannelListProps['List']['menuItemCreator'];
|
|
17
|
+
/**
|
|
18
|
+
* @description You can specify the query parameters for the channel list.
|
|
19
|
+
* @example
|
|
20
|
+
* ```
|
|
21
|
+
* <GroupChannelListFragment channelListQueryParams={{ limit: 20, includeEmpty: false }} />
|
|
22
|
+
* ```
|
|
23
|
+
* */
|
|
24
|
+
channelListQueryParams?: ChannelListQueryParamsType;
|
|
25
|
+
/** @deprecated Please use `channelListQueryParams` instead */
|
|
26
|
+
collectionCreator?: UseGroupChannelListOptions['collectionCreator'];
|
|
16
27
|
};
|
|
17
28
|
Header: {};
|
|
18
29
|
List: {
|
|
@@ -56,5 +67,5 @@ export interface GroupChannelListModule {
|
|
|
56
67
|
StatusEmpty: CommonComponent;
|
|
57
68
|
StatusLoading: CommonComponent;
|
|
58
69
|
}
|
|
59
|
-
export type GroupChannelListFragment =
|
|
70
|
+
export type GroupChannelListFragment = React.FC<GroupChannelListProps['Fragment']>;
|
|
60
71
|
export type GroupChannelType = 'GROUP' | 'SUPER_GROUP' | 'BROADCAST';
|
|
@@ -40,4 +40,4 @@ export interface GroupChannelModerationModule {
|
|
|
40
40
|
Header: CommonComponent<GroupChannelModerationProps['Header']>;
|
|
41
41
|
Menu: CommonComponent<GroupChannelModerationProps['Menu']>;
|
|
42
42
|
}
|
|
43
|
-
export type GroupChannelModerationFragment =
|
|
43
|
+
export type GroupChannelModerationFragment = React.FC<GroupChannelModerationProps['Fragment']>;
|
|
@@ -46,4 +46,4 @@ export interface GroupChannelMutedMembersModule {
|
|
|
46
46
|
StatusLoading: CommonComponent;
|
|
47
47
|
StatusError: CommonComponent<GroupChannelMutedMembersProps['StatusError']>;
|
|
48
48
|
}
|
|
49
|
-
export type GroupChannelMutedMembersFragment =
|
|
49
|
+
export type GroupChannelMutedMembersFragment = React.FC<GroupChannelMutedMembersProps['Fragment']>;
|
|
@@ -30,4 +30,4 @@ export interface GroupChannelNotificationsModule {
|
|
|
30
30
|
Header: CommonComponent<GroupChannelNotificationsProps['Header']>;
|
|
31
31
|
View: CommonComponent<GroupChannelNotificationsProps['View']>;
|
|
32
32
|
}
|
|
33
|
-
export type GroupChannelNotificationsFragment =
|
|
33
|
+
export type GroupChannelNotificationsFragment = React.FC<GroupChannelNotificationsProps['Fragment']>;
|
|
@@ -48,4 +48,4 @@ export interface GroupChannelOperatorsModule {
|
|
|
48
48
|
StatusLoading: CommonComponent;
|
|
49
49
|
StatusError: CommonComponent<GroupChannelOperatorsProps['StatusError']>;
|
|
50
50
|
}
|
|
51
|
-
export type GroupChannelOperatorsFragment =
|
|
51
|
+
export type GroupChannelOperatorsFragment = React.FC<GroupChannelOperatorsProps['Fragment']>;
|
|
@@ -48,4 +48,4 @@ export interface GroupChannelSettingsModule {
|
|
|
48
48
|
Info: CommonComponent<GroupChannelSettingsProps['Info']>;
|
|
49
49
|
Menu: CommonComponent<GroupChannelSettingsProps['Menu']>;
|
|
50
50
|
}
|
|
51
|
-
export type GroupChannelSettingsFragment =
|
|
51
|
+
export type GroupChannelSettingsFragment = React.FC<GroupChannelSettingsProps['Fragment']>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import type { UseUserListOptions } from '@sendbird/uikit-chat-hooks';
|
|
2
3
|
import type { SendbirdGroupChannel, SendbirdGroupChannelCreateParams, SendbirdMember, UserStruct } from '@sendbird/uikit-utils';
|
|
3
4
|
import type { CommonComponent } from '../../types';
|
|
@@ -36,7 +37,7 @@ export interface GroupChannelMembersProps {
|
|
|
36
37
|
queryCreator?: UseUserListOptions<SendbirdMember>['queryCreator'];
|
|
37
38
|
};
|
|
38
39
|
}
|
|
39
|
-
export type GroupChannelMembersFragment =
|
|
40
|
+
export type GroupChannelMembersFragment = React.FC<GroupChannelMembersProps['Fragment']>;
|
|
40
41
|
export interface GroupChannelRegisterOperatorProps {
|
|
41
42
|
Fragment: {
|
|
42
43
|
channel: SendbirdGroupChannel;
|
|
@@ -47,4 +48,4 @@ export interface GroupChannelRegisterOperatorProps {
|
|
|
47
48
|
queryCreator?: UseUserListOptions<SendbirdMember>['queryCreator'];
|
|
48
49
|
};
|
|
49
50
|
}
|
|
50
|
-
export type GroupChannelRegisterOperatorFragment =
|
|
51
|
+
export type GroupChannelRegisterOperatorFragment = React.FC<GroupChannelRegisterOperatorProps['Fragment']>;
|
|
@@ -50,4 +50,4 @@ export interface MessageSearchModule {
|
|
|
50
50
|
StatusLoading: CommonComponent;
|
|
51
51
|
StatusError: CommonComponent<MessageSearchProps['StatusError']>;
|
|
52
52
|
}
|
|
53
|
-
export type MessageSearchFragment =
|
|
53
|
+
export type MessageSearchFragment = React.FC<MessageSearchProps['Fragment']>;
|
|
@@ -63,7 +63,7 @@ export interface OpenChannelModule {
|
|
|
63
63
|
StatusEmpty: CommonComponent;
|
|
64
64
|
StatusLoading: CommonComponent;
|
|
65
65
|
}
|
|
66
|
-
export type OpenChannelFragment =
|
|
66
|
+
export type OpenChannelFragment = React.FC<OpenChannelProps['Fragment']>;
|
|
67
67
|
export type OpenChannelPubSubContextPayload = {
|
|
68
68
|
type: 'MESSAGE_SENT_PENDING' | 'MESSAGE_SENT_SUCCESS';
|
|
69
69
|
data: {
|
|
@@ -46,4 +46,4 @@ export interface OpenChannelBannedUsersModule {
|
|
|
46
46
|
StatusLoading: CommonComponent;
|
|
47
47
|
StatusError: CommonComponent<OpenChannelBannedUsersProps['StatusError']>;
|
|
48
48
|
}
|
|
49
|
-
export type OpenChannelBannedUsersFragment =
|
|
49
|
+
export type OpenChannelBannedUsersFragment = React.FC<OpenChannelBannedUsersProps['Fragment']>;
|
|
@@ -37,4 +37,4 @@ export interface OpenChannelCreateModule {
|
|
|
37
37
|
ProfileInput: CommonComponent<OpenChannelCreateProps['ProfileInput']>;
|
|
38
38
|
StatusLoading: CommonComponent;
|
|
39
39
|
}
|
|
40
|
-
export type OpenChannelCreateFragment =
|
|
40
|
+
export type OpenChannelCreateFragment = React.FC<OpenChannelCreateProps['Fragment']>;
|
|
@@ -48,4 +48,4 @@ export interface OpenChannelListModule {
|
|
|
48
48
|
StatusLoading: CommonComponent;
|
|
49
49
|
StatusError: CommonComponent<OpenChannelListProps['StatusError']>;
|
|
50
50
|
}
|
|
51
|
-
export type OpenChannelListFragment =
|
|
51
|
+
export type OpenChannelListFragment = React.FC<OpenChannelListProps['Fragment']>;
|
|
@@ -40,4 +40,4 @@ export interface OpenChannelModerationModule {
|
|
|
40
40
|
Header: CommonComponent<OpenChannelModerationProps['Header']>;
|
|
41
41
|
Menu: CommonComponent<OpenChannelModerationProps['Menu']>;
|
|
42
42
|
}
|
|
43
|
-
export type OpenChannelModerationFragment =
|
|
43
|
+
export type OpenChannelModerationFragment = React.FC<OpenChannelModerationProps['Fragment']>;
|
|
@@ -46,4 +46,4 @@ export interface OpenChannelMutedParticipantsModule {
|
|
|
46
46
|
StatusLoading: CommonComponent;
|
|
47
47
|
StatusError: CommonComponent<OpenChannelMutedParticipantsProps['StatusError']>;
|
|
48
48
|
}
|
|
49
|
-
export type OpenChannelMutedParticipantsFragment =
|
|
49
|
+
export type OpenChannelMutedParticipantsFragment = React.FC<OpenChannelMutedParticipantsProps['Fragment']>;
|
|
@@ -48,4 +48,4 @@ export interface OpenChannelOperatorsModule {
|
|
|
48
48
|
StatusLoading: CommonComponent;
|
|
49
49
|
StatusError: CommonComponent<OpenChannelOperatorsProps['StatusError']>;
|
|
50
50
|
}
|
|
51
|
-
export type OpenChannelOperatorsFragment =
|
|
51
|
+
export type OpenChannelOperatorsFragment = React.FC<OpenChannelOperatorsProps['Fragment']>;
|
|
@@ -46,4 +46,4 @@ export interface OpenChannelSettingsModule {
|
|
|
46
46
|
Info: CommonComponent<OpenChannelSettingsProps['Info']>;
|
|
47
47
|
Menu: CommonComponent<OpenChannelSettingsProps['Menu']>;
|
|
48
48
|
}
|
|
49
|
-
export type OpenChannelSettingsFragment =
|
|
49
|
+
export type OpenChannelSettingsFragment = React.FC<OpenChannelSettingsProps['Fragment']>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type React from 'react';
|
|
1
2
|
import type { UseUserListOptions } from '@sendbird/uikit-chat-hooks';
|
|
2
3
|
import type { SendbirdOpenChannel, SendbirdParticipant, SendbirdUser } from '@sendbird/uikit-utils';
|
|
3
|
-
import type { CommonComponent } from '../../types';
|
|
4
4
|
import type { UserListProps } from '../userList/types';
|
|
5
5
|
export interface OpenChannelParticipantsProps {
|
|
6
6
|
Fragment: {
|
|
@@ -11,7 +11,7 @@ export interface OpenChannelParticipantsProps {
|
|
|
11
11
|
sortComparator?: UseUserListOptions<SendbirdUser | SendbirdParticipant>['sortComparator'];
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
export type OpenChannelParticipantsFragment =
|
|
14
|
+
export type OpenChannelParticipantsFragment = React.FC<OpenChannelParticipantsProps['Fragment']>;
|
|
15
15
|
export interface OpenChannelRegisterOperatorProps {
|
|
16
16
|
Fragment: {
|
|
17
17
|
channel: SendbirdOpenChannel;
|
|
@@ -22,4 +22,4 @@ export interface OpenChannelRegisterOperatorProps {
|
|
|
22
22
|
sortComparator?: UseUserListOptions<SendbirdUser | SendbirdParticipant>['sortComparator'];
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
export type OpenChannelRegisterOperatorFragment =
|
|
25
|
+
export type OpenChannelRegisterOperatorFragment = React.FC<OpenChannelRegisterOperatorProps['Fragment']>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ErrorInfo, ReactNode } from 'react';
|
|
1
|
+
import type { ComponentType, ErrorInfo, ReactNode } from 'react';
|
|
2
2
|
import type { SendbirdUser } from '@sendbird/uikit-utils';
|
|
3
3
|
export type KeyValuePairGet = [string, string | null];
|
|
4
4
|
export type KeyValuePairSet = [string, string];
|
|
@@ -16,9 +16,9 @@ export type ErrorBoundaryProps = {
|
|
|
16
16
|
errorInfo: ErrorInfo;
|
|
17
17
|
reset: () => void;
|
|
18
18
|
};
|
|
19
|
-
export type CommonComponent<P = {}> =
|
|
20
|
-
children?: ReactNode;
|
|
21
|
-
}
|
|
19
|
+
export type CommonComponent<P = {}> = ComponentType<P & {
|
|
20
|
+
children?: ReactNode | undefined;
|
|
21
|
+
}>;
|
|
22
22
|
export type MentionedUser = {
|
|
23
23
|
range: Range;
|
|
24
24
|
user: SendbirdUser;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const VERSION = "3.4.
|
|
1
|
+
declare const VERSION = "3.4.2";
|
|
2
2
|
export default VERSION;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sendbird/uikit-react-native",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.2",
|
|
4
4
|
"description": "Sendbird UIKit for React Native: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sendbird",
|
|
@@ -60,10 +60,10 @@
|
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"@openspacelabs/react-native-zoomable-view": "^2.1.5",
|
|
63
|
-
"@sendbird/uikit-chat-hooks": "3.4.
|
|
64
|
-
"@sendbird/uikit-react-native-foundation": "3.4.
|
|
63
|
+
"@sendbird/uikit-chat-hooks": "3.4.2",
|
|
64
|
+
"@sendbird/uikit-react-native-foundation": "3.4.2",
|
|
65
65
|
"@sendbird/uikit-tools": "0.0.1-alpha.58",
|
|
66
|
-
"@sendbird/uikit-utils": "3.4.
|
|
66
|
+
"@sendbird/uikit-utils": "3.4.2"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@bam.tech/react-native-image-resizer": "^3.0.4",
|
|
@@ -203,5 +203,5 @@
|
|
|
203
203
|
]
|
|
204
204
|
]
|
|
205
205
|
},
|
|
206
|
-
"gitHead": "
|
|
206
|
+
"gitHead": "e38806326b5f9c7d351ab270e5b4815707c598fb"
|
|
207
207
|
}
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
|
|
20
20
|
import { useSendbirdChat } from '../../hooks/useContext';
|
|
21
21
|
import useMentionTextInput from '../../hooks/useMentionTextInput';
|
|
22
|
-
import type { MentionedUser, Range } from '../../types';
|
|
22
|
+
import type { CommonComponent, MentionedUser, Range } from '../../types';
|
|
23
23
|
import type { AttachmentsButtonProps } from './AttachmentsButton';
|
|
24
24
|
import AttachmentsButton from './AttachmentsButton';
|
|
25
25
|
import EditInput from './EditInput';
|
|
@@ -67,7 +67,7 @@ export type ChannelInputProps = {
|
|
|
67
67
|
setMessageToReply?: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;
|
|
68
68
|
|
|
69
69
|
// mention
|
|
70
|
-
SuggestedMentionList?:
|
|
70
|
+
SuggestedMentionList?: CommonComponent<SuggestedMentionListProps>;
|
|
71
71
|
|
|
72
72
|
// sub-components
|
|
73
73
|
AttachmentsButton?: (props: AttachmentsButtonProps) => React.ReactNode | null;
|
|
@@ -32,7 +32,6 @@ import {
|
|
|
32
32
|
import type { UserProfileContextType } from '../../contexts/UserProfileCtx';
|
|
33
33
|
import { useLocalization, usePlatformService, useSendbirdChat, useUserProfile } from '../../hooks/useContext';
|
|
34
34
|
import SBUUtils from '../../libs/SBUUtils';
|
|
35
|
-
import type { CommonComponent } from '../../types';
|
|
36
35
|
import ChatFlatList from '../ChatFlatList';
|
|
37
36
|
import { ReactionAddons } from '../ReactionAddons';
|
|
38
37
|
|
|
@@ -78,15 +77,10 @@ export type ChannelMessageListProps<T extends SendbirdGroupChannel | SendbirdOpe
|
|
|
78
77
|
bottomSheetItem?: BottomSheetItem;
|
|
79
78
|
isFirstItem: boolean;
|
|
80
79
|
}) => React.ReactElement | null;
|
|
81
|
-
renderNewMessagesButton:
|
|
82
|
-
|
|
83
|
-
onPress: () => void;
|
|
84
|
-
|
|
85
|
-
}>;
|
|
86
|
-
renderScrollToBottomButton: null | CommonComponent<{
|
|
87
|
-
visible: boolean;
|
|
88
|
-
onPress: () => void;
|
|
89
|
-
}>;
|
|
80
|
+
renderNewMessagesButton:
|
|
81
|
+
| null
|
|
82
|
+
| ((props: { visible: boolean; onPress: () => void; newMessages: SendbirdMessage[] }) => React.ReactElement | null);
|
|
83
|
+
renderScrollToBottomButton: null | ((props: { visible: boolean; onPress: () => void }) => React.ReactElement | null);
|
|
90
84
|
flatListProps?: Omit<FlatListProps<SendbirdMessage>, 'data' | 'renderItem'>;
|
|
91
85
|
} & {
|
|
92
86
|
ref?: Ref<FlatList<SendbirdMessage>> | undefined;
|
|
@@ -15,13 +15,13 @@ type Props = {
|
|
|
15
15
|
style?: StyleProp<ImageStyle>;
|
|
16
16
|
};
|
|
17
17
|
const GroupChannelMessageOutgoingStatus = ({ channel, message, style }: Props) => {
|
|
18
|
-
if (!message.isUserMessage() && !message.isFileMessage()) return null;
|
|
19
|
-
if (channel.isEphemeral) return null;
|
|
20
|
-
|
|
21
18
|
const { sdk } = useSendbirdChat();
|
|
22
19
|
const { colors } = useUIKitTheme();
|
|
23
20
|
const outgoingStatus = useMessageOutgoingStatus(sdk, channel, message);
|
|
24
21
|
|
|
22
|
+
if (!message.isUserMessage() && !message.isFileMessage()) return null;
|
|
23
|
+
if (channel.isEphemeral) return null;
|
|
24
|
+
|
|
25
25
|
if (outgoingStatus === 'PENDING') {
|
|
26
26
|
return <LoadingSpinner size={SIZE} style={style} />;
|
|
27
27
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import type { FlatList } from 'react-native';
|
|
3
3
|
|
|
4
|
+
import type { MessageCollectionParams, MessageFilterParams } from '@sendbird/chat/groupChannel';
|
|
4
5
|
import type { UseGroupChannelMessagesOptions } from '@sendbird/uikit-chat-hooks';
|
|
5
6
|
import type {
|
|
6
7
|
OnBeforeHandler,
|
|
@@ -20,6 +21,7 @@ import type { ChannelMessageListProps } from '../../components/ChannelMessageLis
|
|
|
20
21
|
import type { CommonComponent } from '../../types';
|
|
21
22
|
import type { PubSub } from '../../utils/pubsub';
|
|
22
23
|
|
|
24
|
+
export type MessageListQueryParamsType = Omit<MessageCollectionParams, 'filter'> & MessageFilterParams;
|
|
23
25
|
export interface GroupChannelProps {
|
|
24
26
|
Fragment: {
|
|
25
27
|
channel: SendbirdGroupChannel;
|
|
@@ -43,9 +45,19 @@ export interface GroupChannelProps {
|
|
|
43
45
|
keyboardAvoidOffset?: GroupChannelProps['Provider']['keyboardAvoidOffset'];
|
|
44
46
|
flatListProps?: GroupChannelProps['MessageList']['flatListProps'];
|
|
45
47
|
sortComparator?: UseGroupChannelMessagesOptions['sortComparator'];
|
|
46
|
-
collectionCreator?: UseGroupChannelMessagesOptions['collectionCreator'];
|
|
47
48
|
|
|
48
49
|
searchItem?: GroupChannelProps['MessageList']['searchItem'];
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @description You can specify the query parameters for the message list.
|
|
53
|
+
* @example
|
|
54
|
+
* ```
|
|
55
|
+
* <GroupChannelFragment messageListQueryParams={{ prevResultLimit: 20, customTypesFilter: ['filter'] }} />
|
|
56
|
+
* ```
|
|
57
|
+
* */
|
|
58
|
+
messageListQueryParams?: MessageListQueryParamsType;
|
|
59
|
+
/** @deprecated Please use `messageListQueryParams` instead */
|
|
60
|
+
collectionCreator?: UseGroupChannelMessagesOptions['collectionCreator'];
|
|
49
61
|
};
|
|
50
62
|
Header: {
|
|
51
63
|
shouldHideRight: () => boolean;
|
|
@@ -169,7 +181,7 @@ export interface GroupChannelModule {
|
|
|
169
181
|
StatusLoading: CommonComponent;
|
|
170
182
|
}
|
|
171
183
|
|
|
172
|
-
export type GroupChannelFragment =
|
|
184
|
+
export type GroupChannelFragment = React.FC<GroupChannelProps['Fragment']>;
|
|
173
185
|
|
|
174
186
|
export type GroupChannelPubSubContextPayload =
|
|
175
187
|
| {
|
|
@@ -49,4 +49,4 @@ export interface GroupChannelBannedUsersModule {
|
|
|
49
49
|
StatusError: CommonComponent<GroupChannelBannedUsersProps['StatusError']>;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
export type GroupChannelBannedUsersFragment =
|
|
52
|
+
export type GroupChannelBannedUsersFragment = React.FC<GroupChannelBannedUsersProps['Fragment']>;
|