@sendbird/uikit-chat-hooks 2.4.1 → 2.5.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/lib/commonjs/channel/useChannelMessagesReducer.js +153 -0
- package/lib/commonjs/channel/useChannelMessagesReducer.js.map +1 -0
- package/lib/commonjs/channel/useGroupChannel.js +0 -4
- package/lib/commonjs/channel/useGroupChannel.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelList/index.js +0 -5
- package/lib/commonjs/channel/useGroupChannelList/index.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelList/reducer.js +12 -29
- package/lib/commonjs/channel/useGroupChannelList/reducer.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithCollection.js +1 -22
- package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithCollection.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithQuery.js +1 -18
- package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithQuery.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelMessages/index.js +0 -5
- package/lib/commonjs/channel/useGroupChannelMessages/index.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +172 -131
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +76 -73
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +1 -1
- package/lib/commonjs/channel/useOpenChannel.js +0 -4
- package/lib/commonjs/channel/useOpenChannel.js.map +1 -1
- package/lib/commonjs/channel/useOpenChannelList/index.js +0 -3
- package/lib/commonjs/channel/useOpenChannelList/index.js.map +1 -1
- package/lib/commonjs/channel/useOpenChannelList/reducer.js +2 -21
- package/lib/commonjs/channel/useOpenChannelList/reducer.js.map +1 -1
- package/lib/commonjs/channel/useOpenChannelList/useOpenChannelListWithQuery.js +1 -22
- package/lib/commonjs/channel/useOpenChannelList/useOpenChannelListWithQuery.js.map +1 -1
- package/lib/commonjs/channel/useOpenChannelMessages/index.js +0 -3
- package/lib/commonjs/channel/useOpenChannelMessages/index.js.map +1 -1
- package/lib/commonjs/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.js +128 -57
- package/lib/commonjs/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.js.map +1 -1
- package/lib/commonjs/common/useAppFeatures.js +0 -3
- package/lib/commonjs/common/useAppFeatures.js.map +1 -1
- package/lib/commonjs/common/useMessageOutgoingStatus.js +0 -11
- package/lib/commonjs/common/useMessageOutgoingStatus.js.map +1 -1
- package/lib/commonjs/common/usePushTrigger.js +0 -6
- package/lib/commonjs/common/usePushTrigger.js.map +1 -1
- package/lib/commonjs/common/useTotalUnreadMessageCount.js +0 -7
- package/lib/commonjs/common/useTotalUnreadMessageCount.js.map +1 -1
- package/lib/commonjs/common/useUserList.js +5 -20
- package/lib/commonjs/common/useUserList.js.map +1 -1
- package/lib/commonjs/handler/useChannelHandler.js +15 -41
- package/lib/commonjs/handler/useChannelHandler.js.map +1 -1
- package/lib/commonjs/handler/useConnectionHandler.js +14 -11
- package/lib/commonjs/handler/useConnectionHandler.js.map +1 -1
- package/lib/commonjs/handler/useUserEventHandler.js +0 -8
- package/lib/commonjs/handler/useUserEventHandler.js.map +1 -1
- package/lib/commonjs/index.js +0 -23
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/model/CustomQuery.js +0 -6
- package/lib/commonjs/model/CustomQuery.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/channel/useChannelMessagesReducer.js +146 -0
- package/lib/module/channel/useChannelMessagesReducer.js.map +1 -0
- package/lib/module/channel/useGroupChannel.js.map +1 -1
- package/lib/module/channel/useGroupChannelList/index.js.map +1 -1
- package/lib/module/channel/useGroupChannelList/reducer.js +12 -26
- package/lib/module/channel/useGroupChannelList/reducer.js.map +1 -1
- package/lib/module/channel/useGroupChannelList/useGroupChannelListWithCollection.js +1 -15
- package/lib/module/channel/useGroupChannelList/useGroupChannelListWithCollection.js.map +1 -1
- package/lib/module/channel/useGroupChannelList/useGroupChannelListWithQuery.js +1 -11
- package/lib/module/channel/useGroupChannelList/useGroupChannelListWithQuery.js.map +1 -1
- package/lib/module/channel/useGroupChannelMessages/index.js.map +1 -1
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +174 -125
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +1 -1
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +78 -70
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +1 -1
- package/lib/module/channel/useOpenChannel.js.map +1 -1
- package/lib/module/channel/useOpenChannelList/index.js.map +1 -1
- package/lib/module/channel/useOpenChannelList/reducer.js +2 -18
- package/lib/module/channel/useOpenChannelList/reducer.js.map +1 -1
- package/lib/module/channel/useOpenChannelList/useOpenChannelListWithQuery.js +1 -17
- package/lib/module/channel/useOpenChannelList/useOpenChannelListWithQuery.js.map +1 -1
- package/lib/module/channel/useOpenChannelMessages/index.js.map +1 -1
- package/lib/module/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.js +129 -53
- package/lib/module/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.js.map +1 -1
- package/lib/module/common/useAppFeatures.js.map +1 -1
- package/lib/module/common/useMessageOutgoingStatus.js +0 -6
- package/lib/module/common/useMessageOutgoingStatus.js.map +1 -1
- package/lib/module/common/usePushTrigger.js.map +1 -1
- package/lib/module/common/useTotalUnreadMessageCount.js +0 -1
- package/lib/module/common/useTotalUnreadMessageCount.js.map +1 -1
- package/lib/module/common/useUserList.js +5 -15
- package/lib/module/common/useUserList.js.map +1 -1
- package/lib/module/handler/useChannelHandler.js +15 -35
- package/lib/module/handler/useChannelHandler.js.map +1 -1
- package/lib/module/handler/useConnectionHandler.js +15 -6
- package/lib/module/handler/useConnectionHandler.js.map +1 -1
- package/lib/module/handler/useUserEventHandler.js +0 -2
- package/lib/module/handler/useUserEventHandler.js.map +1 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/model/CustomQuery.js +0 -4
- package/lib/module/model/CustomQuery.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/src/channel/useChannelMessagesReducer.d.ts +18 -0
- package/lib/typescript/src/channel/useGroupChannelList/reducer.d.ts +1 -1
- package/lib/typescript/src/common/useUserList.d.ts +1 -1
- package/lib/typescript/src/handler/useChannelHandler.d.ts +1 -1
- package/lib/typescript/src/handler/useConnectionHandler.d.ts +1 -2
- package/lib/typescript/src/index.d.ts +0 -1
- package/lib/typescript/src/types.d.ts +51 -20
- package/package.json +15 -10
- package/src/channel/useChannelMessagesReducer.ts +143 -0
- package/src/channel/useGroupChannelList/reducer.ts +11 -7
- package/src/channel/useGroupChannelList/useGroupChannelListWithCollection.ts +1 -1
- package/src/channel/useGroupChannelList/useGroupChannelListWithQuery.ts +1 -1
- package/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.ts +174 -105
- package/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.ts +90 -63
- package/src/channel/useOpenChannelList/useOpenChannelListWithQuery.ts +1 -5
- package/src/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.ts +143 -26
- package/src/common/useUserList.ts +4 -4
- package/src/handler/useChannelHandler.ts +11 -24
- package/src/handler/useConnectionHandler.ts +11 -5
- package/src/index.ts +0 -1
- package/src/types.ts +58 -20
- package/lib/commonjs/channel/useGroupChannelMessages/reducer.js +0 -154
- package/lib/commonjs/channel/useGroupChannelMessages/reducer.js.map +0 -1
- package/lib/commonjs/channel/useOpenChannelMessages/reducer.js +0 -154
- package/lib/commonjs/channel/useOpenChannelMessages/reducer.js.map +0 -1
- package/lib/commonjs/common/useTotalUnreadChannelCount.js +0 -29
- package/lib/commonjs/common/useTotalUnreadChannelCount.js.map +0 -1
- package/lib/module/channel/useGroupChannelMessages/reducer.js +0 -144
- package/lib/module/channel/useGroupChannelMessages/reducer.js.map +0 -1
- package/lib/module/channel/useOpenChannelMessages/reducer.js +0 -144
- package/lib/module/channel/useOpenChannelMessages/reducer.js.map +0 -1
- package/lib/module/common/useTotalUnreadChannelCount.js +0 -17
- package/lib/module/common/useTotalUnreadChannelCount.js.map +0 -1
- package/lib/typescript/src/channel/useGroupChannelMessages/reducer.d.ts +0 -15
- package/lib/typescript/src/channel/useOpenChannelMessages/reducer.d.ts +0 -15
- package/lib/typescript/src/common/useTotalUnreadChannelCount.d.ts +0 -6
- package/src/channel/useGroupChannelMessages/reducer.ts +0 -125
- package/src/channel/useOpenChannelMessages/reducer.ts +0 -125
- package/src/common/useTotalUnreadChannelCount.ts +0 -26
|
@@ -4,15 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useOpenChannelMessagesWithQuery = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
11
|
-
|
|
12
9
|
var _useChannelHandler = require("../../handler/useChannelHandler");
|
|
13
|
-
|
|
14
|
-
var
|
|
15
|
-
|
|
10
|
+
var _useConnectionHandler = require("../../handler/useConnectionHandler");
|
|
11
|
+
var _useChannelMessagesReducer = require("../useChannelMessagesReducer");
|
|
16
12
|
const createMessageQuery = (channel, creator) => {
|
|
17
13
|
if (creator) return creator();
|
|
18
14
|
return channel.createPreviousMessageListQuery({
|
|
@@ -20,7 +16,6 @@ const createMessageQuery = (channel, creator) => {
|
|
|
20
16
|
reverse: true
|
|
21
17
|
});
|
|
22
18
|
};
|
|
23
|
-
|
|
24
19
|
const useOpenChannelMessagesWithQuery = (sdk, channel, userId, options) => {
|
|
25
20
|
const queryRef = (0, _react.useRef)();
|
|
26
21
|
const forceUpdate = (0, _uikitUtils.useForceUpdate)();
|
|
@@ -29,147 +24,217 @@ const useOpenChannelMessagesWithQuery = (sdk, channel, userId, options) => {
|
|
|
29
24
|
loading,
|
|
30
25
|
refreshing,
|
|
31
26
|
messages,
|
|
32
|
-
|
|
33
|
-
newMessagesFromMembers,
|
|
27
|
+
newMessages,
|
|
34
28
|
updateMessages,
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
updateNewMessages,
|
|
30
|
+
deleteNewMessages,
|
|
37
31
|
deleteMessages,
|
|
38
32
|
updateLoading,
|
|
39
33
|
updateRefreshing
|
|
40
|
-
} = (0,
|
|
34
|
+
} = (0, _useChannelMessagesReducer.useChannelMessagesReducer)(options === null || options === void 0 ? void 0 : options.sortComparator);
|
|
41
35
|
const init = (0, _uikitUtils.useFreshCallback)(async uid => {
|
|
42
36
|
if (uid) {
|
|
43
37
|
var _queryRef$current;
|
|
44
|
-
|
|
45
38
|
queryRef.current = createMessageQuery(channel, options === null || options === void 0 ? void 0 : options.queryCreator);
|
|
46
|
-
|
|
47
39
|
if ((_queryRef$current = queryRef.current) !== null && _queryRef$current !== void 0 && _queryRef$current.hasNext) {
|
|
48
40
|
var _queryRef$current2;
|
|
49
|
-
|
|
50
41
|
const list = await ((_queryRef$current2 = queryRef.current) === null || _queryRef$current2 === void 0 ? void 0 : _queryRef$current2.load());
|
|
51
42
|
updateMessages(list, true, sdk.currentUser.userId);
|
|
52
43
|
}
|
|
53
|
-
|
|
54
|
-
updateNextMessages([], true, sdk.currentUser.userId);
|
|
44
|
+
updateNewMessages([], true, sdk.currentUser.userId);
|
|
55
45
|
}
|
|
56
46
|
});
|
|
57
|
-
|
|
58
47
|
const channelUpdater = channel => {
|
|
59
48
|
if (channel.isOpenChannel() && !(0, _uikitUtils.isDifferentChannel)(channel, channel)) {
|
|
60
49
|
forceUpdate();
|
|
61
50
|
}
|
|
62
51
|
};
|
|
52
|
+
(0, _useConnectionHandler.useConnectionHandler)(sdk, handlerId, {
|
|
53
|
+
async onReconnectSucceeded() {
|
|
54
|
+
var _queryRef$current3, _queryRef$current4, _queryRef$current5, _queryRef$current6, _queryRef$current7, _queryRef$current8, _queryRef$current9, _queryRef$current10, _queryRef$current11, _queryRef$current12, _queryRef$current13, _queryRef$current14, _queryRef$current15, _queryRef$current16, _queryRef$current17, _queryRef$current18;
|
|
55
|
+
const lastMessage = messages[0];
|
|
56
|
+
if (!lastMessage) return;
|
|
57
|
+
const messageContext = {
|
|
58
|
+
updatedMessages: [],
|
|
59
|
+
addedMessages: [],
|
|
60
|
+
deletedMessageIds: []
|
|
61
|
+
};
|
|
62
|
+
const changeLogsContext = {
|
|
63
|
+
hasMore: false,
|
|
64
|
+
token: ''
|
|
65
|
+
};
|
|
66
|
+
const messageQueryContext = {
|
|
67
|
+
hasMore: false,
|
|
68
|
+
timestamp: lastMessage.createdAt
|
|
69
|
+
};
|
|
63
70
|
|
|
71
|
+
// Updated & Deleted messages
|
|
72
|
+
const changelogsParams = {
|
|
73
|
+
replyType: (_queryRef$current3 = queryRef.current) === null || _queryRef$current3 === void 0 ? void 0 : _queryRef$current3.replyType,
|
|
74
|
+
includeMetaArray: (_queryRef$current4 = queryRef.current) === null || _queryRef$current4 === void 0 ? void 0 : _queryRef$current4.includeMetaArray,
|
|
75
|
+
includeReactions: (_queryRef$current5 = queryRef.current) === null || _queryRef$current5 === void 0 ? void 0 : _queryRef$current5.includeReactions,
|
|
76
|
+
includeThreadInfo: (_queryRef$current6 = queryRef.current) === null || _queryRef$current6 === void 0 ? void 0 : _queryRef$current6.includeThreadInfo,
|
|
77
|
+
includeParentMessageInfo: (_queryRef$current7 = queryRef.current) === null || _queryRef$current7 === void 0 ? void 0 : _queryRef$current7.includeParentMessageInfo
|
|
78
|
+
};
|
|
79
|
+
const changeLogsByTS = await channel.getMessageChangeLogsSinceTimestamp(lastMessage.createdAt);
|
|
80
|
+
changeLogsContext.token = changeLogsByTS.token;
|
|
81
|
+
changeLogsContext.hasMore = changeLogsByTS.hasMore;
|
|
82
|
+
messageContext.updatedMessages.push(...changeLogsByTS.updatedMessages);
|
|
83
|
+
messageContext.deletedMessageIds.push(...changeLogsByTS.deletedMessageIds);
|
|
84
|
+
while (changeLogsContext.hasMore) {
|
|
85
|
+
const changeLogsByToken = await channel.getMessageChangeLogsSinceToken(changeLogsByTS.token, changelogsParams);
|
|
86
|
+
changeLogsContext.token = changeLogsByToken.token;
|
|
87
|
+
changeLogsContext.hasMore = changeLogsByToken.hasMore;
|
|
88
|
+
messageContext.updatedMessages.push(...changeLogsByToken.updatedMessages);
|
|
89
|
+
messageContext.deletedMessageIds.push(...changeLogsByToken.deletedMessageIds);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Added messages
|
|
93
|
+
const messageQueryParams = {
|
|
94
|
+
prevResultSize: 0,
|
|
95
|
+
nextResultSize: ((_queryRef$current8 = queryRef.current) === null || _queryRef$current8 === void 0 ? void 0 : _queryRef$current8.limit) ?? 100,
|
|
96
|
+
reverse: (_queryRef$current9 = queryRef.current) === null || _queryRef$current9 === void 0 ? void 0 : _queryRef$current9.reverse,
|
|
97
|
+
includeParentMessageInfo: (_queryRef$current10 = queryRef.current) === null || _queryRef$current10 === void 0 ? void 0 : _queryRef$current10.includeParentMessageInfo,
|
|
98
|
+
includeThreadInfo: (_queryRef$current11 = queryRef.current) === null || _queryRef$current11 === void 0 ? void 0 : _queryRef$current11.includeThreadInfo,
|
|
99
|
+
includeReactions: (_queryRef$current12 = queryRef.current) === null || _queryRef$current12 === void 0 ? void 0 : _queryRef$current12.includeReactions,
|
|
100
|
+
includeMetaArray: (_queryRef$current13 = queryRef.current) === null || _queryRef$current13 === void 0 ? void 0 : _queryRef$current13.includeMetaArray,
|
|
101
|
+
replyType: (_queryRef$current14 = queryRef.current) === null || _queryRef$current14 === void 0 ? void 0 : _queryRef$current14.replyType,
|
|
102
|
+
customTypesFilter: (_queryRef$current15 = queryRef.current) === null || _queryRef$current15 === void 0 ? void 0 : _queryRef$current15.customTypesFilter,
|
|
103
|
+
messageTypeFilter: (_queryRef$current16 = queryRef.current) === null || _queryRef$current16 === void 0 ? void 0 : _queryRef$current16.messageTypeFilter,
|
|
104
|
+
senderUserIdsFilter: (_queryRef$current17 = queryRef.current) === null || _queryRef$current17 === void 0 ? void 0 : _queryRef$current17.senderUserIdsFilter,
|
|
105
|
+
showSubchannelMessagesOnly: (_queryRef$current18 = queryRef.current) === null || _queryRef$current18 === void 0 ? void 0 : _queryRef$current18.showSubchannelMessagesOnly
|
|
106
|
+
};
|
|
107
|
+
const queriedMessages = await channel.getMessagesByTimestamp(lastMessage.createdAt, messageQueryParams);
|
|
108
|
+
messageQueryContext.hasMore = queriedMessages.length > 0;
|
|
109
|
+
if (messageQueryContext.hasMore) {
|
|
110
|
+
messageQueryContext.timestamp = queriedMessages[0].createdAt;
|
|
111
|
+
messageContext.addedMessages.unshift(...queriedMessages);
|
|
112
|
+
}
|
|
113
|
+
while (messageQueryContext.hasMore) {
|
|
114
|
+
const queriedMessages = await channel.getMessagesByTimestamp(messageQueryContext.timestamp, messageQueryParams);
|
|
115
|
+
messageQueryContext.hasMore = queriedMessages.length > 0;
|
|
116
|
+
if (messageQueryContext.hasMore) {
|
|
117
|
+
messageQueryContext.timestamp = queriedMessages[0].createdAt;
|
|
118
|
+
messageContext.addedMessages.unshift(...queriedMessages);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Update to View
|
|
123
|
+
updateMessages([...messageContext.addedMessages, ...messageContext.updatedMessages], false, sdk.currentUser.userId);
|
|
124
|
+
deleteMessages(messageContext.deletedMessageIds, []);
|
|
125
|
+
if (messageContext.addedMessages.length > 0) {
|
|
126
|
+
var _options$shouldCountN;
|
|
127
|
+
if (options !== null && options !== void 0 && (_options$shouldCountN = options.shouldCountNewMessages) !== null && _options$shouldCountN !== void 0 && _options$shouldCountN.call(options)) {
|
|
128
|
+
updateNewMessages(messageContext.addedMessages, false, sdk.currentUser.userId);
|
|
129
|
+
}
|
|
130
|
+
if (options !== null && options !== void 0 && options.onMessagesReceived) {
|
|
131
|
+
options.onMessagesReceived(messageContext.addedMessages);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
});
|
|
64
136
|
(0, _useChannelHandler.useChannelHandler)(sdk, handlerId, {
|
|
65
137
|
// Messages
|
|
66
138
|
onMessageReceived(eventChannel, message) {
|
|
139
|
+
var _options$shouldCountN2;
|
|
67
140
|
if ((0, _uikitUtils.isDifferentChannel)(channel, eventChannel)) return;
|
|
68
|
-
|
|
141
|
+
if ((0, _uikitUtils.isMyMessage)(message, sdk.currentUser.userId)) return;
|
|
142
|
+
updateMessages([message], false, sdk.currentUser.userId);
|
|
143
|
+
if (options !== null && options !== void 0 && (_options$shouldCountN2 = options.shouldCountNewMessages) !== null && _options$shouldCountN2 !== void 0 && _options$shouldCountN2.call(options)) {
|
|
144
|
+
updateNewMessages([message], false, sdk.currentUser.userId);
|
|
145
|
+
}
|
|
146
|
+
if (options !== null && options !== void 0 && options.onMessagesReceived) {
|
|
147
|
+
options.onMessagesReceived([message]);
|
|
148
|
+
}
|
|
69
149
|
},
|
|
70
|
-
|
|
71
150
|
onMessageUpdated(eventChannel, message) {
|
|
72
151
|
if ((0, _uikitUtils.isDifferentChannel)(channel, eventChannel)) return;
|
|
152
|
+
if ((0, _uikitUtils.isMyMessage)(message, sdk.currentUser.userId)) return;
|
|
73
153
|
updateMessages([message], false, sdk.currentUser.userId);
|
|
74
154
|
},
|
|
75
|
-
|
|
76
155
|
onMessageDeleted(eventChannel, messageId) {
|
|
77
156
|
if ((0, _uikitUtils.isDifferentChannel)(channel, eventChannel)) return;
|
|
78
157
|
deleteMessages([messageId], []);
|
|
79
|
-
|
|
158
|
+
deleteNewMessages([messageId], []);
|
|
80
159
|
},
|
|
81
|
-
|
|
82
160
|
// Channels
|
|
83
161
|
onChannelChanged: channelUpdater,
|
|
84
162
|
onChannelFrozen: channelUpdater,
|
|
85
163
|
onChannelUnfrozen: channelUpdater,
|
|
86
|
-
|
|
87
164
|
onChannelParticipantCountChanged(eventChannel) {
|
|
88
165
|
if ((0, _uikitUtils.isDifferentChannel)(channel, eventChannel)) return;
|
|
89
166
|
channelUpdater(eventChannel);
|
|
90
167
|
},
|
|
91
|
-
|
|
92
168
|
onChannelDeleted(channelUrl, type) {
|
|
93
169
|
if (channel.url === channelUrl && type === 'open') {
|
|
94
170
|
var _options$onChannelDel;
|
|
95
|
-
|
|
96
171
|
options === null || options === void 0 ? void 0 : (_options$onChannelDel = options.onChannelDeleted) === null || _options$onChannelDel === void 0 ? void 0 : _options$onChannelDel.call(options);
|
|
97
172
|
}
|
|
98
173
|
},
|
|
99
|
-
|
|
100
174
|
// Users
|
|
101
175
|
onOperatorUpdated: channelUpdater,
|
|
102
176
|
onUserUnbanned: channelUpdater,
|
|
103
177
|
onUserMuted: channelUpdater,
|
|
104
178
|
onUserUnmuted: channelUpdater,
|
|
105
|
-
|
|
106
179
|
onUserBanned(eventChannel, bannedUser) {
|
|
107
180
|
if ((0, _uikitUtils.isDifferentChannel)(channel, eventChannel)) return;
|
|
108
|
-
|
|
109
181
|
if (bannedUser.userId === sdk.currentUser.userId) {
|
|
110
182
|
var _options$onChannelDel2;
|
|
111
|
-
|
|
112
183
|
options === null || options === void 0 ? void 0 : (_options$onChannelDel2 = options.onChannelDeleted) === null || _options$onChannelDel2 === void 0 ? void 0 : _options$onChannelDel2.call(options);
|
|
113
184
|
} else {
|
|
114
185
|
channelUpdater(eventChannel);
|
|
115
186
|
}
|
|
116
187
|
}
|
|
117
|
-
|
|
118
188
|
}, 'open');
|
|
119
189
|
(0, _uikitUtils.useAsyncEffect)(async () => {
|
|
120
190
|
updateLoading(true);
|
|
121
|
-
|
|
122
191
|
try {
|
|
123
192
|
await channel.enter();
|
|
124
193
|
await init(userId);
|
|
125
194
|
} catch (error) {
|
|
126
195
|
var _options$onError, _options$onChannelDel3;
|
|
127
|
-
|
|
128
196
|
options === null || options === void 0 ? void 0 : (_options$onError = options.onError) === null || _options$onError === void 0 ? void 0 : _options$onError.call(options, error);
|
|
129
197
|
options === null || options === void 0 ? void 0 : (_options$onChannelDel3 = options.onChannelDeleted) === null || _options$onChannelDel3 === void 0 ? void 0 : _options$onChannelDel3.call(options);
|
|
130
198
|
} finally {
|
|
131
199
|
updateLoading(false);
|
|
132
200
|
}
|
|
133
|
-
|
|
134
201
|
return () => {
|
|
135
202
|
channel.exit().catch(_uikitUtils.NOOP);
|
|
136
203
|
};
|
|
137
|
-
}, [
|
|
204
|
+
}, [channel.url, userId]);
|
|
138
205
|
const refresh = (0, _uikitUtils.useFreshCallback)(async () => {
|
|
139
206
|
updateRefreshing(true);
|
|
140
207
|
await init(userId);
|
|
141
208
|
updateRefreshing(false);
|
|
142
209
|
});
|
|
143
210
|
const prev = (0, _uikitUtils.useFreshCallback)(async () => {
|
|
144
|
-
var _queryRef$
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
const list = await ((_queryRef$current4 = queryRef.current) === null || _queryRef$current4 === void 0 ? void 0 : _queryRef$current4.load());
|
|
211
|
+
var _queryRef$current19;
|
|
212
|
+
if (queryRef.current && (_queryRef$current19 = queryRef.current) !== null && _queryRef$current19 !== void 0 && _queryRef$current19.hasNext) {
|
|
213
|
+
var _queryRef$current20;
|
|
214
|
+
const list = await ((_queryRef$current20 = queryRef.current) === null || _queryRef$current20 === void 0 ? void 0 : _queryRef$current20.load());
|
|
150
215
|
updateMessages(list, false, sdk.currentUser.userId);
|
|
151
216
|
}
|
|
152
217
|
});
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
updateNextMessages([], true, sdk.currentUser.userId);
|
|
157
|
-
}
|
|
218
|
+
const hasPrev = (0, _uikitUtils.useFreshCallback)(() => {
|
|
219
|
+
var _queryRef$current21;
|
|
220
|
+
return ((_queryRef$current21 = queryRef.current) === null || _queryRef$current21 === void 0 ? void 0 : _queryRef$current21.hasNext) ?? false;
|
|
158
221
|
});
|
|
222
|
+
const next = (0, _uikitUtils.useFreshCallback)(_uikitUtils.ASYNC_NOOP);
|
|
223
|
+
const hasNext = (0, _uikitUtils.useFreshCallback)(() => false);
|
|
159
224
|
const sendUserMessage = (0, _uikitUtils.useFreshCallback)((params, onPending) => {
|
|
160
225
|
return new Promise((resolve, reject) => {
|
|
161
226
|
channel.sendUserMessage(params).onPending(pendingMessage => {
|
|
162
227
|
if (pendingMessage.isUserMessage()) {
|
|
163
|
-
|
|
228
|
+
updateMessages([pendingMessage], false, sdk.currentUser.userId);
|
|
164
229
|
onPending === null || onPending === void 0 ? void 0 : onPending(pendingMessage);
|
|
165
230
|
}
|
|
166
231
|
}).onSucceeded(sentMessage => {
|
|
167
232
|
if (sentMessage.isUserMessage()) {
|
|
168
|
-
|
|
233
|
+
updateMessages([sentMessage], false, sdk.currentUser.userId);
|
|
169
234
|
resolve(sentMessage);
|
|
170
235
|
}
|
|
171
236
|
}).onFailed((err, sentMessage) => {
|
|
172
|
-
|
|
237
|
+
updateMessages([sentMessage], false, sdk.currentUser.userId);
|
|
173
238
|
reject(err);
|
|
174
239
|
});
|
|
175
240
|
});
|
|
@@ -178,16 +243,16 @@ const useOpenChannelMessagesWithQuery = (sdk, channel, userId, options) => {
|
|
|
178
243
|
return new Promise((resolve, reject) => {
|
|
179
244
|
channel.sendFileMessage(params).onPending(pendingMessage => {
|
|
180
245
|
if (pendingMessage.isFileMessage()) {
|
|
181
|
-
|
|
246
|
+
updateMessages([pendingMessage], false, sdk.currentUser.userId);
|
|
182
247
|
onPending === null || onPending === void 0 ? void 0 : onPending(pendingMessage);
|
|
183
248
|
}
|
|
184
249
|
}).onSucceeded(sentMessage => {
|
|
185
250
|
if (sentMessage.isFileMessage()) {
|
|
186
|
-
|
|
251
|
+
updateMessages([sentMessage], false, sdk.currentUser.userId);
|
|
187
252
|
resolve(sentMessage);
|
|
188
253
|
}
|
|
189
254
|
}).onFailed((err, sentMessage) => {
|
|
190
|
-
|
|
255
|
+
updateMessages([sentMessage], false, sdk.currentUser.userId);
|
|
191
256
|
reject(err);
|
|
192
257
|
});
|
|
193
258
|
});
|
|
@@ -208,7 +273,7 @@ const useOpenChannelMessagesWithQuery = (sdk, channel, userId, options) => {
|
|
|
208
273
|
if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);
|
|
209
274
|
return null;
|
|
210
275
|
})();
|
|
211
|
-
if (message)
|
|
276
|
+
if (message) updateMessages([message], false, sdk.currentUser.userId);
|
|
212
277
|
});
|
|
213
278
|
const deleteMessage = (0, _uikitUtils.useFreshCallback)(async message => {
|
|
214
279
|
if (message.sendingStatus === 'succeeded') {
|
|
@@ -218,23 +283,29 @@ const useOpenChannelMessagesWithQuery = (sdk, channel, userId, options) => {
|
|
|
218
283
|
deleteMessages([message.messageId], [message.reqId]);
|
|
219
284
|
}
|
|
220
285
|
});
|
|
286
|
+
const resetNewMessages = (0, _uikitUtils.useFreshCallback)(() => {
|
|
287
|
+
updateNewMessages([], true, sdk.currentUser.userId);
|
|
288
|
+
});
|
|
221
289
|
return {
|
|
222
290
|
loading,
|
|
223
291
|
refreshing,
|
|
224
292
|
refresh,
|
|
225
293
|
messages,
|
|
226
|
-
|
|
227
|
-
newMessagesFromMembers,
|
|
294
|
+
newMessages,
|
|
228
295
|
next,
|
|
296
|
+
hasNext,
|
|
229
297
|
prev,
|
|
298
|
+
hasPrev,
|
|
230
299
|
sendUserMessage,
|
|
231
300
|
sendFileMessage,
|
|
232
301
|
updateUserMessage,
|
|
233
302
|
updateFileMessage,
|
|
234
303
|
resendMessage,
|
|
235
|
-
deleteMessage
|
|
304
|
+
deleteMessage,
|
|
305
|
+
resetNewMessages,
|
|
306
|
+
nextMessages: newMessages,
|
|
307
|
+
newMessagesFromMembers: newMessages
|
|
236
308
|
};
|
|
237
309
|
};
|
|
238
|
-
|
|
239
310
|
exports.useOpenChannelMessagesWithQuery = useOpenChannelMessagesWithQuery;
|
|
240
311
|
//# sourceMappingURL=useOpenChannelMessagesWithQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createMessageQuery","channel","creator","createPreviousMessageListQuery","limit","reverse","useOpenChannelMessagesWithQuery","sdk","userId","options","queryRef","useRef","forceUpdate","useForceUpdate","handlerId","useUniqHandlerId","loading","refreshing","messages","nextMessages","newMessagesFromMembers","updateMessages","updateNextMessages","deleteNextMessages","deleteMessages","updateLoading","updateRefreshing","useOpenChannelMessagesReducer","sortComparator","init","useFreshCallback","uid","current","queryCreator","hasNext","list","load","currentUser","channelUpdater","isOpenChannel","isDifferentChannel","useChannelHandler","onMessageReceived","eventChannel","message","onMessageUpdated","onMessageDeleted","messageId","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onChannelParticipantCountChanged","onChannelDeleted","channelUrl","type","url","onOperatorUpdated","onUserUnbanned","onUserMuted","onUserUnmuted","onUserBanned","bannedUser","useAsyncEffect","enter","error","onError","exit","catch","NOOP","refresh","prev","next","length","sendUserMessage","params","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","onSucceeded","sentMessage","onFailed","err","sendFileMessage","isFileMessage","updateUserMessage","updatedMessage","updateFileMessage","resendMessage","failedMessage","resendUserMessage","resendFileMessage","deleteMessage","sendingStatus","reqId"],"sources":["useOpenChannelMessagesWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { SendbirdBaseChannel, SendbirdOpenChannel, SendbirdPreviousMessageListQuery } from '@sendbird/uikit-utils';\nimport {\n NOOP,\n isDifferentChannel,\n useAsyncEffect,\n useForceUpdate,\n useFreshCallback,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseOpenChannelMessages, UseOpenChannelMessagesOptions } from '../../types';\nimport { useOpenChannelMessagesReducer } from './reducer';\n\nconst createMessageQuery = (channel: SendbirdOpenChannel, creator?: UseOpenChannelMessagesOptions['queryCreator']) => {\n if (creator) return creator();\n return channel.createPreviousMessageListQuery({\n limit: 100,\n reverse: true,\n });\n};\n\nexport const useOpenChannelMessagesWithQuery: UseOpenChannelMessages = (sdk, channel, userId, options) => {\n const queryRef = useRef<SendbirdPreviousMessageListQuery>();\n const forceUpdate = useForceUpdate();\n const handlerId = useUniqHandlerId('useOpenChannelMessagesWithQuery');\n\n const {\n loading,\n refreshing,\n messages,\n nextMessages,\n newMessagesFromMembers,\n updateMessages,\n updateNextMessages,\n deleteNextMessages,\n deleteMessages,\n updateLoading,\n updateRefreshing,\n } = useOpenChannelMessagesReducer(userId, options?.sortComparator);\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n queryRef.current = createMessageQuery(channel, options?.queryCreator);\n if (queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n\n updateMessages(list, true, sdk.currentUser.userId);\n }\n updateNextMessages([], true, sdk.currentUser.userId);\n }\n });\n\n const channelUpdater = (channel: SendbirdBaseChannel) => {\n if (channel.isOpenChannel() && !isDifferentChannel(channel, channel)) {\n forceUpdate();\n }\n };\n\n useChannelHandler(\n sdk,\n handlerId,\n {\n // Messages\n onMessageReceived(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n updateNextMessages([message], false, sdk.currentUser.userId);\n },\n onMessageUpdated(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n updateMessages([message], false, sdk.currentUser.userId);\n },\n onMessageDeleted(eventChannel, messageId) {\n if (isDifferentChannel(channel, eventChannel)) return;\n deleteMessages([messageId], []);\n deleteNextMessages([messageId], []);\n },\n // Channels\n onChannelChanged: channelUpdater,\n onChannelFrozen: channelUpdater,\n onChannelUnfrozen: channelUpdater,\n onChannelParticipantCountChanged(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n channelUpdater(eventChannel);\n },\n onChannelDeleted(channelUrl, type) {\n if (channel.url === channelUrl && type === 'open') {\n options?.onChannelDeleted?.();\n }\n },\n // Users\n onOperatorUpdated: channelUpdater,\n onUserUnbanned: channelUpdater,\n onUserMuted: channelUpdater,\n onUserUnmuted: channelUpdater,\n onUserBanned(eventChannel, bannedUser) {\n if (isDifferentChannel(channel, eventChannel)) return;\n\n if (bannedUser.userId === sdk.currentUser.userId) {\n options?.onChannelDeleted?.();\n } else {\n channelUpdater(eventChannel);\n }\n },\n },\n 'open',\n );\n\n useAsyncEffect(async () => {\n updateLoading(true);\n\n try {\n await channel.enter();\n await init(userId);\n } catch (error) {\n options?.onError?.(error);\n options?.onChannelDeleted?.();\n } finally {\n updateLoading(false);\n }\n\n return () => {\n channel.exit().catch(NOOP);\n };\n }, [init, userId]);\n\n const refresh: ReturnType<UseOpenChannelMessages>['refresh'] = useFreshCallback(async () => {\n updateRefreshing(true);\n await init(userId);\n updateRefreshing(false);\n });\n\n const prev: ReturnType<UseOpenChannelMessages>['prev'] = useFreshCallback(async () => {\n if (queryRef.current && queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n updateMessages(list, false, sdk.currentUser.userId);\n }\n });\n\n const next: ReturnType<UseOpenChannelMessages>['next'] = useFreshCallback(async () => {\n if (nextMessages.length > 0) {\n updateMessages(nextMessages, false, sdk.currentUser.userId);\n updateNextMessages([], true, sdk.currentUser.userId);\n }\n });\n\n const sendUserMessage: ReturnType<UseOpenChannelMessages>['sendUserMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendUserMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isUserMessage()) {\n updateNextMessages([pendingMessage], false, sdk.currentUser.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isUserMessage()) {\n updateNextMessages([sentMessage], false, sdk.currentUser.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, sentMessage) => {\n updateNextMessages([sentMessage], false, sdk.currentUser.userId);\n reject(err);\n });\n });\n },\n );\n\n const sendFileMessage: ReturnType<UseOpenChannelMessages>['sendFileMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendFileMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isFileMessage()) {\n updateNextMessages([pendingMessage], false, sdk.currentUser.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isFileMessage()) {\n updateNextMessages([sentMessage], false, sdk.currentUser.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, sentMessage) => {\n updateNextMessages([sentMessage], false, sdk.currentUser.userId);\n reject(err);\n });\n });\n },\n );\n\n const updateUserMessage: ReturnType<UseOpenChannelMessages>['updateUserMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateUserMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser.userId);\n return updatedMessage;\n },\n );\n const updateFileMessage: ReturnType<UseOpenChannelMessages>['updateFileMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateFileMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser.userId);\n return updatedMessage;\n },\n );\n const resendMessage: ReturnType<UseOpenChannelMessages>['resendMessage'] = useFreshCallback(async (failedMessage) => {\n const message = await (() => {\n if (failedMessage.isUserMessage()) return channel.resendUserMessage(failedMessage);\n if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);\n return null;\n })();\n\n if (message) updateNextMessages([message], false, sdk.currentUser.userId);\n });\n const deleteMessage: ReturnType<UseOpenChannelMessages>['deleteMessage'] = useFreshCallback(async (message) => {\n if (message.sendingStatus === 'succeeded') {\n if (message.isUserMessage()) await channel.deleteMessage(message);\n if (message.isFileMessage()) await channel.deleteMessage(message);\n } else {\n deleteMessages([message.messageId], [message.reqId]);\n }\n });\n\n return {\n loading,\n refreshing,\n refresh,\n messages,\n nextMessages,\n newMessagesFromMembers,\n next,\n prev,\n sendUserMessage,\n sendFileMessage,\n updateUserMessage,\n updateFileMessage,\n resendMessage,\n deleteMessage,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","require","_uikitUtils","_useChannelHandler","_useConnectionHandler","_useChannelMessagesReducer","createMessageQuery","channel","creator","createPreviousMessageListQuery","limit","reverse","useOpenChannelMessagesWithQuery","sdk","userId","options","queryRef","useRef","forceUpdate","useForceUpdate","handlerId","useUniqHandlerId","loading","refreshing","messages","newMessages","updateMessages","updateNewMessages","deleteNewMessages","deleteMessages","updateLoading","updateRefreshing","useChannelMessagesReducer","sortComparator","init","useFreshCallback","uid","_queryRef$current","current","queryCreator","hasNext","_queryRef$current2","list","load","currentUser","channelUpdater","isOpenChannel","isDifferentChannel","useConnectionHandler","onReconnectSucceeded","_queryRef$current3","_queryRef$current4","_queryRef$current5","_queryRef$current6","_queryRef$current7","_queryRef$current8","_queryRef$current9","_queryRef$current10","_queryRef$current11","_queryRef$current12","_queryRef$current13","_queryRef$current14","_queryRef$current15","_queryRef$current16","_queryRef$current17","_queryRef$current18","lastMessage","messageContext","updatedMessages","addedMessages","deletedMessageIds","changeLogsContext","hasMore","token","messageQueryContext","timestamp","createdAt","changelogsParams","replyType","includeMetaArray","includeReactions","includeThreadInfo","includeParentMessageInfo","changeLogsByTS","getMessageChangeLogsSinceTimestamp","push","changeLogsByToken","getMessageChangeLogsSinceToken","messageQueryParams","prevResultSize","nextResultSize","customTypesFilter","messageTypeFilter","senderUserIdsFilter","showSubchannelMessagesOnly","queriedMessages","getMessagesByTimestamp","length","unshift","_options$shouldCountN","shouldCountNewMessages","call","onMessagesReceived","useChannelHandler","onMessageReceived","eventChannel","message","_options$shouldCountN2","isMyMessage","onMessageUpdated","onMessageDeleted","messageId","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onChannelParticipantCountChanged","onChannelDeleted","channelUrl","type","url","_options$onChannelDel","onOperatorUpdated","onUserUnbanned","onUserMuted","onUserUnmuted","onUserBanned","bannedUser","_options$onChannelDel2","useAsyncEffect","enter","error","_options$onError","_options$onChannelDel3","onError","exit","catch","NOOP","refresh","prev","_queryRef$current19","_queryRef$current20","hasPrev","_queryRef$current21","next","ASYNC_NOOP","sendUserMessage","params","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","onSucceeded","sentMessage","onFailed","err","sendFileMessage","isFileMessage","updateUserMessage","updatedMessage","updateFileMessage","resendMessage","failedMessage","resendUserMessage","resendFileMessage","deleteMessage","sendingStatus","reqId","resetNewMessages","nextMessages","newMessagesFromMembers","exports"],"sources":["useOpenChannelMessagesWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type {\n SendbirdBaseChannel,\n SendbirdBaseMessage,\n SendbirdOpenChannel,\n SendbirdPreviousMessageListQuery,\n} from '@sendbird/uikit-utils';\nimport {\n ASYNC_NOOP,\n NOOP,\n isDifferentChannel,\n isMyMessage,\n useAsyncEffect,\n useForceUpdate,\n useFreshCallback,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport { useConnectionHandler } from '../../handler/useConnectionHandler';\nimport type { UseOpenChannelMessages, UseOpenChannelMessagesOptions } from '../../types';\nimport { useChannelMessagesReducer } from '../useChannelMessagesReducer';\n\nconst createMessageQuery = (channel: SendbirdOpenChannel, creator?: UseOpenChannelMessagesOptions['queryCreator']) => {\n if (creator) return creator();\n return channel.createPreviousMessageListQuery({\n limit: 100,\n reverse: true,\n });\n};\n\nexport const useOpenChannelMessagesWithQuery: UseOpenChannelMessages = (sdk, channel, userId, options) => {\n const queryRef = useRef<SendbirdPreviousMessageListQuery>();\n const forceUpdate = useForceUpdate();\n const handlerId = useUniqHandlerId('useOpenChannelMessagesWithQuery');\n\n const {\n loading,\n refreshing,\n messages,\n newMessages,\n updateMessages,\n updateNewMessages,\n deleteNewMessages,\n deleteMessages,\n updateLoading,\n updateRefreshing,\n } = useChannelMessagesReducer(options?.sortComparator);\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n queryRef.current = createMessageQuery(channel, options?.queryCreator);\n if (queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n\n updateMessages(list, true, sdk.currentUser.userId);\n }\n updateNewMessages([], true, sdk.currentUser.userId);\n }\n });\n\n const channelUpdater = (channel: SendbirdBaseChannel) => {\n if (channel.isOpenChannel() && !isDifferentChannel(channel, channel)) {\n forceUpdate();\n }\n };\n\n useConnectionHandler(sdk, handlerId, {\n async onReconnectSucceeded() {\n const lastMessage = messages[0];\n if (!lastMessage) return;\n\n const messageContext = {\n updatedMessages: [] as SendbirdBaseMessage[],\n addedMessages: [] as SendbirdBaseMessage[],\n deletedMessageIds: [] as number[],\n };\n const changeLogsContext = {\n hasMore: false,\n token: '',\n };\n const messageQueryContext = {\n hasMore: false,\n timestamp: lastMessage.createdAt,\n };\n\n // Updated & Deleted messages\n const changelogsParams = {\n replyType: queryRef.current?.replyType,\n includeMetaArray: queryRef.current?.includeMetaArray,\n includeReactions: queryRef.current?.includeReactions,\n includeThreadInfo: queryRef.current?.includeThreadInfo,\n includeParentMessageInfo: queryRef.current?.includeParentMessageInfo,\n };\n\n const changeLogsByTS = await channel.getMessageChangeLogsSinceTimestamp(lastMessage.createdAt);\n changeLogsContext.token = changeLogsByTS.token;\n changeLogsContext.hasMore = changeLogsByTS.hasMore;\n messageContext.updatedMessages.push(...changeLogsByTS.updatedMessages);\n messageContext.deletedMessageIds.push(...changeLogsByTS.deletedMessageIds);\n\n while (changeLogsContext.hasMore) {\n const changeLogsByToken = await channel.getMessageChangeLogsSinceToken(changeLogsByTS.token, changelogsParams);\n changeLogsContext.token = changeLogsByToken.token;\n changeLogsContext.hasMore = changeLogsByToken.hasMore;\n messageContext.updatedMessages.push(...changeLogsByToken.updatedMessages);\n messageContext.deletedMessageIds.push(...changeLogsByToken.deletedMessageIds);\n }\n\n // Added messages\n const messageQueryParams = {\n prevResultSize: 0,\n nextResultSize: queryRef.current?.limit ?? 100,\n reverse: queryRef.current?.reverse,\n includeParentMessageInfo: queryRef.current?.includeParentMessageInfo,\n includeThreadInfo: queryRef.current?.includeThreadInfo,\n includeReactions: queryRef.current?.includeReactions,\n includeMetaArray: queryRef.current?.includeMetaArray,\n replyType: queryRef.current?.replyType,\n customTypesFilter: queryRef.current?.customTypesFilter,\n messageTypeFilter: queryRef.current?.messageTypeFilter,\n senderUserIdsFilter: queryRef.current?.senderUserIdsFilter,\n showSubchannelMessagesOnly: queryRef.current?.showSubchannelMessagesOnly,\n };\n\n const queriedMessages = await channel.getMessagesByTimestamp(lastMessage.createdAt, messageQueryParams);\n messageQueryContext.hasMore = queriedMessages.length > 0;\n if (messageQueryContext.hasMore) {\n messageQueryContext.timestamp = queriedMessages[0].createdAt;\n messageContext.addedMessages.unshift(...queriedMessages);\n }\n\n while (messageQueryContext.hasMore) {\n const queriedMessages = await channel.getMessagesByTimestamp(messageQueryContext.timestamp, messageQueryParams);\n messageQueryContext.hasMore = queriedMessages.length > 0;\n if (messageQueryContext.hasMore) {\n messageQueryContext.timestamp = queriedMessages[0].createdAt;\n messageContext.addedMessages.unshift(...queriedMessages);\n }\n }\n\n // Update to View\n updateMessages(\n [...messageContext.addedMessages, ...messageContext.updatedMessages],\n false,\n sdk.currentUser.userId,\n );\n deleteMessages(messageContext.deletedMessageIds, []);\n\n if (messageContext.addedMessages.length > 0) {\n if (options?.shouldCountNewMessages?.()) {\n updateNewMessages(messageContext.addedMessages, false, sdk.currentUser.userId);\n }\n if (options?.onMessagesReceived) {\n options.onMessagesReceived(messageContext.addedMessages);\n }\n }\n },\n });\n\n useChannelHandler(\n sdk,\n handlerId,\n {\n // Messages\n onMessageReceived(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser.userId)) return;\n\n updateMessages([message], false, sdk.currentUser.userId);\n if (options?.shouldCountNewMessages?.()) {\n updateNewMessages([message], false, sdk.currentUser.userId);\n }\n if (options?.onMessagesReceived) {\n options.onMessagesReceived([message]);\n }\n },\n onMessageUpdated(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser.userId)) return;\n\n updateMessages([message], false, sdk.currentUser.userId);\n },\n onMessageDeleted(eventChannel, messageId) {\n if (isDifferentChannel(channel, eventChannel)) return;\n deleteMessages([messageId], []);\n deleteNewMessages([messageId], []);\n },\n // Channels\n onChannelChanged: channelUpdater,\n onChannelFrozen: channelUpdater,\n onChannelUnfrozen: channelUpdater,\n onChannelParticipantCountChanged(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n channelUpdater(eventChannel);\n },\n onChannelDeleted(channelUrl, type) {\n if (channel.url === channelUrl && type === 'open') {\n options?.onChannelDeleted?.();\n }\n },\n // Users\n onOperatorUpdated: channelUpdater,\n onUserUnbanned: channelUpdater,\n onUserMuted: channelUpdater,\n onUserUnmuted: channelUpdater,\n onUserBanned(eventChannel, bannedUser) {\n if (isDifferentChannel(channel, eventChannel)) return;\n\n if (bannedUser.userId === sdk.currentUser.userId) {\n options?.onChannelDeleted?.();\n } else {\n channelUpdater(eventChannel);\n }\n },\n },\n 'open',\n );\n\n useAsyncEffect(async () => {\n updateLoading(true);\n\n try {\n await channel.enter();\n await init(userId);\n } catch (error) {\n options?.onError?.(error);\n options?.onChannelDeleted?.();\n } finally {\n updateLoading(false);\n }\n\n return () => {\n channel.exit().catch(NOOP);\n };\n }, [channel.url, userId]);\n\n const refresh: ReturnType<UseOpenChannelMessages>['refresh'] = useFreshCallback(async () => {\n updateRefreshing(true);\n await init(userId);\n updateRefreshing(false);\n });\n\n const prev: ReturnType<UseOpenChannelMessages>['prev'] = useFreshCallback(async () => {\n if (queryRef.current && queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n updateMessages(list, false, sdk.currentUser.userId);\n }\n });\n const hasPrev: ReturnType<UseOpenChannelMessages>['hasPrev'] = useFreshCallback(\n () => queryRef.current?.hasNext ?? false,\n );\n\n const next: ReturnType<UseOpenChannelMessages>['next'] = useFreshCallback(ASYNC_NOOP);\n const hasNext: ReturnType<UseOpenChannelMessages>['hasNext'] = useFreshCallback(() => false);\n\n const sendUserMessage: ReturnType<UseOpenChannelMessages>['sendUserMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendUserMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isUserMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isUserMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, sentMessage) => {\n updateMessages([sentMessage], false, sdk.currentUser.userId);\n reject(err);\n });\n });\n },\n );\n\n const sendFileMessage: ReturnType<UseOpenChannelMessages>['sendFileMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendFileMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isFileMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isFileMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, sentMessage) => {\n updateMessages([sentMessage], false, sdk.currentUser.userId);\n reject(err);\n });\n });\n },\n );\n\n const updateUserMessage: ReturnType<UseOpenChannelMessages>['updateUserMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateUserMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser.userId);\n return updatedMessage;\n },\n );\n const updateFileMessage: ReturnType<UseOpenChannelMessages>['updateFileMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateFileMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser.userId);\n return updatedMessage;\n },\n );\n const resendMessage: ReturnType<UseOpenChannelMessages>['resendMessage'] = useFreshCallback(async (failedMessage) => {\n const message = await (() => {\n if (failedMessage.isUserMessage()) return channel.resendUserMessage(failedMessage);\n if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);\n return null;\n })();\n\n if (message) updateMessages([message], false, sdk.currentUser.userId);\n });\n const deleteMessage: ReturnType<UseOpenChannelMessages>['deleteMessage'] = useFreshCallback(async (message) => {\n if (message.sendingStatus === 'succeeded') {\n if (message.isUserMessage()) await channel.deleteMessage(message);\n if (message.isFileMessage()) await channel.deleteMessage(message);\n } else {\n deleteMessages([message.messageId], [message.reqId]);\n }\n });\n const resetNewMessages: ReturnType<UseOpenChannelMessages>['resetNewMessages'] = useFreshCallback(() => {\n updateNewMessages([], true, sdk.currentUser.userId);\n });\n\n return {\n loading,\n refreshing,\n refresh,\n messages,\n newMessages,\n next,\n hasNext,\n prev,\n hasPrev,\n sendUserMessage,\n sendFileMessage,\n updateUserMessage,\n updateFileMessage,\n resendMessage,\n deleteMessage,\n resetNewMessages,\n\n nextMessages: newMessages,\n newMessagesFromMembers: newMessages,\n };\n};\n"],"mappings":"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"}
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useAppFeatures = void 0;
|
|
7
|
-
|
|
8
7
|
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
9
|
-
|
|
10
8
|
const useAppFeatures = sdk => {
|
|
11
9
|
const {
|
|
12
10
|
premiumFeatureList = [],
|
|
@@ -19,6 +17,5 @@ const useAppFeatures = sdk => {
|
|
|
19
17
|
reactionEnabled: applicationAttributes.includes(_uikitUtils.ApplicationAttributes.reactions)
|
|
20
18
|
};
|
|
21
19
|
};
|
|
22
|
-
|
|
23
20
|
exports.useAppFeatures = useAppFeatures;
|
|
24
21
|
//# sourceMappingURL=useAppFeatures.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useAppFeatures","sdk","premiumFeatureList","applicationAttributes","appInfo","deliveryReceiptEnabled","includes","PremiumFeatures","delivery_receipt","broadcastChannelEnabled","ApplicationAttributes","allow_broadcast_channel","superGroupChannelEnabled","allow_super_group_channel","reactionEnabled","reactions"],"sources":["useAppFeatures.ts"],"sourcesContent":["import { ApplicationAttributes, PremiumFeatures, SendbirdChatSDK } from '@sendbird/uikit-utils';\n\nexport const useAppFeatures = (sdk: SendbirdChatSDK) => {\n const { premiumFeatureList = [], applicationAttributes = [] } = sdk.appInfo ?? {};\n return {\n deliveryReceiptEnabled: premiumFeatureList.includes(PremiumFeatures.delivery_receipt),\n broadcastChannelEnabled: applicationAttributes.includes(ApplicationAttributes.allow_broadcast_channel),\n superGroupChannelEnabled: applicationAttributes.includes(ApplicationAttributes.allow_super_group_channel),\n reactionEnabled: applicationAttributes.includes(ApplicationAttributes.reactions),\n };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_uikitUtils","require","useAppFeatures","sdk","premiumFeatureList","applicationAttributes","appInfo","deliveryReceiptEnabled","includes","PremiumFeatures","delivery_receipt","broadcastChannelEnabled","ApplicationAttributes","allow_broadcast_channel","superGroupChannelEnabled","allow_super_group_channel","reactionEnabled","reactions","exports"],"sources":["useAppFeatures.ts"],"sourcesContent":["import { ApplicationAttributes, PremiumFeatures, SendbirdChatSDK } from '@sendbird/uikit-utils';\n\nexport const useAppFeatures = (sdk: SendbirdChatSDK) => {\n const { premiumFeatureList = [], applicationAttributes = [] } = sdk.appInfo ?? {};\n return {\n deliveryReceiptEnabled: premiumFeatureList.includes(PremiumFeatures.delivery_receipt),\n broadcastChannelEnabled: applicationAttributes.includes(ApplicationAttributes.allow_broadcast_channel),\n superGroupChannelEnabled: applicationAttributes.includes(ApplicationAttributes.allow_super_group_channel),\n reactionEnabled: applicationAttributes.includes(ApplicationAttributes.reactions),\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEO,MAAMC,cAAc,GAAIC,GAAoB,IAAK;EACtD,MAAM;IAAEC,kBAAkB,GAAG,EAAE;IAAEC,qBAAqB,GAAG;EAAG,CAAC,GAAGF,GAAG,CAACG,OAAO,IAAI,CAAC,CAAC;EACjF,OAAO;IACLC,sBAAsB,EAAEH,kBAAkB,CAACI,QAAQ,CAACC,2BAAe,CAACC,gBAAgB,CAAC;IACrFC,uBAAuB,EAAEN,qBAAqB,CAACG,QAAQ,CAACI,iCAAqB,CAACC,uBAAuB,CAAC;IACtGC,wBAAwB,EAAET,qBAAqB,CAACG,QAAQ,CAACI,iCAAqB,CAACG,yBAAyB,CAAC;IACzGC,eAAe,EAAEX,qBAAqB,CAACG,QAAQ,CAACI,iCAAqB,CAACK,SAAS;EACjF,CAAC;AACH,CAAC;AAACC,OAAA,CAAAhB,cAAA,GAAAA,cAAA"}
|
|
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useMessageOutgoingStatus = void 0;
|
|
7
|
-
|
|
8
7
|
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
9
|
-
|
|
10
8
|
var _useChannelHandler = require("../handler/useChannelHandler");
|
|
11
|
-
|
|
12
9
|
var _useAppFeatures = require("./useAppFeatures");
|
|
13
|
-
|
|
14
10
|
const useMessageOutgoingStatus = (sdk, channel, message) => {
|
|
15
11
|
const features = (0, _useAppFeatures.useAppFeatures)(sdk);
|
|
16
12
|
const forceUpdate = (0, _uikitUtils.useForceUpdate)();
|
|
@@ -22,31 +18,24 @@ const useMessageOutgoingStatus = (sdk, channel, message) => {
|
|
|
22
18
|
if (!(0, _uikitUtils.isMyMessage)(message, currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId)) return;
|
|
23
19
|
forceUpdate();
|
|
24
20
|
},
|
|
25
|
-
|
|
26
21
|
onUnreadMemberStatusUpdated(eventChannel) {
|
|
27
22
|
if ((0, _uikitUtils.isDifferentChannel)(channel, eventChannel)) return;
|
|
28
23
|
if (!(0, _uikitUtils.isMyMessage)(message, currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId)) return;
|
|
29
24
|
forceUpdate();
|
|
30
25
|
}
|
|
31
|
-
|
|
32
26
|
});
|
|
33
27
|
if (!message) return 'NONE';
|
|
34
|
-
|
|
35
28
|
if ('sendingStatus' in message) {
|
|
36
29
|
if (message.sendingStatus === 'pending') return 'PENDING';
|
|
37
30
|
if (message.sendingStatus === 'failed') return 'FAILED';
|
|
38
31
|
}
|
|
39
|
-
|
|
40
32
|
if (channel.isBroadcast || channel.isSuper) return 'NONE';
|
|
41
33
|
if (channel.getUnreadMemberCount(message) === 0) return 'READ';
|
|
42
|
-
|
|
43
34
|
if (features.deliveryReceiptEnabled) {
|
|
44
35
|
if (channel.getUndeliveredMemberCount(message) === 0) return 'DELIVERED';
|
|
45
36
|
return 'UNDELIVERED';
|
|
46
37
|
}
|
|
47
|
-
|
|
48
38
|
return 'UNREAD';
|
|
49
39
|
};
|
|
50
|
-
|
|
51
40
|
exports.useMessageOutgoingStatus = useMessageOutgoingStatus;
|
|
52
41
|
//# sourceMappingURL=useMessageOutgoingStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMessageOutgoingStatus","sdk","channel","message","features","useAppFeatures","forceUpdate","useForceUpdate","currentUser","handlerId","useUniqHandlerId","useChannelHandler","onUndeliveredMemberStatusUpdated","eventChannel","isDifferentChannel","isMyMessage","userId","onUnreadMemberStatusUpdated","sendingStatus","isBroadcast","isSuper","getUnreadMemberCount","deliveryReceiptEnabled","getUndeliveredMemberCount"],"sources":["useMessageOutgoingStatus.ts"],"sourcesContent":["import type { SendbirdChatSDK, SendbirdGroupChannel, SendbirdMessage } from '@sendbird/uikit-utils';\nimport { isDifferentChannel, isMyMessage, useForceUpdate, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../handler/useChannelHandler';\nimport { useAppFeatures } from './useAppFeatures';\n\nexport type SBUOutgoingStatus = 'NONE' | 'PENDING' | 'FAILED' | 'UNDELIVERED' | 'DELIVERED' | 'UNREAD' | 'READ';\n\nexport const useMessageOutgoingStatus = (\n sdk: SendbirdChatSDK,\n channel: SendbirdGroupChannel,\n message?: SendbirdMessage | null,\n): SBUOutgoingStatus => {\n const features = useAppFeatures(sdk);\n const forceUpdate = useForceUpdate();\n const currentUser = sdk.currentUser;\n const handlerId = useUniqHandlerId('useMessageOutgoingStatus');\n\n useChannelHandler(sdk, handlerId, {\n onUndeliveredMemberStatusUpdated(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (!isMyMessage(message, currentUser?.userId)) return;\n\n forceUpdate();\n },\n onUnreadMemberStatusUpdated(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (!isMyMessage(message, currentUser?.userId)) return;\n\n forceUpdate();\n },\n });\n\n if (!message) return 'NONE';\n\n if ('sendingStatus' in message) {\n if (message.sendingStatus === 'pending') return 'PENDING';\n if (message.sendingStatus === 'failed') return 'FAILED';\n }\n\n if (channel.isBroadcast || channel.isSuper) return 'NONE';\n\n if (channel.getUnreadMemberCount(message) === 0) return 'READ';\n\n if (features.deliveryReceiptEnabled) {\n if (channel.getUndeliveredMemberCount(message) === 0) return 'DELIVERED';\n return 'UNDELIVERED';\n }\n\n return 'UNREAD';\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_uikitUtils","require","_useChannelHandler","_useAppFeatures","useMessageOutgoingStatus","sdk","channel","message","features","useAppFeatures","forceUpdate","useForceUpdate","currentUser","handlerId","useUniqHandlerId","useChannelHandler","onUndeliveredMemberStatusUpdated","eventChannel","isDifferentChannel","isMyMessage","userId","onUnreadMemberStatusUpdated","sendingStatus","isBroadcast","isSuper","getUnreadMemberCount","deliveryReceiptEnabled","getUndeliveredMemberCount","exports"],"sources":["useMessageOutgoingStatus.ts"],"sourcesContent":["import type { SendbirdChatSDK, SendbirdGroupChannel, SendbirdMessage } from '@sendbird/uikit-utils';\nimport { isDifferentChannel, isMyMessage, useForceUpdate, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../handler/useChannelHandler';\nimport { useAppFeatures } from './useAppFeatures';\n\nexport type SBUOutgoingStatus = 'NONE' | 'PENDING' | 'FAILED' | 'UNDELIVERED' | 'DELIVERED' | 'UNREAD' | 'READ';\n\nexport const useMessageOutgoingStatus = (\n sdk: SendbirdChatSDK,\n channel: SendbirdGroupChannel,\n message?: SendbirdMessage | null,\n): SBUOutgoingStatus => {\n const features = useAppFeatures(sdk);\n const forceUpdate = useForceUpdate();\n const currentUser = sdk.currentUser;\n const handlerId = useUniqHandlerId('useMessageOutgoingStatus');\n\n useChannelHandler(sdk, handlerId, {\n onUndeliveredMemberStatusUpdated(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (!isMyMessage(message, currentUser?.userId)) return;\n\n forceUpdate();\n },\n onUnreadMemberStatusUpdated(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (!isMyMessage(message, currentUser?.userId)) return;\n\n forceUpdate();\n },\n });\n\n if (!message) return 'NONE';\n\n if ('sendingStatus' in message) {\n if (message.sendingStatus === 'pending') return 'PENDING';\n if (message.sendingStatus === 'failed') return 'FAILED';\n }\n\n if (channel.isBroadcast || channel.isSuper) return 'NONE';\n\n if (channel.getUnreadMemberCount(message) === 0) return 'READ';\n\n if (features.deliveryReceiptEnabled) {\n if (channel.getUndeliveredMemberCount(message) === 0) return 'DELIVERED';\n return 'UNDELIVERED';\n }\n\n return 'UNREAD';\n};\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAIO,MAAMG,wBAAwB,GAAGA,CACtCC,GAAoB,EACpBC,OAA6B,EAC7BC,OAAgC,KACV;EACtB,MAAMC,QAAQ,GAAG,IAAAC,8BAAc,EAACJ,GAAG,CAAC;EACpC,MAAMK,WAAW,GAAG,IAAAC,0BAAc,GAAE;EACpC,MAAMC,WAAW,GAAGP,GAAG,CAACO,WAAW;EACnC,MAAMC,SAAS,GAAG,IAAAC,4BAAgB,EAAC,0BAA0B,CAAC;EAE9D,IAAAC,oCAAiB,EAACV,GAAG,EAAEQ,SAAS,EAAE;IAChCG,gCAAgCA,CAACC,YAAY,EAAE;MAC7C,IAAI,IAAAC,8BAAkB,EAACZ,OAAO,EAAEW,YAAY,CAAC,EAAE;MAC/C,IAAI,CAAC,IAAAE,uBAAW,EAACZ,OAAO,EAAEK,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEQ,MAAM,CAAC,EAAE;MAEhDV,WAAW,EAAE;IACf,CAAC;IACDW,2BAA2BA,CAACJ,YAAY,EAAE;MACxC,IAAI,IAAAC,8BAAkB,EAACZ,OAAO,EAAEW,YAAY,CAAC,EAAE;MAC/C,IAAI,CAAC,IAAAE,uBAAW,EAACZ,OAAO,EAAEK,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEQ,MAAM,CAAC,EAAE;MAEhDV,WAAW,EAAE;IACf;EACF,CAAC,CAAC;EAEF,IAAI,CAACH,OAAO,EAAE,OAAO,MAAM;EAE3B,IAAI,eAAe,IAAIA,OAAO,EAAE;IAC9B,IAAIA,OAAO,CAACe,aAAa,KAAK,SAAS,EAAE,OAAO,SAAS;IACzD,IAAIf,OAAO,CAACe,aAAa,KAAK,QAAQ,EAAE,OAAO,QAAQ;EACzD;EAEA,IAAIhB,OAAO,CAACiB,WAAW,IAAIjB,OAAO,CAACkB,OAAO,EAAE,OAAO,MAAM;EAEzD,IAAIlB,OAAO,CAACmB,oBAAoB,CAAClB,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,MAAM;EAE9D,IAAIC,QAAQ,CAACkB,sBAAsB,EAAE;IACnC,IAAIpB,OAAO,CAACqB,yBAAyB,CAACpB,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,WAAW;IACxE,OAAO,aAAa;EACtB;EAEA,OAAO,QAAQ;AACjB,CAAC;AAACqB,OAAA,CAAAxB,wBAAA,GAAAA,wBAAA"}
|
|
@@ -4,20 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.usePushTrigger = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _chat = require("@sendbird/chat");
|
|
11
|
-
|
|
12
9
|
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
13
|
-
|
|
14
10
|
const PushTriggerMap = {
|
|
15
11
|
'all': _chat.PushTriggerOption.ALL,
|
|
16
12
|
'mention_only': _chat.PushTriggerOption.MENTION_ONLY,
|
|
17
13
|
'off': _chat.PushTriggerOption.OFF,
|
|
18
14
|
'default': _chat.PushTriggerOption.DEFAULT
|
|
19
15
|
};
|
|
20
|
-
|
|
21
16
|
const usePushTrigger = sdk => {
|
|
22
17
|
const [option, setOption] = (0, _react.useState)(_chat.PushTriggerOption.DEFAULT);
|
|
23
18
|
const updateOption = (0, _react.useCallback)(async value => {
|
|
@@ -36,6 +31,5 @@ const usePushTrigger = sdk => {
|
|
|
36
31
|
updateOption
|
|
37
32
|
};
|
|
38
33
|
};
|
|
39
|
-
|
|
40
34
|
exports.usePushTrigger = usePushTrigger;
|
|
41
35
|
//# sourceMappingURL=usePushTrigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PushTriggerMap","PushTriggerOption","ALL","MENTION_ONLY","OFF","DEFAULT","usePushTrigger","sdk","option","setOption","useState","updateOption","useCallback","value","_option","setPushTriggerOption","then","e","Logger","warn","currentUser","useAsyncEffect","getPushTriggerOption"],"sources":["usePushTrigger.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\n\nimport { PushTriggerOption } from '@sendbird/chat';\nimport type { SendbirdChatSDK } from '@sendbird/uikit-utils';\nimport { Logger, useAsyncEffect } from '@sendbird/uikit-utils';\n\nconst PushTriggerMap = {\n 'all': PushTriggerOption.ALL,\n 'mention_only': PushTriggerOption.MENTION_ONLY,\n 'off': PushTriggerOption.OFF,\n 'default': PushTriggerOption.DEFAULT,\n};\n\nexport const usePushTrigger = (sdk: SendbirdChatSDK) => {\n const [option, setOption] = useState<PushTriggerOption>(PushTriggerOption.DEFAULT);\n\n const updateOption = useCallback(\n async (value: keyof typeof PushTriggerMap) => {\n try {\n const _option = PushTriggerMap[value];\n await sdk.setPushTriggerOption(_option).then(() => setOption(_option));\n } catch (e) {\n Logger.warn('[usePushTrigger]', 'Cannot update push trigger option', e);\n }\n },\n [sdk, sdk.currentUser],\n );\n\n useAsyncEffect(async () => {\n setOption(await sdk.getPushTriggerOption());\n }, [sdk, sdk.currentUser]);\n\n return {\n option,\n updateOption,\n };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_react","require","_chat","_uikitUtils","PushTriggerMap","PushTriggerOption","ALL","MENTION_ONLY","OFF","DEFAULT","usePushTrigger","sdk","option","setOption","useState","updateOption","useCallback","value","_option","setPushTriggerOption","then","e","Logger","warn","currentUser","useAsyncEffect","getPushTriggerOption","exports"],"sources":["usePushTrigger.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\n\nimport { PushTriggerOption } from '@sendbird/chat';\nimport type { SendbirdChatSDK } from '@sendbird/uikit-utils';\nimport { Logger, useAsyncEffect } from '@sendbird/uikit-utils';\n\nconst PushTriggerMap = {\n 'all': PushTriggerOption.ALL,\n 'mention_only': PushTriggerOption.MENTION_ONLY,\n 'off': PushTriggerOption.OFF,\n 'default': PushTriggerOption.DEFAULT,\n};\n\nexport const usePushTrigger = (sdk: SendbirdChatSDK) => {\n const [option, setOption] = useState<PushTriggerOption>(PushTriggerOption.DEFAULT);\n\n const updateOption = useCallback(\n async (value: keyof typeof PushTriggerMap) => {\n try {\n const _option = PushTriggerMap[value];\n await sdk.setPushTriggerOption(_option).then(() => setOption(_option));\n } catch (e) {\n Logger.warn('[usePushTrigger]', 'Cannot update push trigger option', e);\n }\n },\n [sdk, sdk.currentUser],\n );\n\n useAsyncEffect(async () => {\n setOption(await sdk.getPushTriggerOption());\n }, [sdk, sdk.currentUser]);\n\n return {\n option,\n updateOption,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAEA,MAAMG,cAAc,GAAG;EACrB,KAAK,EAAEC,uBAAiB,CAACC,GAAG;EAC5B,cAAc,EAAED,uBAAiB,CAACE,YAAY;EAC9C,KAAK,EAAEF,uBAAiB,CAACG,GAAG;EAC5B,SAAS,EAAEH,uBAAiB,CAACI;AAC/B,CAAC;AAEM,MAAMC,cAAc,GAAIC,GAAoB,IAAK;EACtD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAoBT,uBAAiB,CAACI,OAAO,CAAC;EAElF,MAAMM,YAAY,GAAG,IAAAC,kBAAW,EAC9B,MAAOC,KAAkC,IAAK;IAC5C,IAAI;MACF,MAAMC,OAAO,GAAGd,cAAc,CAACa,KAAK,CAAC;MACrC,MAAMN,GAAG,CAACQ,oBAAoB,CAACD,OAAO,CAAC,CAACE,IAAI,CAAC,MAAMP,SAAS,CAACK,OAAO,CAAC,CAAC;IACxE,CAAC,CAAC,OAAOG,CAAC,EAAE;MACVC,kBAAM,CAACC,IAAI,CAAC,kBAAkB,EAAE,mCAAmC,EAAEF,CAAC,CAAC;IACzE;EACF,CAAC,EACD,CAACV,GAAG,EAAEA,GAAG,CAACa,WAAW,CAAC,CACvB;EAED,IAAAC,0BAAc,EAAC,YAAY;IACzBZ,SAAS,CAAC,MAAMF,GAAG,CAACe,oBAAoB,EAAE,CAAC;EAC7C,CAAC,EAAE,CAACf,GAAG,EAAEA,GAAG,CAACa,WAAW,CAAC,CAAC;EAE1B,OAAO;IACLZ,MAAM;IACNG;EACF,CAAC;AACH,CAAC;AAACY,OAAA,CAAAjB,cAAA,GAAAA,cAAA"}
|