@sendbird/uikit-react-native 3.4.0 → 3.4.1

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.
Files changed (106) hide show
  1. package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
  2. package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
  3. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  4. package/lib/commonjs/domain/groupChannelBannedUsers/types.js.map +1 -1
  5. package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
  6. package/lib/commonjs/domain/groupChannelModeration/types.js.map +1 -1
  7. package/lib/commonjs/domain/groupChannelMutedMembers/types.js.map +1 -1
  8. package/lib/commonjs/domain/groupChannelNotifications/types.js.map +1 -1
  9. package/lib/commonjs/domain/groupChannelOperators/types.js.map +1 -1
  10. package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
  11. package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
  12. package/lib/commonjs/domain/messageSearch/types.js.map +1 -1
  13. package/lib/commonjs/domain/openChannel/types.js.map +1 -1
  14. package/lib/commonjs/domain/openChannelBannedUsers/types.js.map +1 -1
  15. package/lib/commonjs/domain/openChannelCreate/types.js.map +1 -1
  16. package/lib/commonjs/domain/openChannelList/types.js.map +1 -1
  17. package/lib/commonjs/domain/openChannelModeration/types.js.map +1 -1
  18. package/lib/commonjs/domain/openChannelMutedParticipants/types.js.map +1 -1
  19. package/lib/commonjs/domain/openChannelOperators/types.js.map +1 -1
  20. package/lib/commonjs/domain/openChannelSettings/types.js.map +1 -1
  21. package/lib/commonjs/domain/openChannelUserList/types.js.map +1 -1
  22. package/lib/commonjs/fragments/createGroupChannelFragment.js +18 -3
  23. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  24. package/lib/commonjs/fragments/createGroupChannelListFragment.js +25 -11
  25. package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
  26. package/lib/commonjs/types.js.map +1 -1
  27. package/lib/commonjs/version.js +1 -1
  28. package/lib/commonjs/version.js.map +1 -1
  29. package/lib/module/components/ChannelInput/index.js.map +1 -1
  30. package/lib/module/components/ChannelMessageList/index.js.map +1 -1
  31. package/lib/module/domain/groupChannel/types.js.map +1 -1
  32. package/lib/module/domain/groupChannelBannedUsers/types.js.map +1 -1
  33. package/lib/module/domain/groupChannelList/types.js.map +1 -1
  34. package/lib/module/domain/groupChannelModeration/types.js.map +1 -1
  35. package/lib/module/domain/groupChannelMutedMembers/types.js.map +1 -1
  36. package/lib/module/domain/groupChannelNotifications/types.js.map +1 -1
  37. package/lib/module/domain/groupChannelOperators/types.js.map +1 -1
  38. package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
  39. package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
  40. package/lib/module/domain/messageSearch/types.js.map +1 -1
  41. package/lib/module/domain/openChannel/types.js.map +1 -1
  42. package/lib/module/domain/openChannelBannedUsers/types.js.map +1 -1
  43. package/lib/module/domain/openChannelCreate/types.js.map +1 -1
  44. package/lib/module/domain/openChannelList/types.js.map +1 -1
  45. package/lib/module/domain/openChannelModeration/types.js.map +1 -1
  46. package/lib/module/domain/openChannelMutedParticipants/types.js.map +1 -1
  47. package/lib/module/domain/openChannelOperators/types.js.map +1 -1
  48. package/lib/module/domain/openChannelSettings/types.js.map +1 -1
  49. package/lib/module/domain/openChannelUserList/types.js.map +1 -1
  50. package/lib/module/fragments/createGroupChannelFragment.js +18 -3
  51. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  52. package/lib/module/fragments/createGroupChannelListFragment.js +26 -12
  53. package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
  54. package/lib/module/types.js.map +1 -1
  55. package/lib/module/version.js +1 -1
  56. package/lib/module/version.js.map +1 -1
  57. package/lib/typescript/src/components/ChannelInput/index.d.ts +2 -2
  58. package/lib/typescript/src/components/ChannelMessageList/index.d.ts +4 -5
  59. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +1 -1
  60. package/lib/typescript/src/domain/groupChannel/types.d.ts +13 -2
  61. package/lib/typescript/src/domain/groupChannelBannedUsers/types.d.ts +1 -1
  62. package/lib/typescript/src/domain/groupChannelList/types.d.ts +13 -2
  63. package/lib/typescript/src/domain/groupChannelModeration/types.d.ts +1 -1
  64. package/lib/typescript/src/domain/groupChannelMutedMembers/types.d.ts +1 -1
  65. package/lib/typescript/src/domain/groupChannelNotifications/types.d.ts +1 -1
  66. package/lib/typescript/src/domain/groupChannelOperators/types.d.ts +1 -1
  67. package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +1 -1
  68. package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +3 -2
  69. package/lib/typescript/src/domain/messageSearch/types.d.ts +1 -1
  70. package/lib/typescript/src/domain/openChannel/types.d.ts +1 -1
  71. package/lib/typescript/src/domain/openChannelBannedUsers/types.d.ts +1 -1
  72. package/lib/typescript/src/domain/openChannelCreate/types.d.ts +1 -1
  73. package/lib/typescript/src/domain/openChannelList/types.d.ts +1 -1
  74. package/lib/typescript/src/domain/openChannelModeration/types.d.ts +1 -1
  75. package/lib/typescript/src/domain/openChannelMutedParticipants/types.d.ts +1 -1
  76. package/lib/typescript/src/domain/openChannelOperators/types.d.ts +1 -1
  77. package/lib/typescript/src/domain/openChannelSettings/types.d.ts +1 -1
  78. package/lib/typescript/src/domain/openChannelUserList/types.d.ts +3 -3
  79. package/lib/typescript/src/types.d.ts +4 -4
  80. package/lib/typescript/src/version.d.ts +1 -1
  81. package/package.json +5 -5
  82. package/src/components/ChannelInput/index.tsx +2 -2
  83. package/src/components/ChannelMessageList/index.tsx +4 -10
  84. package/src/domain/groupChannel/types.ts +14 -2
  85. package/src/domain/groupChannelBannedUsers/types.ts +1 -1
  86. package/src/domain/groupChannelList/types.ts +13 -2
  87. package/src/domain/groupChannelModeration/types.ts +1 -1
  88. package/src/domain/groupChannelMutedMembers/types.ts +1 -1
  89. package/src/domain/groupChannelNotifications/types.ts +1 -1
  90. package/src/domain/groupChannelOperators/types.ts +1 -1
  91. package/src/domain/groupChannelSettings/types.ts +1 -1
  92. package/src/domain/groupChannelUserList/types.ts +2 -2
  93. package/src/domain/messageSearch/types.ts +1 -1
  94. package/src/domain/openChannel/types.ts +1 -1
  95. package/src/domain/openChannelBannedUsers/types.ts +1 -1
  96. package/src/domain/openChannelCreate/types.ts +1 -1
  97. package/src/domain/openChannelList/types.ts +1 -1
  98. package/src/domain/openChannelModeration/types.ts +1 -1
  99. package/src/domain/openChannelMutedParticipants/types.ts +1 -1
  100. package/src/domain/openChannelOperators/types.ts +1 -1
  101. package/src/domain/openChannelSettings/types.ts +1 -1
  102. package/src/domain/openChannelUserList/types.ts +4 -3
  103. package/src/fragments/createGroupChannelFragment.tsx +21 -5
  104. package/src/fragments/createGroupChannelListFragment.tsx +27 -9
  105. package/src/types.ts +2 -2
  106. package/src/version.ts +1 -1
@@ -1,14 +1,13 @@
1
1
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
2
2
 
3
+ import { MessageCollection, MessageFilter } from '@sendbird/chat/groupChannel';
3
4
  import { ReplyType } from '@sendbird/chat/message';
4
5
  import { Box } from '@sendbird/uikit-react-native-foundation';
5
6
  import { useGroupChannelMessages } from '@sendbird/uikit-tools';
7
+ import type { SendbirdFileMessage, SendbirdGroupChannel, SendbirdUserMessage } from '@sendbird/uikit-utils';
6
8
  import {
7
9
  NOOP,
8
10
  PASS,
9
- SendbirdFileMessage,
10
- SendbirdGroupChannel,
11
- SendbirdUserMessage,
12
11
  confirmAndMarkAsRead,
13
12
  messageComparator,
14
13
  useFreshCallback,
@@ -52,9 +51,10 @@ const createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): G
52
51
  onBeforeUpdateFileMessage = PASS,
53
52
  channel,
54
53
  keyboardAvoidOffset,
55
- collectionCreator,
56
54
  sortComparator = messageComparator,
57
55
  flatListProps,
56
+ messageListQueryParams,
57
+ collectionCreator,
58
58
  }) => {
59
59
  const { playerService, recorderService } = usePlatformService();
60
60
  const { sdk, currentUser, sbOptions } = useSendbirdChat();
@@ -96,7 +96,7 @@ const createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): G
96
96
  },
97
97
  onChannelDeleted,
98
98
  onCurrentUserBanned: onChannelDeleted,
99
- collectionCreator,
99
+ collectionCreator: getCollectionCreator(channel, messageListQueryParams, collectionCreator),
100
100
  sortComparator,
101
101
  markAsRead: confirmAndMarkAsRead,
102
102
  replyType,
@@ -260,4 +260,20 @@ function shouldRenderInput(channel: SendbirdGroupChannel) {
260
260
  return true;
261
261
  }
262
262
 
263
+ function getCollectionCreator(
264
+ channel: SendbirdGroupChannel,
265
+ messageListQueryParams?: GroupChannelProps['Fragment']['messageListQueryParams'],
266
+ deprecatedCreatorProp?: () => MessageCollection,
267
+ ) {
268
+ if (!messageListQueryParams && deprecatedCreatorProp) return deprecatedCreatorProp;
269
+
270
+ return (defaultParams: GroupChannelProps['Fragment']['messageListQueryParams']) => {
271
+ const params = { ...defaultParams, ...messageListQueryParams };
272
+ return channel.createMessageCollection({
273
+ ...params,
274
+ filter: new MessageFilter(params),
275
+ });
276
+ };
277
+ }
278
+
263
279
  export default createGroupChannelFragment;
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
 
3
- import { useGroupChannelList } from '@sendbird/uikit-chat-hooks';
4
- import { PASS, useAppState, useFreshCallback } from '@sendbird/uikit-utils';
3
+ import { GroupChannelCollection, GroupChannelFilter } from '@sendbird/chat/groupChannel';
4
+ import { useGroupChannelList } from '@sendbird/uikit-tools';
5
+ import { PASS, SendbirdChatSDK, confirmAndMarkAsDelivered, useAppState, useFreshCallback } from '@sendbird/uikit-utils';
5
6
 
6
7
  import StatusComposition from '../components/StatusComposition';
7
8
  import GroupChannelPreviewContainer from '../containers/GroupChannelPreviewContainer';
@@ -18,16 +19,17 @@ const createGroupChannelListFragment = (initModule?: Partial<GroupChannelListMod
18
19
  return ({
19
20
  onPressChannel,
20
21
  onPressCreateChannel,
21
- collectionCreator,
22
22
  renderGroupChannelPreview,
23
23
  skipTypeSelection = false,
24
24
  flatListProps = {},
25
25
  menuItemCreator = PASS,
26
+ channelListQueryParams,
27
+ collectionCreator,
26
28
  }) => {
27
- const { sdk, currentUser, sbOptions, markAsDeliveredWithChannel } = useSendbirdChat();
28
- const { groupChannels, next, loading } = useGroupChannelList(sdk, currentUser?.userId, {
29
- collectionCreator,
30
- enableCollectionWithoutLocalCache: true,
29
+ const { sdk, sbOptions, markAsDeliveredWithChannel } = useSendbirdChat();
30
+ const { groupChannels, loadMore, initialized } = useGroupChannelList(sdk, {
31
+ collectionCreator: getCollectionCreator(sdk, channelListQueryParams, collectionCreator),
32
+ markAsDelivered: confirmAndMarkAsDelivered,
31
33
  });
32
34
 
33
35
  if (sbOptions.appInfo.deliveryReceiptEnabled) {
@@ -49,13 +51,13 @@ const createGroupChannelListFragment = (initModule?: Partial<GroupChannelListMod
49
51
  return (
50
52
  <GroupChannelListModule.Provider>
51
53
  <GroupChannelListModule.Header />
52
- <StatusComposition loading={loading} LoadingComponent={<GroupChannelListModule.StatusLoading />}>
54
+ <StatusComposition loading={!initialized} LoadingComponent={<GroupChannelListModule.StatusLoading />}>
53
55
  <GroupChannelListModule.List
54
56
  onPressChannel={onPressChannel}
55
57
  menuItemCreator={menuItemCreator}
56
58
  renderGroupChannelPreview={_renderGroupChannelPreview}
57
59
  groupChannels={groupChannels}
58
- onLoadNext={next}
60
+ onLoadNext={loadMore}
59
61
  flatListProps={{
60
62
  ListEmptyComponent: <GroupChannelListModule.StatusEmpty />,
61
63
  contentContainerStyle: { flexGrow: 1 },
@@ -72,4 +74,20 @@ const createGroupChannelListFragment = (initModule?: Partial<GroupChannelListMod
72
74
  };
73
75
  };
74
76
 
77
+ function getCollectionCreator(
78
+ sdk: SendbirdChatSDK,
79
+ channelListQueryParams?: GroupChannelListProps['Fragment']['channelListQueryParams'],
80
+ deprecatedCreatorProp?: () => GroupChannelCollection,
81
+ ) {
82
+ if (!channelListQueryParams && deprecatedCreatorProp) return deprecatedCreatorProp;
83
+
84
+ return (defaultParams: GroupChannelListProps['Fragment']['channelListQueryParams']) => {
85
+ const params = { ...defaultParams, ...channelListQueryParams };
86
+ return sdk.groupChannel.createGroupChannelCollection({
87
+ ...params,
88
+ filter: new GroupChannelFilter(params),
89
+ });
90
+ };
91
+ }
92
+
75
93
  export default createGroupChannelListFragment;
package/src/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ErrorInfo, ReactNode } from 'react';
1
+ import type { ComponentType, ErrorInfo, ReactNode } from 'react';
2
2
 
3
3
  import type { SendbirdUser } from '@sendbird/uikit-utils';
4
4
 
@@ -17,7 +17,7 @@ export interface LocalCacheStorage {
17
17
 
18
18
  export type ErrorBoundaryProps = { error: Error; errorInfo: ErrorInfo; reset: () => void };
19
19
 
20
- export type CommonComponent<P = {}> = (props: P & { children?: ReactNode }) => null | ReactNode;
20
+ export type CommonComponent<P = {}> = ComponentType<P & { children?: ReactNode | undefined }>;
21
21
 
22
22
  export type MentionedUser = {
23
23
  range: Range;
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- const VERSION = '3.4.0';
1
+ const VERSION = '3.4.1';
2
2
  export default VERSION;