@droppii-org/chat-mobile 0.2.77 → 0.2.79
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/module/components/messages/groupNotificationMessage/index.js +5 -3
- package/lib/module/components/messages/groupNotificationMessage/index.js.map +1 -1
- package/lib/module/core/useChatListener.js +19 -5
- package/lib/module/core/useChatListener.js.map +1 -1
- package/lib/module/hooks/groups/useGroupAccessGuard.js +145 -0
- package/lib/module/hooks/groups/useGroupAccessGuard.js.map +1 -0
- package/lib/module/hooks/groups/useLeaveGroup.js +93 -0
- package/lib/module/hooks/groups/useLeaveGroup.js.map +1 -0
- package/lib/module/hooks/query-keys.js +2 -1
- package/lib/module/hooks/query-keys.js.map +1 -1
- package/lib/module/hooks/useConversationList.js +6 -9
- package/lib/module/hooks/useConversationList.js.map +1 -1
- package/lib/module/screens/ChatInfo/ChatInfo.js +17 -2
- package/lib/module/screens/ChatInfo/ChatInfo.js.map +1 -1
- package/lib/module/screens/ChatInfo/ChatInfoDescriptionRow.js +4 -1
- package/lib/module/screens/ChatInfo/ChatInfoDescriptionRow.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatDetail.js +12 -10
- package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatDetailHeader.js +3 -9
- package/lib/module/screens/chat-detail/ChatDetailHeader.js.map +1 -1
- package/lib/module/screens/inbox/CommunityTab.js +5 -2
- package/lib/module/screens/inbox/CommunityTab.js.map +1 -1
- package/lib/module/screens/inbox/MessagesTab.js +2 -2
- package/lib/module/screens/inbox/MessagesTab.js.map +1 -1
- package/lib/module/store/conversation.js +18 -20
- package/lib/module/store/conversation.js.map +1 -1
- package/lib/module/translation/resources/i18n.js +24 -2
- package/lib/module/translation/resources/i18n.js.map +1 -1
- package/lib/module/utils/conversation.js +4 -1
- package/lib/module/utils/conversation.js.map +1 -1
- package/lib/module/utils/legendListMessage.js +5 -1
- package/lib/module/utils/legendListMessage.js.map +1 -1
- package/lib/module/utils/messageUtils.js +118 -9
- package/lib/module/utils/messageUtils.js.map +1 -1
- package/lib/module/utils/toastFlashMessage.js +6 -0
- package/lib/module/utils/toastFlashMessage.js.map +1 -1
- package/lib/typescript/src/components/messages/groupNotificationMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/core/useChatListener.d.ts.map +1 -1
- package/lib/typescript/src/hooks/groups/useGroupAccessGuard.d.ts +10 -0
- package/lib/typescript/src/hooks/groups/useGroupAccessGuard.d.ts.map +1 -0
- package/lib/typescript/src/hooks/groups/useLeaveGroup.d.ts +6 -0
- package/lib/typescript/src/hooks/groups/useLeaveGroup.d.ts.map +1 -0
- package/lib/typescript/src/hooks/query-keys.d.ts +1 -0
- package/lib/typescript/src/hooks/query-keys.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useConversationList.d.ts.map +1 -1
- package/lib/typescript/src/screens/ChatInfo/ChatInfo.d.ts.map +1 -1
- package/lib/typescript/src/screens/ChatInfo/ChatInfoDescriptionRow.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/types.d.ts +0 -1
- package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
- package/lib/typescript/src/store/conversation.d.ts.map +1 -1
- package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
- package/lib/typescript/src/utils/conversation.d.ts.map +1 -1
- package/lib/typescript/src/utils/legendListMessage.d.ts.map +1 -1
- package/lib/typescript/src/utils/messageUtils.d.ts +6 -0
- package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
- package/lib/typescript/src/utils/toastFlashMessage.d.ts.map +1 -1
- package/package.json +5 -2
- package/src/components/messages/groupNotificationMessage/index.tsx +8 -4
- package/src/core/useChatListener.ts +29 -4
- package/src/hooks/groups/useGroupAccessGuard.ts +182 -0
- package/src/hooks/groups/useLeaveGroup.ts +104 -0
- package/src/hooks/query-keys.ts +1 -0
- package/src/hooks/useConversationList.ts +8 -17
- package/src/screens/ChatInfo/ChatInfo.tsx +27 -2
- package/src/screens/ChatInfo/ChatInfoDescriptionRow.tsx +5 -1
- package/src/screens/chat-detail/ChatDetail.tsx +11 -13
- package/src/screens/chat-detail/ChatDetailHeader.tsx +2 -6
- package/src/screens/chat-detail/types.ts +0 -1
- package/src/screens/inbox/CommunityTab.tsx +2 -2
- package/src/screens/inbox/MessagesTab.tsx +1 -1
- package/src/store/conversation.ts +14 -18
- package/src/translation/resources/i18n.ts +31 -1
- package/src/utils/conversation.ts +6 -3
- package/src/utils/legendListMessage.ts +5 -1
- package/src/utils/messageUtils.ts +128 -8
- package/src/utils/toastFlashMessage.ts +8 -2
|
@@ -4,20 +4,22 @@ import { memo } from 'react';
|
|
|
4
4
|
import { KLabel } from '@droppii/libs';
|
|
5
5
|
import { trans } from "../../../translation/index.js";
|
|
6
6
|
import { CHAT_BUBBLE_COLORS } from "../../../screens/chat-detail/constants.js";
|
|
7
|
-
import {
|
|
7
|
+
import { resolveNotificationText, getNotificationOpUserNickname } from "../../../utils/messageUtils.js";
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
9
|
export const GroupNotificationMessage = /*#__PURE__*/memo(({
|
|
10
10
|
message,
|
|
11
11
|
isOutgoing
|
|
12
12
|
}) => {
|
|
13
|
-
const notification =
|
|
13
|
+
const notification = resolveNotificationText(message);
|
|
14
14
|
if (!notification) return null;
|
|
15
15
|
const sender = isOutgoing ? 'Bạn' : message.senderNickname || getNotificationOpUserNickname(message) || '';
|
|
16
16
|
return /*#__PURE__*/_jsx(KLabel.Text, {
|
|
17
17
|
typo: "TextXsNormal",
|
|
18
18
|
color: CHAT_BUBBLE_COLORS.dayLabel,
|
|
19
|
+
textAlign: "center",
|
|
19
20
|
children: trans(notification.bySenderKey, {
|
|
20
|
-
sender
|
|
21
|
+
sender,
|
|
22
|
+
...notification.params
|
|
21
23
|
})
|
|
22
24
|
});
|
|
23
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","KLabel","trans","CHAT_BUBBLE_COLORS","
|
|
1
|
+
{"version":3,"names":["memo","KLabel","trans","CHAT_BUBBLE_COLORS","resolveNotificationText","getNotificationOpUserNickname","jsx","_jsx","GroupNotificationMessage","message","isOutgoing","notification","sender","senderNickname","Text","typo","color","dayLabel","textAlign","children","bySenderKey","params","displayName"],"sourceRoot":"../../../../../src","sources":["components/messages/groupNotificationMessage/index.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,MAAM,QAAQ,eAAe;AACtC,SAASC,KAAK,QAAQ,+BAAsB;AAC5C,SAASC,kBAAkB,QAAQ,2CAAwC;AAC3E,SACEC,uBAAuB,EACvBC,6BAA6B,QACxB,gCAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGrC,OAAO,MAAMC,wBAAwB,gBAAGR,IAAI,CAC1C,CAAC;EAAES,OAAO;EAAEC;AAAmC,CAAC,KAAK;EACnD,MAAMC,YAAY,GAAGP,uBAAuB,CAACK,OAAO,CAAC;EACrD,IAAI,CAACE,YAAY,EAAE,OAAO,IAAI;EAE9B,MAAMC,MAAM,GAAGF,UAAU,GACrB,KAAK,GACLD,OAAO,CAACI,cAAc,IAAIR,6BAA6B,CAACI,OAAO,CAAC,IAAI,EAAE;EAE1E,oBACEF,IAAA,CAACN,MAAM,CAACa,IAAI;IACVC,IAAI,EAAC,cAAc;IACnBC,KAAK,EAAEb,kBAAkB,CAACc,QAAS;IACnCC,SAAS,EAAC,QAAQ;IAAAC,QAAA,EAEjBjB,KAAK,CAACS,YAAY,CAACS,WAAW,EAAE;MAAER,MAAM;MAAE,GAAGD,YAAY,CAACU;IAAO,CAAC;EAAC,CACzD,CAAC;AAElB,CACF,CAAC;AAEDb,wBAAwB,CAACc,WAAW,GAAG,0BAA0B","ignoreList":[]}
|
|
@@ -92,11 +92,14 @@ export const useChatListener = () => {
|
|
|
92
92
|
const conversationID = getConversationID(SessionType.Group, groupID);
|
|
93
93
|
// const conversation = useConversationStore.getState().map[conversationID];
|
|
94
94
|
const isCurrentConversation = useConversationStore.getState().currentConversationId === conversationID;
|
|
95
|
-
|
|
96
|
-
// Marks groupID as removed so any late-arriving conversation-sync event
|
|
97
|
-
// for it (see onConversationChanged/onNewConversation) is dropped
|
|
98
|
-
// instead of silently resurrecting the conversation we just removed.
|
|
99
95
|
useConversationStore.getState().removeGroupConversation(groupID);
|
|
96
|
+
if (reason === 'dismissed') {
|
|
97
|
+
// The group no longer exists for anyone, so there's no rejoin to
|
|
98
|
+
// preserve history for — purge the local conversation + messages.
|
|
99
|
+
OpenIMSDK.deleteConversationAndDeleteAllMsg(conversationID).catch(error => {
|
|
100
|
+
console.error('[Listener] Failed to delete local conversation', conversationID, error);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
100
103
|
queryClient.removeQueries({
|
|
101
104
|
queryKey: conversationQueryKeys.groupInfo(groupID)
|
|
102
105
|
});
|
|
@@ -127,7 +130,7 @@ export const useChatListener = () => {
|
|
|
127
130
|
}
|
|
128
131
|
}, [queryClient]);
|
|
129
132
|
const onGroupMemberDeleted = useCallback(member => {
|
|
130
|
-
console.log('[Listener] OnGroupMemberDeleted', member);
|
|
133
|
+
// console.log('[Listener] OnGroupMemberDeleted', member);
|
|
131
134
|
queryClient.invalidateQueries({
|
|
132
135
|
queryKey: conversationQueryKeys.groupInfo(member.groupID)
|
|
133
136
|
});
|
|
@@ -163,9 +166,20 @@ export const useChatListener = () => {
|
|
|
163
166
|
}
|
|
164
167
|
}, [currentUserId]);
|
|
165
168
|
const markGroupJoined = useCallback(groupID => {
|
|
169
|
+
// Mirror of removeGroupConversation: leaving marks the conversation
|
|
170
|
+
// `isNotInGroup`, which keeps it out of the inbox, so rejoining has to
|
|
171
|
+
// clear that flag. This runs on the WS event rather than on joinGroup's
|
|
172
|
+
// API success because isJoinGroup only reports true once the incremental
|
|
173
|
+
// sync behind that event has landed.
|
|
174
|
+
useConversationStore.getState().updateConversation(getConversationID(SessionType.Group, groupID), {
|
|
175
|
+
isNotInGroup: false
|
|
176
|
+
});
|
|
166
177
|
queryClient.invalidateQueries({
|
|
167
178
|
queryKey: conversationQueryKeys.joinedGroup(groupID)
|
|
168
179
|
});
|
|
180
|
+
queryClient.invalidateQueries({
|
|
181
|
+
queryKey: conversationQueryKeys.lists()
|
|
182
|
+
});
|
|
169
183
|
queryClient.setQueriesData({
|
|
170
184
|
queryKey: groupQueryKeys.public(),
|
|
171
185
|
exact: false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OpenIMSDK","MessageReceiveOptType","MessageType","OpenIMEvent","SessionType","useQueryClient","useCallback","useEffect","useConversationStore","ToastFlashMessage","useUserStore","getLastMessageText","useChatContext","isEmpty","markMessageRevoked","useMessageStore","syncPinnedMessagesOnEvent","belongsToConversation","getConversationID","DeviceEventEmitter","ChatEvent","conversationQueryKeys","groupQueryKeys","useChatListener","updateOneMessage","state","currentUserId","s","user","userID","onPressFlashMessage","isShowFLashMessage","queryClient","onSendMessageProgress","progress","_progress","message","onConversationChanged","conversations","oldMap","getState","map","visibleConversations","conversation","latestMsg","JSON","parse","isInternal","push","recvMsgOpt","NotNotify","conversationID","latestMsgSendTime","lastMessageText","hideSenderPrefixForDirectChat","show","key","title","showName","body","avatarUrl","faceURL","ellipsizeMiddle","contentType","FileMessage","onPress","hide","updateConversations","onNewConversation","onGroupInfoChanged","group","setQueryData","groupInfo","groupID","onGroupMemberAdded","member","invalidateQueries","queryKey","removeGroupConversation","groupName","reason","Group","isCurrentConversation","currentConversationId","removeQueries","joinedGroup","public","exact","emit","GroupRemoved","onGroupMemberDeleted","console","log","undefined","onJoinedGroupDeleted","onGroupDismissed","OnGroupMemberInfoChanged","getCurrentConversation","GroupPermissionUpdated","nickname","roleLevel","permissions","ex","markGroupJoined","setQueriesData","old","pages","page","groups","g","isJoined","onJoinedGroupAdded","onGroupApplicationAdded","application","onMessageRevoked","revokedInfo","clientMsgID","onMessagePinned","messagePinned","isPinned","pinnedByUserID","operatorUserID","pinnedTime","onRecvNewMessages","messages","conversationId","targetUserId","relevant","filter","length","forEach","msg","pushNewMessage","onRecvOfflineNewMessages","_messages","on","OnConversationChanged","OnNewConversation","OnGroupInfoChanged","OnGroupMemberAdded","OnGroupMemberDeleted","OnJoinedGroupDeleted","OnGroupDismissed","OnJoinedGroupAdded","OnGroupApplicationAdded","SendMessageProgress","OnNewRecvMessageRevoked","OnRecvMessagePinned","OnRecvNewMessages","OnRecvOfflineNewMessages","off"],"sourceRoot":"../../../src","sources":["core/useChatListener.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["OpenIMSDK","MessageReceiveOptType","MessageType","OpenIMEvent","SessionType","useQueryClient","useCallback","useEffect","useConversationStore","ToastFlashMessage","useUserStore","getLastMessageText","useChatContext","isEmpty","markMessageRevoked","useMessageStore","syncPinnedMessagesOnEvent","belongsToConversation","getConversationID","DeviceEventEmitter","ChatEvent","conversationQueryKeys","groupQueryKeys","useChatListener","updateOneMessage","state","currentUserId","s","user","userID","onPressFlashMessage","isShowFLashMessage","queryClient","onSendMessageProgress","progress","_progress","message","onConversationChanged","conversations","oldMap","getState","map","visibleConversations","conversation","latestMsg","JSON","parse","isInternal","push","recvMsgOpt","NotNotify","conversationID","latestMsgSendTime","lastMessageText","hideSenderPrefixForDirectChat","show","key","title","showName","body","avatarUrl","faceURL","ellipsizeMiddle","contentType","FileMessage","onPress","hide","updateConversations","onNewConversation","onGroupInfoChanged","group","setQueryData","groupInfo","groupID","onGroupMemberAdded","member","invalidateQueries","queryKey","removeGroupConversation","groupName","reason","Group","isCurrentConversation","currentConversationId","deleteConversationAndDeleteAllMsg","catch","error","console","removeQueries","joinedGroup","public","exact","emit","GroupRemoved","onGroupMemberDeleted","undefined","onJoinedGroupDeleted","onGroupDismissed","OnGroupMemberInfoChanged","log","getCurrentConversation","GroupPermissionUpdated","nickname","roleLevel","permissions","ex","markGroupJoined","updateConversation","isNotInGroup","lists","setQueriesData","old","pages","page","groups","g","isJoined","onJoinedGroupAdded","onGroupApplicationAdded","application","onMessageRevoked","revokedInfo","clientMsgID","onMessagePinned","messagePinned","isPinned","pinnedByUserID","operatorUserID","pinnedTime","onRecvNewMessages","messages","conversationId","targetUserId","relevant","filter","length","forEach","msg","pushNewMessage","onRecvOfflineNewMessages","_messages","on","OnConversationChanged","OnNewConversation","OnGroupInfoChanged","OnGroupMemberAdded","OnGroupMemberDeleted","OnJoinedGroupDeleted","OnGroupDismissed","OnJoinedGroupAdded","OnGroupApplicationAdded","SendMessageProgress","OnNewRecvMessageRevoked","OnRecvMessagePinned","OnRecvNewMessages","OnRecvOfflineNewMessages","off"],"sourceRoot":"../../../src","sources":["core/useChatListener.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { DeviceEventEmitter } from 'react-native';
|
|
5
|
+
import OpenIMSDK, { GroupStatus, GroupVisibility } from '@droppii/openim-rn-client-sdk';
|
|
6
|
+
import { useQueryClient } from '@tanstack/react-query';
|
|
7
|
+
import { UIUtils } from "../../utils/UIUtils.js";
|
|
8
|
+
import { trans } from "../../translation/index.js";
|
|
9
|
+
import { ChatEvent } from "../../types/events.js";
|
|
10
|
+
import { conversationQueryKeys } from "../query-keys.js";
|
|
11
|
+
/**
|
|
12
|
+
* Resolves whether the current user may open `groupID`, per the group-access
|
|
13
|
+
* spec: private non-members and dismissed groups are blocked outright, while
|
|
14
|
+
* public non-members drop to a read-only view.
|
|
15
|
+
*/
|
|
16
|
+
const evaluateAccess = async groupID => {
|
|
17
|
+
const info = (await OpenIMSDK.getSpecifiedGroupsInfo([groupID]))?.[0];
|
|
18
|
+
if (!info) return {
|
|
19
|
+
state: 'blocked'
|
|
20
|
+
};
|
|
21
|
+
if (info.status === GroupStatus.Dismissed) return {
|
|
22
|
+
state: 'blocked'
|
|
23
|
+
};
|
|
24
|
+
const isMember = await OpenIMSDK.isJoinGroup(groupID);
|
|
25
|
+
if (isMember) return {
|
|
26
|
+
state: 'allowed'
|
|
27
|
+
};
|
|
28
|
+
return info.visibility === GroupVisibility.Public ? {
|
|
29
|
+
state: 'view-only'
|
|
30
|
+
} : {
|
|
31
|
+
state: 'blocked'
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export const useGroupAccessGuard = ({
|
|
35
|
+
groupID,
|
|
36
|
+
onBlocked
|
|
37
|
+
}) => {
|
|
38
|
+
const queryClient = useQueryClient();
|
|
39
|
+
|
|
40
|
+
// The conversation is dropped from the store immediately before GroupRemoved
|
|
41
|
+
// is emitted, so `groupID` can fall back to empty exactly when the guard
|
|
42
|
+
// needs it. Latch the last known id; it is replaced whenever the caller
|
|
43
|
+
// supplies a different non-empty one. (A group → 1-1 switch inside a single
|
|
44
|
+
// mount would keep the stale id, but ChatDetail remounts per conversation.)
|
|
45
|
+
const groupIdRef = useRef(groupID);
|
|
46
|
+
if (groupID) groupIdRef.current = groupID;
|
|
47
|
+
const activeGroupId = groupIdRef.current;
|
|
48
|
+
const [accessState, setAccessState] = useState(() => activeGroupId ? 'checking' : 'allowed');
|
|
49
|
+
|
|
50
|
+
// OnGroupDismissed fires twice for the group owner (once on API success,
|
|
51
|
+
// once when the WS notification lands), so blocking must be idempotent.
|
|
52
|
+
const hasBlockedRef = useRef(false);
|
|
53
|
+
const onBlockedRef = useRef(onBlocked);
|
|
54
|
+
onBlockedRef.current = onBlocked;
|
|
55
|
+
const block = useCallback(() => {
|
|
56
|
+
if (hasBlockedRef.current) return;
|
|
57
|
+
hasBlockedRef.current = true;
|
|
58
|
+
setAccessState('blocked');
|
|
59
|
+
UIUtils.alert.open({
|
|
60
|
+
title: trans('group:access_blocked_title'),
|
|
61
|
+
message: trans('group:access_blocked_desc'),
|
|
62
|
+
primaryIndex: 0,
|
|
63
|
+
buttonType: 'horizontal-button',
|
|
64
|
+
// Drop any alert raised while this one is up rather than stacking it —
|
|
65
|
+
// OnGroupDismissed fires twice for the group owner.
|
|
66
|
+
ignoreStack: true,
|
|
67
|
+
// Force an acknowledgement: dismissing by tapping outside would leave the
|
|
68
|
+
// user sitting in a conversation they cannot access.
|
|
69
|
+
touchOutsideToDismiss: false,
|
|
70
|
+
buttons: [{
|
|
71
|
+
label: trans('group:access_blocked_button'),
|
|
72
|
+
kind: 'primary',
|
|
73
|
+
onPress: () => onBlockedRef.current()
|
|
74
|
+
}]
|
|
75
|
+
});
|
|
76
|
+
}, []);
|
|
77
|
+
const applyResult = useCallback(result => {
|
|
78
|
+
if (result.state === 'blocked') {
|
|
79
|
+
block();
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
setAccessState(result.state);
|
|
83
|
+
}, [block]);
|
|
84
|
+
|
|
85
|
+
// Pre-access check.
|
|
86
|
+
useEffect(() => {
|
|
87
|
+
if (!activeGroupId) {
|
|
88
|
+
setAccessState('allowed');
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
let cancelled = false;
|
|
92
|
+
hasBlockedRef.current = false;
|
|
93
|
+
setAccessState('checking');
|
|
94
|
+
evaluateAccess(activeGroupId).then(result => {
|
|
95
|
+
if (cancelled) return;
|
|
96
|
+
applyResult(result);
|
|
97
|
+
}).catch(error => {
|
|
98
|
+
console.error('useGroupAccessGuard: access check failed', error);
|
|
99
|
+
// A failed lookup is not proof of lost access — leave the screen open
|
|
100
|
+
// rather than ejecting the user on a transient SDK error.
|
|
101
|
+
if (!cancelled) setAccessState('allowed');
|
|
102
|
+
});
|
|
103
|
+
return () => {
|
|
104
|
+
cancelled = true;
|
|
105
|
+
};
|
|
106
|
+
}, [activeGroupId, applyResult]);
|
|
107
|
+
|
|
108
|
+
// Membership lost while the screen is open.
|
|
109
|
+
useEffect(() => {
|
|
110
|
+
if (!activeGroupId) return;
|
|
111
|
+
const sub = DeviceEventEmitter.addListener(ChatEvent.GroupRemoved, payload => {
|
|
112
|
+
if (payload.groupID !== activeGroupId) return;
|
|
113
|
+
|
|
114
|
+
// A dismissed group is gone for everyone — no need to re-check.
|
|
115
|
+
if (payload.reason === 'dismissed') {
|
|
116
|
+
block();
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Left or kicked. `reason` cannot tell the two apart — OnJoinedGroupDeleted
|
|
121
|
+
// reports both as 'left' — so decide on visibility instead: a public group
|
|
122
|
+
// stays readable, a private one does not.
|
|
123
|
+
evaluateAccess(activeGroupId).then(applyResult).catch(() => block());
|
|
124
|
+
});
|
|
125
|
+
return () => sub.remove();
|
|
126
|
+
}, [activeGroupId, block, applyResult]);
|
|
127
|
+
|
|
128
|
+
// The composer derives membership from the joinedGroup query alone, never
|
|
129
|
+
// from this hook. Refresh that query whenever the guard's own verdict flips
|
|
130
|
+
// so the two cannot disagree.
|
|
131
|
+
const isViewOnly = accessState === 'view-only';
|
|
132
|
+
const wasViewOnlyRef = useRef(isViewOnly);
|
|
133
|
+
useEffect(() => {
|
|
134
|
+
if (wasViewOnlyRef.current === isViewOnly) return;
|
|
135
|
+
wasViewOnlyRef.current = isViewOnly;
|
|
136
|
+
if (!activeGroupId) return;
|
|
137
|
+
queryClient.invalidateQueries({
|
|
138
|
+
queryKey: conversationQueryKeys.joinedGroup(activeGroupId)
|
|
139
|
+
});
|
|
140
|
+
}, [isViewOnly, activeGroupId, queryClient]);
|
|
141
|
+
return {
|
|
142
|
+
isCheckingAccess: accessState === 'checking'
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=useGroupAccessGuard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useState","DeviceEventEmitter","OpenIMSDK","GroupStatus","GroupVisibility","useQueryClient","UIUtils","trans","ChatEvent","conversationQueryKeys","evaluateAccess","groupID","info","getSpecifiedGroupsInfo","state","status","Dismissed","isMember","isJoinGroup","visibility","Public","useGroupAccessGuard","onBlocked","queryClient","groupIdRef","current","activeGroupId","accessState","setAccessState","hasBlockedRef","onBlockedRef","block","alert","open","title","message","primaryIndex","buttonType","ignoreStack","touchOutsideToDismiss","buttons","label","kind","onPress","applyResult","result","cancelled","then","catch","error","console","sub","addListener","GroupRemoved","payload","reason","remove","isViewOnly","wasViewOnlyRef","invalidateQueries","queryKey","joinedGroup","isCheckingAccess"],"sourceRoot":"../../../../src","sources":["hooks/groups/useGroupAccessGuard.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAChE,SAASC,kBAAkB,QAAQ,cAAc;AACjD,OAAOC,SAAS,IACdC,WAAW,EACXC,eAAe,QACV,+BAA+B;AACtC,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,KAAK,QAAQ,4BAAmB;AACzC,SAASC,SAAS,QAAkC,uBAAoB;AACxE,SAASC,qBAAqB,QAAQ,kBAAe;AAcrD;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG,MAAOC,OAAe,IAAgC;EAC3E,MAAMC,IAAI,GAAG,CAAC,MAAMV,SAAS,CAACW,sBAAsB,CAAC,CAACF,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;EACrE,IAAI,CAACC,IAAI,EAAE,OAAO;IAAEE,KAAK,EAAE;EAAU,CAAC;EACtC,IAAIF,IAAI,CAACG,MAAM,KAAKZ,WAAW,CAACa,SAAS,EAAE,OAAO;IAAEF,KAAK,EAAE;EAAU,CAAC;EAEtE,MAAMG,QAAQ,GAAG,MAAMf,SAAS,CAACgB,WAAW,CAACP,OAAO,CAAC;EACrD,IAAIM,QAAQ,EAAE,OAAO;IAAEH,KAAK,EAAE;EAAU,CAAC;EAEzC,OAAOF,IAAI,CAACO,UAAU,KAAKf,eAAe,CAACgB,MAAM,GAC7C;IAAEN,KAAK,EAAE;EAAY,CAAC,GACtB;IAAEA,KAAK,EAAE;EAAU,CAAC;AAC1B,CAAC;AAQD,OAAO,MAAMO,mBAAmB,GAAGA,CAAC;EAAEV,OAAO;EAAEW;AAAkB,CAAC,KAAK;EACrE,MAAMC,WAAW,GAAGlB,cAAc,CAAC,CAAC;;EAEpC;EACA;EACA;EACA;EACA;EACA,MAAMmB,UAAU,GAAGzB,MAAM,CAACY,OAAO,CAAC;EAClC,IAAIA,OAAO,EAAEa,UAAU,CAACC,OAAO,GAAGd,OAAO;EACzC,MAAMe,aAAa,GAAGF,UAAU,CAACC,OAAO;EAExC,MAAM,CAACE,WAAW,EAAEC,cAAc,CAAC,GAAG5B,QAAQ,CAAmB,MAC/D0B,aAAa,GAAG,UAAU,GAAG,SAC/B,CAAC;;EAED;EACA;EACA,MAAMG,aAAa,GAAG9B,MAAM,CAAC,KAAK,CAAC;EACnC,MAAM+B,YAAY,GAAG/B,MAAM,CAACuB,SAAS,CAAC;EACtCQ,YAAY,CAACL,OAAO,GAAGH,SAAS;EAEhC,MAAMS,KAAK,GAAGlC,WAAW,CAAC,MAAM;IAC9B,IAAIgC,aAAa,CAACJ,OAAO,EAAE;IAC3BI,aAAa,CAACJ,OAAO,GAAG,IAAI;IAE5BG,cAAc,CAAC,SAAS,CAAC;IACzBtB,OAAO,CAAC0B,KAAK,CAACC,IAAI,CAAC;MACjBC,KAAK,EAAE3B,KAAK,CAAC,4BAA4B,CAAC;MAC1C4B,OAAO,EAAE5B,KAAK,CAAC,2BAA2B,CAAC;MAC3C6B,YAAY,EAAE,CAAC;MACfC,UAAU,EAAE,mBAAmB;MAC/B;MACA;MACAC,WAAW,EAAE,IAAI;MACjB;MACA;MACAC,qBAAqB,EAAE,KAAK;MAC5BC,OAAO,EAAE,CACP;QACEC,KAAK,EAAElC,KAAK,CAAC,6BAA6B,CAAC;QAC3CmC,IAAI,EAAE,SAAS;QACfC,OAAO,EAAEA,CAAA,KAAMb,YAAY,CAACL,OAAO,CAAC;MACtC,CAAC;IAEL,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMmB,WAAW,GAAG/C,WAAW,CAC5BgD,MAAwB,IAAK;IAC5B,IAAIA,MAAM,CAAC/B,KAAK,KAAK,SAAS,EAAE;MAC9BiB,KAAK,CAAC,CAAC;MACP;IACF;IACAH,cAAc,CAACiB,MAAM,CAAC/B,KAAK,CAAC;EAC9B,CAAC,EACD,CAACiB,KAAK,CACR,CAAC;;EAED;EACAjC,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4B,aAAa,EAAE;MAClBE,cAAc,CAAC,SAAS,CAAC;MACzB;IACF;IAEA,IAAIkB,SAAS,GAAG,KAAK;IACrBjB,aAAa,CAACJ,OAAO,GAAG,KAAK;IAC7BG,cAAc,CAAC,UAAU,CAAC;IAE1BlB,cAAc,CAACgB,aAAa,CAAC,CAC1BqB,IAAI,CAAEF,MAAM,IAAK;MAChB,IAAIC,SAAS,EAAE;MACfF,WAAW,CAACC,MAAM,CAAC;IACrB,CAAC,CAAC,CACDG,KAAK,CAAEC,KAAK,IAAK;MAChBC,OAAO,CAACD,KAAK,CAAC,0CAA0C,EAAEA,KAAK,CAAC;MAChE;MACA;MACA,IAAI,CAACH,SAAS,EAAElB,cAAc,CAAC,SAAS,CAAC;IAC3C,CAAC,CAAC;IAEJ,OAAO,MAAM;MACXkB,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACpB,aAAa,EAAEkB,WAAW,CAAC,CAAC;;EAEhC;EACA9C,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4B,aAAa,EAAE;IAEpB,MAAMyB,GAAG,GAAGlD,kBAAkB,CAACmD,WAAW,CACxC5C,SAAS,CAAC6C,YAAY,EACrBC,OAA4B,IAAK;MAChC,IAAIA,OAAO,CAAC3C,OAAO,KAAKe,aAAa,EAAE;;MAEvC;MACA,IAAI4B,OAAO,CAACC,MAAM,KAAK,WAAW,EAAE;QAClCxB,KAAK,CAAC,CAAC;QACP;MACF;;MAEA;MACA;MACA;MACArB,cAAc,CAACgB,aAAa,CAAC,CAC1BqB,IAAI,CAACH,WAAW,CAAC,CACjBI,KAAK,CAAC,MAAMjB,KAAK,CAAC,CAAC,CAAC;IACzB,CACF,CAAC;IAED,OAAO,MAAMoB,GAAG,CAACK,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAAC9B,aAAa,EAAEK,KAAK,EAAEa,WAAW,CAAC,CAAC;;EAEvC;EACA;EACA;EACA,MAAMa,UAAU,GAAG9B,WAAW,KAAK,WAAW;EAC9C,MAAM+B,cAAc,GAAG3D,MAAM,CAAC0D,UAAU,CAAC;EAEzC3D,SAAS,CAAC,MAAM;IACd,IAAI4D,cAAc,CAACjC,OAAO,KAAKgC,UAAU,EAAE;IAC3CC,cAAc,CAACjC,OAAO,GAAGgC,UAAU;IACnC,IAAI,CAAC/B,aAAa,EAAE;IAEpBH,WAAW,CAACoC,iBAAiB,CAAC;MAC5BC,QAAQ,EAAEnD,qBAAqB,CAACoD,WAAW,CAACnC,aAAa;IAC3D,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC+B,UAAU,EAAE/B,aAAa,EAAEH,WAAW,CAAC,CAAC;EAE5C,OAAO;IACLuC,gBAAgB,EAAEnC,WAAW,KAAK;EACpC,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import OpenIMSDK, { GroupMemberRole, GroupVisibility } from '@droppii/openim-rn-client-sdk';
|
|
4
|
+
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
|
5
|
+
import { conversationQueryKeys, groupQueryKeys } from "../query-keys.js";
|
|
6
|
+
import { UIUtils } from "../../utils/UIUtils.js";
|
|
7
|
+
import { trans } from "../../translation/index.js";
|
|
8
|
+
const showOwnerBlockedModal = () => {
|
|
9
|
+
UIUtils.alert.open({
|
|
10
|
+
title: trans('chat:leave_group_blocked_title'),
|
|
11
|
+
message: trans('chat:leave_group_blocked_desc'),
|
|
12
|
+
primaryIndex: 0,
|
|
13
|
+
buttonType: 'horizontal-button',
|
|
14
|
+
buttons: [{
|
|
15
|
+
label: trans('chat:leave_group_blocked_button'),
|
|
16
|
+
kind: 'primary'
|
|
17
|
+
}]
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
const confirmLeaveGroup = visibility => new Promise((resolve, reject) => {
|
|
21
|
+
console.log('confirmLeaveGroup', visibility);
|
|
22
|
+
UIUtils.alert.open({
|
|
23
|
+
title: trans('chat:leave_group_confirm_title'),
|
|
24
|
+
message: trans(visibility === GroupVisibility.Public ? 'chat:leave_group_confirm_desc_public' : 'chat:leave_group_confirm_desc_private'),
|
|
25
|
+
primaryIndex: 1,
|
|
26
|
+
buttonType: 'horizontal-button',
|
|
27
|
+
buttons: [{
|
|
28
|
+
label: trans('chat:leave_group_confirm_secondary'),
|
|
29
|
+
kind: 'light',
|
|
30
|
+
onPress: reject
|
|
31
|
+
}, {
|
|
32
|
+
label: trans('chat:leave_group_confirm_primary'),
|
|
33
|
+
kind: 'danger',
|
|
34
|
+
onPress: resolve
|
|
35
|
+
}]
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
export const useLeaveGroup = () => {
|
|
39
|
+
const queryClient = useQueryClient();
|
|
40
|
+
const mutation = useMutation({
|
|
41
|
+
mutationKey: groupQueryKeys.leave(),
|
|
42
|
+
mutationFn: groupID => OpenIMSDK.quitGroup(groupID),
|
|
43
|
+
onSuccess: (_data, groupID) => {
|
|
44
|
+
queryClient.invalidateQueries({
|
|
45
|
+
queryKey: conversationQueryKeys.joinedGroup(groupID)
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
onError: () => {
|
|
49
|
+
UIUtils.toast.open({
|
|
50
|
+
title: trans('chat:generic_error'),
|
|
51
|
+
theme: 'error'
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const leaveGroup = async (groupID, visibility) => {
|
|
56
|
+
try {
|
|
57
|
+
// The owner must transfer ownership before leaving — block instead of
|
|
58
|
+
// showing the confirm modal.
|
|
59
|
+
const selfInfo = await OpenIMSDK.getSelfUserInfo(groupID);
|
|
60
|
+
if (selfInfo?.roleLevel === GroupMemberRole.Owner) {
|
|
61
|
+
showOwnerBlockedModal();
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
await confirmLeaveGroup(visibility);
|
|
66
|
+
} catch {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Revalidate right before submitting — role/membership may have
|
|
71
|
+
// changed while the confirm modal was open.
|
|
72
|
+
const latestSelfInfo = await OpenIMSDK.getSelfUserInfo(groupID);
|
|
73
|
+
if (latestSelfInfo?.roleLevel === GroupMemberRole.Owner) {
|
|
74
|
+
showOwnerBlockedModal();
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
await mutation.mutateAsync(groupID);
|
|
78
|
+
return true;
|
|
79
|
+
} catch (error) {
|
|
80
|
+
console.error('leaveGroup failed', error);
|
|
81
|
+
UIUtils.toast.open({
|
|
82
|
+
title: trans('chat:generic_error'),
|
|
83
|
+
theme: 'error'
|
|
84
|
+
});
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
return {
|
|
89
|
+
leaveGroup,
|
|
90
|
+
isLeavingGroup: mutation.isPending
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=useLeaveGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["OpenIMSDK","GroupMemberRole","GroupVisibility","useMutation","useQueryClient","conversationQueryKeys","groupQueryKeys","UIUtils","trans","showOwnerBlockedModal","alert","open","title","message","primaryIndex","buttonType","buttons","label","kind","confirmLeaveGroup","visibility","Promise","resolve","reject","console","log","Public","onPress","useLeaveGroup","queryClient","mutation","mutationKey","leave","mutationFn","groupID","quitGroup","onSuccess","_data","invalidateQueries","queryKey","joinedGroup","onError","toast","theme","leaveGroup","selfInfo","getSelfUserInfo","roleLevel","Owner","latestSelfInfo","mutateAsync","error","isLeavingGroup","isPending"],"sourceRoot":"../../../../src","sources":["hooks/groups/useLeaveGroup.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -45,6 +45,7 @@ export const groupQueryKeys = {
|
|
|
45
45
|
all: ['groups'],
|
|
46
46
|
public: () => [...groupQueryKeys.all, 'public'],
|
|
47
47
|
publicSearch: keyword => [...groupQueryKeys.public(), keyword],
|
|
48
|
-
join: () => [...groupQueryKeys.all, 'join']
|
|
48
|
+
join: () => [...groupQueryKeys.all, 'join'],
|
|
49
|
+
leave: () => [...groupQueryKeys.all, 'leave']
|
|
49
50
|
};
|
|
50
51
|
//# sourceMappingURL=query-keys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["commonQueryKeys","all","urlMetadata","url","conversationQueryKeys","lists","list","applicationType","details","detail","conversationId","getStatusBot","botId","conversationTarget","flow","flowMainMenu","resetFlow","runFlow","closeSession","detailByBotId","detailBySourceId","sourceId","joinedGroup","groupId","create","userId","groupInfo","usersQueryKeys","userIds","stickerQueryKeys","categories","byCategory","categoryId","recent","resourceCenterQueryKeys","byType","recvID","contentType","messageQueryKeys","search","query","groupQueryKeys","public","publicSearch","keyword","join"],"sourceRoot":"../../../src","sources":["hooks/query-keys.ts"],"mappings":";;AAAA,OAAO,MAAMA,eAAe,GAAG;EAC7BC,GAAG,EAAE,CAAC,QAAQ,CAAU;EACxBC,WAAW,EAAGC,GAAW,IAAK,CAAC,MAAM,EAAEA,GAAG;AAC5C,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAG;EACnCH,GAAG,EAAE,CAAC,eAAe,CAAU;EAC/BI,KAAK,EAAEA,CAAA,KAAM,CAAC,GAAGD,qBAAqB,CAACH,GAAG,EAAE,MAAM,CAAU;EAC5DK,IAAI,EAAGC,eAAuB,IAC5B,CAAC,GAAGH,qBAAqB,CAACC,KAAK,CAAC,CAAC,EAAEE,eAAe,CAAU;EAC9DC,OAAO,EAAEA,CAAA,KAAM,CAAC,GAAGJ,qBAAqB,CAACH,GAAG,EAAE,QAAQ,CAAU;EAChEQ,MAAM,EAAGC,cAAsB,IAC7B,CAAC,GAAGN,qBAAqB,CAACI,OAAO,CAAC,CAAC,EAAEE,cAAc,CAAU;EAC/DC,YAAY,EAAGC,KAAa,IAAK,CAAC,cAAc,EAAEA,KAAK,CAAU;EACjEC,kBAAkB,EAAGH,cAAsB,IACzC,CAAC,oBAAoB,EAAEA,cAAc,CAAU;EACjDI,IAAI,EAAGJ,cAAsB,IAAK,CAAC,kBAAkB,EAAEA,cAAc,CAAC;EACtEK,YAAY,EAAGL,cAAsB,IAAK,CACxC,0BAA0B,EAC1BA,cAAc,CACf;EACDM,SAAS,EAAGN,cAAsB,IAAK,CACrC,uBAAuB,EACvBA,cAAc,CACf;EACDO,OAAO,EAAGP,cAAsB,IAAK,CAAC,qBAAqB,EAAEA,cAAc,CAAC;EAC5EQ,YAAY,EAAGR,cAAsB,IAAK,CACxC,0BAA0B,EAC1BA,cAAc,CACf;EACDS,aAAa,EAAGP,KAAa,IAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;EAChEQ,gBAAgB,EAAGC,QAAgB,IAAK,CAAC,kBAAkB,EAAEA,QAAQ,CAAC;EACtEC,WAAW,EAAGC,OAAgB,IAAK,CAAC,GAAGnB,qBAAqB,CAACH,GAAG,EAAEsB,OAAO,CAAC;EAC1EC,MAAM,EAAGC,MAAe,IAAK,CAAC,QAAQ,EAAEA,MAAM,CAAC;EAC/CC,SAAS,EAAGH,OAAe,IAAK,CAAC,WAAW,EAAEA,OAAO;AACvD,CAAC;AAED,OAAO,MAAMI,cAAc,GAAG;EAC5B1B,GAAG,EAAE,CAAC,OAAO,CAAU;EACvBK,IAAI,EAAGsB,OAAiB,IAAK,CAAC,GAAGD,cAAc,CAAC1B,GAAG,EAAE,GAAG2B,OAAO;AACjE,CAAC;AAID,OAAO,MAAMC,gBAAgB,GAAG;EAC9B5B,GAAG,EAAE,CAAC,UAAU,CAAU;EAC1B6B,UAAU,EAAEA,CAAA,KAAM,CAAC,GAAGD,gBAAgB,CAAC5B,GAAG,EAAE,YAAY,CAAU;EAClE8B,UAAU,EAAGC,UAAkB,IAC7B,CAAC,GAAGH,gBAAgB,CAAC5B,GAAG,EAAE,UAAU,EAAE+B,UAAU,CAAU;EAC5DC,MAAM,EAAEA,CAAA,KAAM,CAAC,GAAGJ,gBAAgB,CAAC5B,GAAG,EAAE,QAAQ;AAClD,CAAC;AAED,OAAO,MAAMiC,uBAAuB,GAAG;EACrCjC,GAAG,EAAE,CAAC,iBAAiB,CAAU;EACjCkC,MAAM,EAAEA,CAACC,MAAc,EAAEC,WAAmB,KAC1C,CAAC,GAAGH,uBAAuB,CAACjC,GAAG,EAAEmC,MAAM,EAAEC,WAAW;AACxD,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAG;EAC9BrC,GAAG,EAAE,CAAC,UAAU,CAAU;EAC1BsC,MAAM,EAAEA,CAACC,KAAa,EAAE9B,cAAuB,KAC7C,CAAC,GAAG4B,gBAAgB,CAACrC,GAAG,EAAE,QAAQ,EAAEuC,KAAK,EAAE9B,cAAc;AAC7D,CAAC;AAED,OAAO,MAAM+B,cAAc,GAAG;EAC5BxC,GAAG,EAAE,CAAC,QAAQ,CAAU;EACxByC,MAAM,EAAEA,CAAA,KAAM,CAAC,GAAGD,cAAc,CAACxC,GAAG,EAAE,QAAQ,CAAU;EACxD0C,YAAY,EAAGC,OAAe,IAC5B,CAAC,GAAGH,cAAc,CAACC,MAAM,CAAC,CAAC,EAAEE,OAAO,CAAU;EAChDC,IAAI,EAAEA,CAAA,KAAM,CAAC,GAAGJ,cAAc,CAACxC,GAAG,EAAE,MAAM;
|
|
1
|
+
{"version":3,"names":["commonQueryKeys","all","urlMetadata","url","conversationQueryKeys","lists","list","applicationType","details","detail","conversationId","getStatusBot","botId","conversationTarget","flow","flowMainMenu","resetFlow","runFlow","closeSession","detailByBotId","detailBySourceId","sourceId","joinedGroup","groupId","create","userId","groupInfo","usersQueryKeys","userIds","stickerQueryKeys","categories","byCategory","categoryId","recent","resourceCenterQueryKeys","byType","recvID","contentType","messageQueryKeys","search","query","groupQueryKeys","public","publicSearch","keyword","join","leave"],"sourceRoot":"../../../src","sources":["hooks/query-keys.ts"],"mappings":";;AAAA,OAAO,MAAMA,eAAe,GAAG;EAC7BC,GAAG,EAAE,CAAC,QAAQ,CAAU;EACxBC,WAAW,EAAGC,GAAW,IAAK,CAAC,MAAM,EAAEA,GAAG;AAC5C,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAG;EACnCH,GAAG,EAAE,CAAC,eAAe,CAAU;EAC/BI,KAAK,EAAEA,CAAA,KAAM,CAAC,GAAGD,qBAAqB,CAACH,GAAG,EAAE,MAAM,CAAU;EAC5DK,IAAI,EAAGC,eAAuB,IAC5B,CAAC,GAAGH,qBAAqB,CAACC,KAAK,CAAC,CAAC,EAAEE,eAAe,CAAU;EAC9DC,OAAO,EAAEA,CAAA,KAAM,CAAC,GAAGJ,qBAAqB,CAACH,GAAG,EAAE,QAAQ,CAAU;EAChEQ,MAAM,EAAGC,cAAsB,IAC7B,CAAC,GAAGN,qBAAqB,CAACI,OAAO,CAAC,CAAC,EAAEE,cAAc,CAAU;EAC/DC,YAAY,EAAGC,KAAa,IAAK,CAAC,cAAc,EAAEA,KAAK,CAAU;EACjEC,kBAAkB,EAAGH,cAAsB,IACzC,CAAC,oBAAoB,EAAEA,cAAc,CAAU;EACjDI,IAAI,EAAGJ,cAAsB,IAAK,CAAC,kBAAkB,EAAEA,cAAc,CAAC;EACtEK,YAAY,EAAGL,cAAsB,IAAK,CACxC,0BAA0B,EAC1BA,cAAc,CACf;EACDM,SAAS,EAAGN,cAAsB,IAAK,CACrC,uBAAuB,EACvBA,cAAc,CACf;EACDO,OAAO,EAAGP,cAAsB,IAAK,CAAC,qBAAqB,EAAEA,cAAc,CAAC;EAC5EQ,YAAY,EAAGR,cAAsB,IAAK,CACxC,0BAA0B,EAC1BA,cAAc,CACf;EACDS,aAAa,EAAGP,KAAa,IAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;EAChEQ,gBAAgB,EAAGC,QAAgB,IAAK,CAAC,kBAAkB,EAAEA,QAAQ,CAAC;EACtEC,WAAW,EAAGC,OAAgB,IAAK,CAAC,GAAGnB,qBAAqB,CAACH,GAAG,EAAEsB,OAAO,CAAC;EAC1EC,MAAM,EAAGC,MAAe,IAAK,CAAC,QAAQ,EAAEA,MAAM,CAAC;EAC/CC,SAAS,EAAGH,OAAe,IAAK,CAAC,WAAW,EAAEA,OAAO;AACvD,CAAC;AAED,OAAO,MAAMI,cAAc,GAAG;EAC5B1B,GAAG,EAAE,CAAC,OAAO,CAAU;EACvBK,IAAI,EAAGsB,OAAiB,IAAK,CAAC,GAAGD,cAAc,CAAC1B,GAAG,EAAE,GAAG2B,OAAO;AACjE,CAAC;AAID,OAAO,MAAMC,gBAAgB,GAAG;EAC9B5B,GAAG,EAAE,CAAC,UAAU,CAAU;EAC1B6B,UAAU,EAAEA,CAAA,KAAM,CAAC,GAAGD,gBAAgB,CAAC5B,GAAG,EAAE,YAAY,CAAU;EAClE8B,UAAU,EAAGC,UAAkB,IAC7B,CAAC,GAAGH,gBAAgB,CAAC5B,GAAG,EAAE,UAAU,EAAE+B,UAAU,CAAU;EAC5DC,MAAM,EAAEA,CAAA,KAAM,CAAC,GAAGJ,gBAAgB,CAAC5B,GAAG,EAAE,QAAQ;AAClD,CAAC;AAED,OAAO,MAAMiC,uBAAuB,GAAG;EACrCjC,GAAG,EAAE,CAAC,iBAAiB,CAAU;EACjCkC,MAAM,EAAEA,CAACC,MAAc,EAAEC,WAAmB,KAC1C,CAAC,GAAGH,uBAAuB,CAACjC,GAAG,EAAEmC,MAAM,EAAEC,WAAW;AACxD,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAG;EAC9BrC,GAAG,EAAE,CAAC,UAAU,CAAU;EAC1BsC,MAAM,EAAEA,CAACC,KAAa,EAAE9B,cAAuB,KAC7C,CAAC,GAAG4B,gBAAgB,CAACrC,GAAG,EAAE,QAAQ,EAAEuC,KAAK,EAAE9B,cAAc;AAC7D,CAAC;AAED,OAAO,MAAM+B,cAAc,GAAG;EAC5BxC,GAAG,EAAE,CAAC,QAAQ,CAAU;EACxByC,MAAM,EAAEA,CAAA,KAAM,CAAC,GAAGD,cAAc,CAACxC,GAAG,EAAE,QAAQ,CAAU;EACxD0C,YAAY,EAAGC,OAAe,IAC5B,CAAC,GAAGH,cAAc,CAACC,MAAM,CAAC,CAAC,EAAEE,OAAO,CAAU;EAChDC,IAAI,EAAEA,CAAA,KAAM,CAAC,GAAGJ,cAAc,CAACxC,GAAG,EAAE,MAAM,CAAU;EACpD6C,KAAK,EAAEA,CAAA,KAAM,CAAC,GAAGL,cAAc,CAACxC,GAAG,EAAE,OAAO;AAC9C,CAAC","ignoreList":[]}
|
|
@@ -14,20 +14,17 @@ export function useConversationList({
|
|
|
14
14
|
const query = useQuery({
|
|
15
15
|
queryKey: [...conversationQueryKeys.list(applicationType), page],
|
|
16
16
|
enabled: enabled !== false,
|
|
17
|
+
staleTime: 1000 * 60 * 1,
|
|
18
|
+
// 5 minutes
|
|
17
19
|
queryFn: async () => {
|
|
18
20
|
const offset = (page - 1) * 500;
|
|
19
|
-
const
|
|
21
|
+
const conversations = await OpenIMSDK.getConversationListSplitApp({
|
|
20
22
|
offset,
|
|
21
23
|
count: 500,
|
|
22
24
|
applicationType
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
...conversation,
|
|
27
|
-
isNotInGroup: true
|
|
28
|
-
} : conversation);
|
|
29
|
-
useConversationStore.getState().updateConversations(resolved);
|
|
30
|
-
return resolved;
|
|
25
|
+
});
|
|
26
|
+
useConversationStore.getState().updateConversations(conversations);
|
|
27
|
+
return conversations;
|
|
31
28
|
}
|
|
32
29
|
});
|
|
33
30
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useQuery","OpenIMSDK","conversationQueryKeys","useConversationStore","useConversationList","applicationType","page","enabled","newConversationSignal","s","query","queryKey","list","queryFn","offset","conversations","
|
|
1
|
+
{"version":3,"names":["useEffect","useQuery","OpenIMSDK","conversationQueryKeys","useConversationStore","useConversationList","applicationType","page","enabled","newConversationSignal","s","query","queryKey","list","staleTime","queryFn","offset","conversations","getConversationListSplitApp","count","getState","updateConversations","refetch"],"sourceRoot":"../../../src","sources":["hooks/useConversationList.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,SAAS,MAAM,+BAA+B;AACrD,SAASC,qBAAqB,QAAQ,iBAAc;AACpD,SAASC,oBAAoB,QAAQ,mBAAU;AAS/C,OAAO,SAASC,mBAAmBA,CAAC;EAClCC,eAAe;EACfC,IAAI,GAAG,CAAC;EACRC,OAAO,GAAG;AACJ,CAAC,EAAE;EACT,MAAMC,qBAAqB,GAAGL,oBAAoB,CAC/CM,CAAC,IAAKA,CAAC,CAACD,qBACX,CAAC;EAED,MAAME,KAAK,GAAGV,QAAQ,CAAC;IACrBW,QAAQ,EAAE,CAAC,GAAGT,qBAAqB,CAACU,IAAI,CAACP,eAAe,CAAC,EAAEC,IAAI,CAAC;IAChEC,OAAO,EAAEA,OAAO,KAAK,KAAK;IAC1BM,SAAS,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC;IAAE;IAC1BC,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,MAAMC,MAAM,GAAG,CAACT,IAAI,GAAG,CAAC,IAAI,GAAG;MAC/B,MAAMU,aAAa,GAAG,MAAMf,SAAS,CAACgB,2BAA2B,CAAC;QAChEF,MAAM;QACNG,KAAK,EAAE,GAAG;QACVb;MACF,CAAC,CAAC;MAEFF,oBAAoB,CAACgB,QAAQ,CAAC,CAAC,CAACC,mBAAmB,CAACJ,aAAa,CAAC;MAClE,OAAOA,aAAa;IACtB;EACF,CAAC,CAAC;;EAEF;EACA;EACAjB,SAAS,CAAC,MAAM;IACd,IAAIS,qBAAqB,GAAG,CAAC,EAAE;MAC7BE,KAAK,CAACW,OAAO,CAAC,CAAC;IACjB;IACA;EACF,CAAC,EAAE,CAACb,qBAAqB,CAAC,CAAC;EAE3B,OAAOE,KAAK;AACd","ignoreList":[]}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { memo } from 'react';
|
|
3
|
+
import { memo, useCallback } from 'react';
|
|
4
4
|
import { KContainer, KNavigation } from '@droppii/libs';
|
|
5
5
|
import { useNavigation } from '@react-navigation/native';
|
|
6
6
|
import { useGetConversationTarget } from "../../hooks/conversation/useGetConversationDetail.js";
|
|
7
|
+
import { useGetGroupInfo } from "../../hooks/conversation/useGetGroupInfo.js";
|
|
8
|
+
import { useLeaveGroup } from "../../hooks/groups/useLeaveGroup.js";
|
|
7
9
|
import { useConversation } from "../../store/index.js";
|
|
8
10
|
import ChatInfoProfile from "./ChatInfoProfile.js";
|
|
9
11
|
import ChatInfoMediaRow from "./ChatInfoMediaRow.js";
|
|
@@ -31,6 +33,19 @@ const ChatInfo = /*#__PURE__*/memo(({
|
|
|
31
33
|
} = useGetConversationTarget(conversationId);
|
|
32
34
|
const isTargetActive = target ? target.isActive : true;
|
|
33
35
|
const isGroup = useChatDetailContext().isGroupConversation;
|
|
36
|
+
const {
|
|
37
|
+
data: groupInfo
|
|
38
|
+
} = useGetGroupInfo(isGroup ? conversation?.groupID : undefined);
|
|
39
|
+
const {
|
|
40
|
+
leaveGroup
|
|
41
|
+
} = useLeaveGroup();
|
|
42
|
+
const handleLeaveGroup = useCallback(async () => {
|
|
43
|
+
if (!conversation?.groupID) return;
|
|
44
|
+
const didLeave = await leaveGroup(conversation.groupID, groupInfo?.visibility);
|
|
45
|
+
if (didLeave) {
|
|
46
|
+
(onPressLeaveGroup ?? navigation.goBack)();
|
|
47
|
+
}
|
|
48
|
+
}, [conversation?.groupID, groupInfo?.visibility, leaveGroup, navigation.goBack, onPressLeaveGroup]);
|
|
34
49
|
return /*#__PURE__*/_jsxs(KContainer.Page, {
|
|
35
50
|
flex: true,
|
|
36
51
|
edges: ['bottom'],
|
|
@@ -67,7 +82,7 @@ const ChatInfo = /*#__PURE__*/memo(({
|
|
|
67
82
|
onPressOrders: onPressOrders,
|
|
68
83
|
onPressCreateGroup: onPressCreateGroup,
|
|
69
84
|
onPressAddToGroup: onPressAddToGroup,
|
|
70
|
-
onPressLeaveGroup:
|
|
85
|
+
onPressLeaveGroup: handleLeaveGroup,
|
|
71
86
|
onDismissGroup: onDismissGroup
|
|
72
87
|
})]
|
|
73
88
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","KContainer","KNavigation","useNavigation","useGetConversationTarget","useConversation","ChatInfoProfile","ChatInfoMediaRow","ChatInfoDescriptionRow","ChatInfoActions","trans","withChatDetailProvider","useChatDetailContext","jsx","_jsx","jsxs","_jsxs","ChatInfo","conversationId","onBack","onPressSearch","onPressMedia","onPressOrders","onPressCreateGroup","onPressAddToGroup","onPressLeaveGroup","onDismissGroup","navigation","conversation","data","target","isTargetActive","isActive","isGroup","isGroupConversation","Page","flex","edges","background","children","Header","theme","alignment","size","leftButton","id","icon","vectorName","onPress","
|
|
1
|
+
{"version":3,"names":["memo","useCallback","KContainer","KNavigation","useNavigation","useGetConversationTarget","useGetGroupInfo","useLeaveGroup","useConversation","ChatInfoProfile","ChatInfoMediaRow","ChatInfoDescriptionRow","ChatInfoActions","trans","withChatDetailProvider","useChatDetailContext","jsx","_jsx","jsxs","_jsxs","ChatInfo","conversationId","onBack","onPressSearch","onPressMedia","onPressOrders","onPressCreateGroup","onPressAddToGroup","onPressLeaveGroup","onDismissGroup","navigation","conversation","data","target","isTargetActive","isActive","isGroup","isGroupConversation","groupInfo","groupID","undefined","leaveGroup","handleLeaveGroup","didLeave","visibility","goBack","Page","flex","edges","background","children","Header","theme","alignment","size","leftButton","id","icon","vectorName","onPress","title","shadow","ScrollView","showsVerticalScrollIndicator","VisibleView","visible","groupName","showName"],"sourceRoot":"../../../../src","sources":["screens/ChatInfo/ChatInfo.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { memo, useCallback, useState } from 'react';
|
|
3
|
+
import { memo, useCallback, useEffect, useState } from 'react';
|
|
4
4
|
import { StyleSheet } from 'react-native';
|
|
5
5
|
import { KContainer, KLabel, KColors } from '@droppii/libs';
|
|
6
6
|
import { trans } from "../../translation/index.js";
|
|
@@ -30,6 +30,9 @@ const ChatInfoDescriptionRow = /*#__PURE__*/memo(({
|
|
|
30
30
|
typo: 'TextMdMedium',
|
|
31
31
|
paddingH: '0.75rem'
|
|
32
32
|
};
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
setDisplayedText(introduction);
|
|
35
|
+
}, [introduction]);
|
|
33
36
|
if (!introduction) {
|
|
34
37
|
return null;
|
|
35
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useState","StyleSheet","KContainer","KLabel","KColors","trans","GroupDescriptionModal","useChatDetailContext","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EXTRA_TEXT_LENGTH","MAX_LINES","ChatInfoDescriptionRow","groupName","introduction","groupInfo","modalVisible","setModalVisible","handlePressDescription","handleCloseDescription","isTruncated","setIsTruncated","displayedText","setDisplayedText","handleTextLayout","event","isTextTruncated","nativeEvent","lines","length","slice","map","line","text","join","textProps","color","gray","dark","typo","paddingH","children","View","background","white","br","marginH","marginT","paddingV","Text","style","styles","hiddenText","numberOfLines","onTextLayout","VisibleView","visible","primary","normal","onPress","onClose","create","position","opacity","zIndex"],"sourceRoot":"../../../../src","sources":["screens/ChatInfo/ChatInfoDescriptionRow.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useEffect","useState","StyleSheet","KContainer","KLabel","KColors","trans","GroupDescriptionModal","useChatDetailContext","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EXTRA_TEXT_LENGTH","MAX_LINES","ChatInfoDescriptionRow","groupName","introduction","groupInfo","modalVisible","setModalVisible","handlePressDescription","handleCloseDescription","isTruncated","setIsTruncated","displayedText","setDisplayedText","handleTextLayout","event","isTextTruncated","nativeEvent","lines","length","slice","map","line","text","join","textProps","color","gray","dark","typo","paddingH","children","View","background","white","br","marginH","marginT","paddingV","Text","style","styles","hiddenText","numberOfLines","onTextLayout","VisibleView","visible","primary","normal","onPress","onClose","create","position","opacity","zIndex"],"sourceRoot":"../../../../src","sources":["screens/ChatInfo/ChatInfoDescriptionRow.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC9D,SAASC,UAAU,QAA8B,cAAc;AAC/D,SAASC,UAAU,EAAEC,MAAM,EAAEC,OAAO,QAAQ,eAAe;AAC3D,SAASC,KAAK,QAAQ,4BAAmB;AACzC,OAAOC,qBAAqB,MAAM,4BAAyB;AAC3D,SAASC,oBAAoB,QAAQ,wBAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAMrD,MAAMC,iBAAiB,GAAG,EAAE,CAAC,CAAC;AAC9B,MAAMC,SAAS,GAAG,CAAC;AAEnB,MAAMC,sBAAsB,gBAAGnB,IAAI,CACjC,CAAC;EAAEoB;AAAuC,CAAC,KAAK;EAC9C,MAAMC,YAAY,GAAGX,oBAAoB,CAAC,CAAC,CAACY,SAAS,EAAED,YAAY;EACnE,MAAM,CAACE,YAAY,EAAEC,eAAe,CAAC,GAAGrB,QAAQ,CAAC,KAAK,CAAC;EACvD,MAAMsB,sBAAsB,GAAGxB,WAAW,CAAC,MAAMuB,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;EAC3E,MAAME,sBAAsB,GAAGzB,WAAW,CACxC,MAAMuB,eAAe,CAAC,KAAK,CAAC,EAC5B,EACF,CAAC;EAED,MAAM,CAACG,WAAW,EAAEC,cAAc,CAAC,GAAGzB,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAM,CAAC0B,aAAa,EAAEC,gBAAgB,CAAC,GAAG3B,QAAQ,CAACkB,YAAY,CAAC;EAEhE,MAAMU,gBAAgB,GAAG9B,WAAW,CAAE+B,KAAsB,IAAK;IAC/D,MAAMC,eAAe,GAAGD,KAAK,CAACE,WAAW,CAACC,KAAK,CAACC,MAAM,GAAGlB,SAAS;IAElEU,cAAc,CAACK,eAAe,CAAC;IAE/B,IAAIA,eAAe,EAAE;MACnBH,gBAAgB,CACdE,KAAK,CAACE,WAAW,CAACC,KAAK,CACpBE,KAAK,CAAC,CAAC,EAAEnB,SAAS,CAAC,CACnBoB,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACC,IAAI,CAAC,CACxBC,IAAI,CAAC,GAAG,CAAC,CACTJ,KAAK,CAAC,CAAC,EAAE,CAACpB,iBAAiB,CAAC,GAAG,KACpC,CAAC;IACH;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMyB,SAAS,GAAG;IAChBC,KAAK,EAAEpC,OAAO,CAACqC,IAAI,CAACC,IAAI;IACxBC,IAAI,EAAE,cAAuB;IAC7BC,QAAQ,EAAE;EACZ,CAAC;EAED7C,SAAS,CAAC,MAAM;IACd4B,gBAAgB,CAACT,YAAY,CAAC;EAChC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,IAAI,CAACA,YAAY,EAAE;IACjB,OAAO,IAAI;EACb;EAEA,oBACEP,KAAA,CAAAE,SAAA;IAAAgC,QAAA,gBACElC,KAAA,CAACT,UAAU,CAAC4C,IAAI;MACdC,UAAU,EAAE3C,OAAO,CAAC4C,KAAM;MAC1BC,EAAE,EAAC,IAAI;MACPC,OAAO,EAAC,SAAS;MACjBC,OAAO,EAAC,SAAS;MACjBC,QAAQ,EAAC,SAAS;MAAAP,QAAA,gBAElBpC,IAAA,CAACN,MAAM,CAACkD,IAAI;QAAA,GACNd,SAAS;QACbe,KAAK,EAAEC,MAAM,CAACC,UAAW;QACzBC,aAAa,EAAE1C,SAAS,GAAG,CAAE;QAC7B2C,YAAY,EAAE9B,gBAAiB;QAAAiB,QAAA,EAE9B3B;MAAY,CACF,CAAC,eACdP,KAAA,CAACR,MAAM,CAACkD,IAAI;QAAA,GAAKd,SAAS;QAAEkB,aAAa,EAAE,CAAE;QAAAZ,QAAA,GAC1CnB,aAAa,eACdjB,IAAA,CAACP,UAAU,CAACyD,WAAW;UAACC,OAAO,EAAEpC,WAAY;UAAAqB,QAAA,eAC3CpC,IAAA,CAACN,MAAM,CAACkD,IAAI;YAAA,GACNd,SAAS;YACbC,KAAK,EAAEpC,OAAO,CAACyD,OAAO,CAACC,MAAO;YAC9BC,OAAO,EAAEzC,sBAAuB;YAAAuB,QAAA,EAE/BxC,KAAK,CAAC,qBAAqB;UAAC,CAClB;QAAC,CACQ,CAAC;MAAA,CACd,CAAC;IAAA,CACC,CAAC,eAClBI,IAAA,CAACH,qBAAqB;MACpBsD,OAAO,EAAExC,YAAa;MACtBH,SAAS,EAAEA,SAAU;MACrBC,YAAY,EAAEA,YAAa;MAC3B8C,OAAO,EAAEzC;IAAuB,CACjC,CAAC;EAAA,CACF,CAAC;AAEP,CACF,CAAC;AAED,eAAeP,sBAAsB;AAErC,MAAMuC,MAAM,GAAGtD,UAAU,CAACgE,MAAM,CAAC;EAC/BT,UAAU,EAAE;IACVU,QAAQ,EAAE,UAAU;IACpBC,OAAO,EAAE,CAAC;IACVC,MAAM,EAAE,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|