@droppii-org/chat-mobile 0.2.77 → 0.2.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/lib/module/components/messages/groupNotificationMessage/index.js +5 -3
  2. package/lib/module/components/messages/groupNotificationMessage/index.js.map +1 -1
  3. package/lib/module/core/useChatListener.js +8 -5
  4. package/lib/module/core/useChatListener.js.map +1 -1
  5. package/lib/module/hooks/groups/useLeaveGroup.js +93 -0
  6. package/lib/module/hooks/groups/useLeaveGroup.js.map +1 -0
  7. package/lib/module/hooks/query-keys.js +2 -1
  8. package/lib/module/hooks/query-keys.js.map +1 -1
  9. package/lib/module/hooks/useConversationList.js +6 -9
  10. package/lib/module/hooks/useConversationList.js.map +1 -1
  11. package/lib/module/screens/ChatInfo/ChatInfo.js +17 -2
  12. package/lib/module/screens/ChatInfo/ChatInfo.js.map +1 -1
  13. package/lib/module/translation/resources/i18n.js +20 -1
  14. package/lib/module/translation/resources/i18n.js.map +1 -1
  15. package/lib/module/utils/legendListMessage.js +5 -1
  16. package/lib/module/utils/legendListMessage.js.map +1 -1
  17. package/lib/module/utils/messageUtils.js +117 -8
  18. package/lib/module/utils/messageUtils.js.map +1 -1
  19. package/lib/module/utils/toastFlashMessage.js +6 -0
  20. package/lib/module/utils/toastFlashMessage.js.map +1 -1
  21. package/lib/typescript/src/components/messages/groupNotificationMessage/index.d.ts.map +1 -1
  22. package/lib/typescript/src/core/useChatListener.d.ts.map +1 -1
  23. package/lib/typescript/src/hooks/groups/useLeaveGroup.d.ts +6 -0
  24. package/lib/typescript/src/hooks/groups/useLeaveGroup.d.ts.map +1 -0
  25. package/lib/typescript/src/hooks/query-keys.d.ts +1 -0
  26. package/lib/typescript/src/hooks/query-keys.d.ts.map +1 -1
  27. package/lib/typescript/src/hooks/useConversationList.d.ts.map +1 -1
  28. package/lib/typescript/src/screens/ChatInfo/ChatInfo.d.ts.map +1 -1
  29. package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
  30. package/lib/typescript/src/utils/legendListMessage.d.ts.map +1 -1
  31. package/lib/typescript/src/utils/messageUtils.d.ts +6 -0
  32. package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
  33. package/lib/typescript/src/utils/toastFlashMessage.d.ts.map +1 -1
  34. package/package.json +5 -2
  35. package/src/components/messages/groupNotificationMessage/index.tsx +8 -4
  36. package/src/core/useChatListener.ts +15 -4
  37. package/src/hooks/groups/useLeaveGroup.ts +104 -0
  38. package/src/hooks/query-keys.ts +1 -0
  39. package/src/hooks/useConversationList.ts +8 -17
  40. package/src/screens/ChatInfo/ChatInfo.tsx +27 -2
  41. package/src/translation/resources/i18n.ts +27 -1
  42. package/src/utils/legendListMessage.ts +5 -1
  43. package/src/utils/messageUtils.ts +127 -7
  44. 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 { GROUP_NOTIFICATION_TEXT, getNotificationOpUserNickname } from "../../../utils/messageUtils.js";
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 = GROUP_NOTIFICATION_TEXT[message.contentType];
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","GROUP_NOTIFICATION_TEXT","getNotificationOpUserNickname","jsx","_jsx","GroupNotificationMessage","message","isOutgoing","notification","contentType","sender","senderNickname","Text","typo","color","dayLabel","children","bySenderKey","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,CAACG,WAAW,CAAC;EACjE,IAAI,CAACD,YAAY,EAAE,OAAO,IAAI;EAE9B,MAAME,MAAM,GAAGH,UAAU,GACrB,KAAK,GACLD,OAAO,CAACK,cAAc,IAAIT,6BAA6B,CAACI,OAAO,CAAC,IAAI,EAAE;EAE1E,oBACEF,IAAA,CAACN,MAAM,CAACc,IAAI;IAACC,IAAI,EAAC,cAAc;IAACC,KAAK,EAAEd,kBAAkB,CAACe,QAAS;IAAAC,QAAA,EACjEjB,KAAK,CAACS,YAAY,CAACS,WAAW,EAAE;MAAEP;IAAO,CAAC;EAAC,CACjC,CAAC;AAElB,CACF,CAAC;AAEDL,wBAAwB,CAACa,WAAW,GAAG,0BAA0B","ignoreList":[]}
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
  });
@@ -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","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,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":";;AAAA,OAAOA,SAAS,IACdC,eAAe,EACfC,eAAe,QACV,+BAA+B;AACtC,SAASC,WAAW,EAAEC,cAAc,QAAQ,uBAAuB;AACnE,SAASC,qBAAqB,EAAEC,cAAc,QAAQ,kBAAe;AACrE,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,KAAK,QAAQ,4BAAmB;AAEzC,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;EAClCF,OAAO,CAACG,KAAK,CAACC,IAAI,CAAC;IACjBC,KAAK,EAAEJ,KAAK,CAAC,gCAAgC,CAAC;IAC9CK,OAAO,EAAEL,KAAK,CAAC,+BAA+B,CAAC;IAC/CM,YAAY,EAAE,CAAC;IACfC,UAAU,EAAE,mBAAmB;IAC/BC,OAAO,EAAE,CACP;MAAEC,KAAK,EAAET,KAAK,CAAC,iCAAiC,CAAC;MAAEU,IAAI,EAAE;IAAU,CAAC;EAExE,CAAC,CAAC;AACJ,CAAC;AAED,MAAMC,iBAAiB,GAAIC,UAA4B,IACrD,IAAIC,OAAO,CAAO,CAACC,OAAO,EAAEC,MAAM,KAAK;EACrCC,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEL,UAAU,CAAC;EAC5Cb,OAAO,CAACG,KAAK,CAACC,IAAI,CAAC;IACjBC,KAAK,EAAEJ,KAAK,CAAC,gCAAgC,CAAC;IAC9CK,OAAO,EAAEL,KAAK,CACZY,UAAU,KAAKlB,eAAe,CAACwB,MAAM,GACjC,sCAAsC,GACtC,uCACN,CAAC;IACDZ,YAAY,EAAE,CAAC;IACfC,UAAU,EAAE,mBAAmB;IAC/BC,OAAO,EAAE,CACP;MACEC,KAAK,EAAET,KAAK,CAAC,oCAAoC,CAAC;MAClDU,IAAI,EAAE,OAAO;MACbS,OAAO,EAAEJ;IACX,CAAC,EACD;MACEN,KAAK,EAAET,KAAK,CAAC,kCAAkC,CAAC;MAChDU,IAAI,EAAE,QAAQ;MACdS,OAAO,EAAEL;IACX,CAAC;EAEL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEJ,OAAO,MAAMM,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,WAAW,GAAGzB,cAAc,CAAC,CAAC;EAEpC,MAAM0B,QAAQ,GAAG3B,WAAW,CAAC;IAC3B4B,WAAW,EAAEzB,cAAc,CAAC0B,KAAK,CAAC,CAAC;IACnCC,UAAU,EAAGC,OAAe,IAAKlC,SAAS,CAACmC,SAAS,CAACD,OAAO,CAAC;IAC7DE,SAAS,EAAEA,CAACC,KAAK,EAAEH,OAAO,KAAK;MAC7BL,WAAW,CAACS,iBAAiB,CAAC;QAC5BC,QAAQ,EAAElC,qBAAqB,CAACmC,WAAW,CAACN,OAAO;MACrD,CAAC,CAAC;IACJ,CAAC;IACDO,OAAO,EAAEA,CAAA,KAAM;MACblC,OAAO,CAACmC,KAAK,CAAC/B,IAAI,CAAC;QACjBC,KAAK,EAAEJ,KAAK,CAAC,oBAAoB,CAAC;QAClCmC,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EAEF,MAAMC,UAAU,GAAG,MAAAA,CAAOV,OAAe,EAAEd,UAA4B,KAAK;IAC1E,IAAI;MACF;MACA;MACA,MAAMyB,QAAQ,GAAG,MAAM7C,SAAS,CAAC8C,eAAe,CAACZ,OAAO,CAAC;MACzD,IAAIW,QAAQ,EAAEE,SAAS,KAAK9C,eAAe,CAAC+C,KAAK,EAAE;QACjDvC,qBAAqB,CAAC,CAAC;QACvB,OAAO,KAAK;MACd;MACA,IAAI;QACF,MAAMU,iBAAiB,CAACC,UAAU,CAAC;MACrC,CAAC,CAAC,MAAM;QACN,OAAO,KAAK;MACd;;MAEA;MACA;MACA,MAAM6B,cAAc,GAAG,MAAMjD,SAAS,CAAC8C,eAAe,CAACZ,OAAO,CAAC;MAC/D,IAAIe,cAAc,EAAEF,SAAS,KAAK9C,eAAe,CAAC+C,KAAK,EAAE;QACvDvC,qBAAqB,CAAC,CAAC;QACvB,OAAO,KAAK;MACd;MAEA,MAAMqB,QAAQ,CAACoB,WAAW,CAAChB,OAAO,CAAC;MACnC,OAAO,IAAI;IACb,CAAC,CAAC,OAAOiB,KAAK,EAAE;MACd3B,OAAO,CAAC2B,KAAK,CAAC,mBAAmB,EAAEA,KAAK,CAAC;MACzC5C,OAAO,CAACmC,KAAK,CAAC/B,IAAI,CAAC;QACjBC,KAAK,EAAEJ,KAAK,CAAC,oBAAoB,CAAC;QAClCmC,KAAK,EAAE;MACT,CAAC,CAAC;MACF,OAAO,KAAK;IACd;EACF,CAAC;EAED,OAAO;IAAEC,UAAU;IAAEQ,cAAc,EAAEtB,QAAQ,CAACuB;EAAU,CAAC;AAC3D,CAAC","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;AAC5C,CAAC","ignoreList":[]}
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":"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","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 [conversations, joinedGroups] = await Promise.all([OpenIMSDK.getConversationListSplitApp({
21
+ const conversations = await OpenIMSDK.getConversationListSplitApp({
20
22
  offset,
21
23
  count: 500,
22
24
  applicationType
23
- }), OpenIMSDK.getJoinedGroupList()]);
24
- const joinedGroupIds = new Set(joinedGroups.map(g => g.groupID));
25
- const resolved = conversations.map(conversation => conversation.groupID && !joinedGroupIds.has(conversation.groupID) ? {
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","joinedGroups","Promise","all","getConversationListSplitApp","count","getJoinedGroupList","joinedGroupIds","Set","map","g","groupID","resolved","conversation","has","isNotInGroup","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,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,MAAMC,MAAM,GAAG,CAACR,IAAI,GAAG,CAAC,IAAI,GAAG;MAC/B,MAAM,CAACS,aAAa,EAAEC,YAAY,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CACtDjB,SAAS,CAACkB,2BAA2B,CAAC;QACpCL,MAAM;QACNM,KAAK,EAAE,GAAG;QACVf;MACF,CAAC,CAAC,EACFJ,SAAS,CAACoB,kBAAkB,CAAC,CAAC,CAC/B,CAAC;MAEF,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAACP,YAAY,CAACQ,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,OAAO,CAAC,CAAC;MAClE,MAAMC,QAAQ,GAAGZ,aAAa,CAACS,GAAG,CAAEI,YAAY,IAC9CA,YAAY,CAACF,OAAO,IAAI,CAACJ,cAAc,CAACO,GAAG,CAACD,YAAY,CAACF,OAAO,CAAC,GAC7D;QAAE,GAAGE,YAAY;QAAEE,YAAY,EAAE;MAAK,CAAC,GACvCF,YACN,CAAC;MAEDzB,oBAAoB,CAAC4B,QAAQ,CAAC,CAAC,CAACC,mBAAmB,CAACL,QAAQ,CAAC;MAC7D,OAAOA,QAAQ;IACjB;EACF,CAAC,CAAC;;EAEF;EACA;EACA5B,SAAS,CAAC,MAAM;IACd,IAAIS,qBAAqB,GAAG,CAAC,EAAE;MAC7BE,KAAK,CAACuB,OAAO,CAAC,CAAC;IACjB;IACA;EACF,CAAC,EAAE,CAACzB,qBAAqB,CAAC,CAAC;EAE3B,OAAOE,KAAK;AACd","ignoreList":[]}
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: 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","goBack","title","shadow","ScrollView","showsVerticalScrollIndicator","VisibleView","visible","groupName","showName"],"sourceRoot":"../../../../src","sources":["screens/ChatInfo/ChatInfo.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,EAAEC,WAAW,QAAQ,eAAe;AACvD,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SAASC,wBAAwB,QAAQ,sDAAmD;AAC5F,SAASC,eAAe,QAAQ,sBAAa;AAC7C,OAAOC,eAAe,MAAM,sBAAmB;AAC/C,OAAOC,gBAAgB,MAAM,uBAAoB;AACjD,OAAOC,sBAAsB,MAAM,6BAA0B;AAC7D,OAAOC,eAAe,MAAM,sBAAmB;AAE/C,SAASC,KAAK,QAAQ,4BAAmB;AACzC,SAASC,sBAAsB,QAAQ,wBAAe;AACtD,SAASC,oBAAoB,QAAQ,wBAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErD,MAAMC,QAAQ,gBAAGjB,IAAI,CACnB,CAAC;EACCkB,cAAc,GAAG,EAAE;EACnBC,MAAM;EACNC,aAAa;EACbC,YAAY;EACZC,aAAa;EACbC,kBAAkB;EAClBC,iBAAiB;EACjBC,iBAAiB;EACjBC;AACa,CAAC,KAAK;EACnB,MAAMC,UAAU,GAAGxB,aAAa,CAAC,CAAC;EAElC,MAAMyB,YAAY,GAAGvB,eAAe,CAACa,cAAc,CAAC;EACpD,MAAM;IAAEW,IAAI,EAAEC;EAAO,CAAC,GAAG1B,wBAAwB,CAACc,cAAc,CAAC;EACjE,MAAMa,cAAc,GAAGD,MAAM,GAAGA,MAAM,CAACE,QAAQ,GAAG,IAAI;EACtD,MAAMC,OAAO,GAAGrB,oBAAoB,CAAC,CAAC,CAACsB,mBAAmB;EAE1D,oBACElB,KAAA,CAACf,UAAU,CAACkC,IAAI;IAACC,IAAI;IAACC,KAAK,EAAE,CAAC,QAAQ,CAAE;IAACC,UAAU,EAAC,SAAS;IAAAC,QAAA,gBAC3DzB,IAAA,CAACZ,WAAW,CAACsC,MAAM;MACjBC,KAAK,EAAC,OAAO;MACbC,SAAS,EAAC,MAAM;MAChBC,IAAI,EAAC,OAAO;MACZC,UAAU,EAAE;QACVC,EAAE,EAAE,oBAAoB;QACxBC,IAAI,EAAE;UAAEC,UAAU,EAAE;QAAe,CAAC;QACpCC,OAAO,EAAE7B,MAAM,IAAIQ,UAAU,CAACsB;MAChC,CAAE;MACFC,KAAK,EAAExC,KAAK,CAAC,iBAAiB,CAAE;MAChCyC,MAAM,EAAE;IAAM,CACf,CAAC,eACFnC,KAAA,CAACf,UAAU,CAACmD,UAAU;MAACC,4BAA4B,EAAE,KAAM;MAAAd,QAAA,gBACzDzB,IAAA,CAACR,eAAe;QACdsB,YAAY,EAAEA,YAAa;QAC3BR,aAAa,EAAEA;MAAc,CAC9B,CAAC,eACFN,IAAA,CAACP,gBAAgB;QAACc,YAAY,EAAEA;MAAa,CAAE,CAAC,eAChDP,IAAA,CAACb,UAAU,CAACqD,WAAW;QAACC,OAAO,EAAEtB,OAAQ;QAAAM,QAAA,eACvCzB,IAAA,CAACN,sBAAsB;UAACgD,SAAS,EAAE5B,YAAY,EAAE6B;QAAS,CAAE;MAAC,CACvC,CAAC,eACzB3C,IAAA,CAACL,eAAe;QACdmB,YAAY,EAAEA,YAAa;QAC3BG,cAAc,EAAEA,cAAe;QAC/BE,OAAO,EAAEA,OAAQ;QACjBX,aAAa,EAAEA,aAAc;QAC7BC,kBAAkB,EAAEA,kBAAmB;QACvCC,iBAAiB,EAAEA,iBAAkB;QACrCC,iBAAiB,EAAEA,iBAAkB;QACrCC,cAAc,EAAEA;MAAe,CAChC,CAAC;IAAA,CACmB,CAAC;EAAA,CACT,CAAC;AAEtB,CACF,CAAC;AAED,eAAef,sBAAsB,CAACM,QAAQ,CAAC","ignoreList":[]}
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":[]}
@@ -69,16 +69,27 @@ const i18nKey = {
69
69
  'chat:group_created_by': '{{sender}} đã tạo nhóm',
70
70
  'msg_type_group_name_updated': 'Đã đổi tên nhóm',
71
71
  'chat:group_name_updated_by': '{{sender}} đã đổi tên nhóm',
72
+ 'chat:group_name_updated_by_named': '{{sender}} đã đổi tên nhóm thành {{newGroupName}}',
72
73
  'msg_type_group_info_updated': 'Đã cập nhật thông tin nhóm',
73
74
  'chat:group_info_updated_by': '{{sender}} đã cập nhật thông tin nhóm',
74
75
  'msg_type_member_quit': 'Đã rời khỏi nhóm',
75
- 'chat:member_quit_by': '{{sender}} đã rời khỏi nhóm',
76
+ 'chat:member_quit_by': '{{sender}} đã rời nhóm',
76
77
  'msg_type_group_owner_transferred': 'Đã chuyển quyền trưởng nhóm',
77
78
  'chat:group_owner_transferred_by': '{{sender}} đã chuyển quyền trưởng nhóm',
79
+ 'chat:group_owner_transferred_by_named': '{{sender}} đã chuyển quyền trưởng nhóm cho {{memberName}}',
78
80
  'msg_type_member_kicked': 'Đã xoá thành viên khỏi nhóm',
79
81
  'chat:member_kicked_by': '{{sender}} đã xoá thành viên khỏi nhóm',
82
+ 'chat:member_kicked_by_named': '{{sender}} đã xoá {{names}} khỏi nhóm',
80
83
  'msg_type_member_invited': 'Đã thêm thành viên vào nhóm',
81
84
  'chat:member_invited_by': '{{sender}} đã thêm thành viên vào nhóm',
85
+ 'chat:member_invited_by_named': '{{sender}} đã thêm {{names}} vào nhóm',
86
+ 'msg_type_group_member_set_admin': 'Đã chỉ định quản trị viên mới',
87
+ 'chat:group_member_set_admin_by': '{{sender}} đã đặt {{memberName}} làm quản trị viên',
88
+ 'chat:group_member_set_admin_by_generic': '{{sender}} đã đặt một thành viên làm quản trị viên',
89
+ 'msg_type_message_pinned': 'Đã ghim một tin nhắn',
90
+ 'chat:group_message_pinned_by': '{{sender}} đã ghim một tin nhắn',
91
+ 'msg_type_message_unpinned': 'Đã bỏ ghim một tin nhắn',
92
+ 'chat:group_message_unpinned_by': '{{sender}} đã bỏ ghim một tin nhắn',
82
93
  'msg_type_member_enter': 'Đã tham gia nhóm',
83
94
  'chat:member_enter_by': '{{sender}} đã tham gia nhóm',
84
95
  'msg_type_group_dismissed': 'Nhóm đã bị giải tán',
@@ -117,6 +128,14 @@ const i18nKey = {
117
128
  'chat:info_unpin_message': 'Bỏ ghim trò chuyện',
118
129
  'chat:info_delete_history': 'Xoá lịch sử trò chuyện',
119
130
  'chat:info_leave_group': 'Rời nhóm',
131
+ 'chat:leave_group_confirm_title': 'Rời nhóm?',
132
+ 'chat:leave_group_confirm_desc_private': 'Sau khi rời nhóm, bạn sẽ không thể xem tin nhắn từ cuộc trò chuyện này nữa. Bạn có chắc chắn muốn rời khỏi nhóm?',
133
+ 'chat:leave_group_confirm_desc_public': 'Sau khi rời nhóm, bạn sẽ không thể nhắn tin hay nhận thông báo từ cuộc trò chuyện này nữa. Bạn có chắc chắn muốn rời khỏi nhóm?',
134
+ 'chat:leave_group_confirm_primary': 'Rời nhóm',
135
+ 'chat:leave_group_confirm_secondary': 'Ở lại nhóm',
136
+ 'chat:leave_group_blocked_title': 'Không thể rời nhóm',
137
+ 'chat:leave_group_blocked_desc': 'Bạn không thể rời nhóm khi đang là chủ nhóm, vui lòng chuyển quyền chủ nhóm cho thành viên khác và thử lại!',
138
+ 'chat:leave_group_blocked_button': 'Đã hiểu',
120
139
  'chat:dismiss_group': 'Giải tán nhóm',
121
140
  'chat:info_view_more': 'Xem thêm',
122
141
  'chat:group_description_title': 'Mô tả nhóm',
@@ -1 +1 @@
1
- {"version":3,"names":["i18nKey","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["i18nKey","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtC,0BAA0B,EAAE,gBAAgB;EAC5C,2BAA2B,EAAE,YAAY;EACzC,qBAAqB,EACnB,4EAA4E;EAC9E,qBAAqB,EAAE,kCAAkC;EACzD,uBAAuB,EAAE,oBAAoB;EAC7C,yBAAyB,EAAE,iBAAiB;EAC5C,+BAA+B,EAAE,6BAA6B;EAC9D,uBAAuB,EAAE,oCAAoC;EAC7D,8BAA8B,EAAE,gCAAgC;EAChE,2BAA2B,EAAE,kBAAkB;EAC/C,uBAAuB,EAAE,sBAAsB;EAC/C,oBAAoB,EAAE,eAAe;EACrC,sBAAsB,EACpB,sFAAsF;EACxF,sBAAsB,EACpB,gFAAgF;EAClF,iBAAiB,EAAE,YAAY;EAC/B,0BAA0B,EAAE,gCAAgC;EAC5D,oBAAoB,EAAE,gCAAgC;EACtD,6BAA6B,EAAE,kCAAkC;EACjE,uCAAuC,EACrC,qCAAqC;EACvC,eAAe,EAAE,SAAS;EAC1B,gBAAgB,EAAE,YAAY;EAC9B,iBAAiB,EAAE,SAAS;EAC5B,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE,SAAS;EACvB,2BAA2B,EAAE,6BAA6B;EAC1D,mBAAmB,EAAE,kBAAkB;EACvC,yBAAyB,EAAE,kBAAkB;EAC7C,qBAAqB,EAAE,0BAA0B;EACjD,mBAAmB,EAAE,mBAAmB;EACxC,wBAAwB,EAAE,6BAA6B;EACvD,2BAA2B,EAAE,8BAA8B;EAC3D,gCAAgC,EAAE,wCAAwC;EAC1E,oBAAoB,EAAE,SAAS;EAC/B,qBAAqB,EAAE,SAAS;EAChC,kBAAkB,EAAE,MAAM;EAC1B,oBAAoB,EAAE,SAAS;EAC/B,0BAA0B,EAAE,kBAAkB;EAC9C,4BAA4B,EAAE,qBAAqB;EACnD,8BAA8B,EAAE,wBAAwB;EACxD,4BAA4B,EAAE,wBAAwB;EACtD,4BAA4B,EAAE,qBAAqB;EACnD,2BAA2B,EAAE,wBAAwB;EACrD,2BAA2B,EAAE,eAAe;EAC5C,sBAAsB,EAAE,8BAA8B;EACtD,qBAAqB,EACnB,gHAAgH;EAClH,wBAAwB,EAAE,SAAS;EACnC,4BAA4B,EAAE,kBAAkB;EAChD,2BAA2B,EACzB,uEAAuE;EACzE,iBAAiB,EAAE,MAAM;EACzB,mBAAmB,EAAE,SAAS;EAC9B,yBAAyB,EAAE,8BAA8B;EACzD,2BAA2B,EAAE,iCAAiC;EAC9D,6BAA6B,EAAE,0BAA0B;EACzD,4BAA4B,EAC1B,qGAAqG;EACvG,8BAA8B,EAAE,IAAI;EACpC,4BAA4B,EAAE,kBAAkB;EAChD,6BAA6B,EAC3B,2DAA2D;EAC7D,gBAAgB,EAAE,YAAY;EAC9B,gBAAgB,EAAE,kBAAkB;EACpC,gBAAgB,EAAE,SAAS;EAC3B,eAAe,EAAE,iBAAiB;EAClC,eAAe,EAAE,YAAY;EAC7B,iBAAiB,EAAE,qBAAqB;EACxC,wBAAwB,EAAE,gCAAgC;EAC1D,wBAAwB,EAAE,aAAa;EACvC,uBAAuB,EAAE,wBAAwB;EACjD,6BAA6B,EAAE,iBAAiB;EAChD,4BAA4B,EAAE,4BAA4B;EAC1D,kCAAkC,EAChC,mDAAmD;EACrD,6BAA6B,EAAE,4BAA4B;EAC3D,4BAA4B,EAAE,uCAAuC;EACrE,sBAAsB,EAAE,kBAAkB;EAC1C,qBAAqB,EAAE,wBAAwB;EAC/C,kCAAkC,EAAE,6BAA6B;EACjE,iCAAiC,EAAE,wCAAwC;EAC3E,uCAAuC,EACrC,2DAA2D;EAC7D,wBAAwB,EAAE,6BAA6B;EACvD,uBAAuB,EAAE,wCAAwC;EACjE,6BAA6B,EAAE,uCAAuC;EACtE,yBAAyB,EAAE,6BAA6B;EACxD,wBAAwB,EAAE,wCAAwC;EAClE,8BAA8B,EAAE,uCAAuC;EACvE,iCAAiC,EAAE,+BAA+B;EAClE,gCAAgC,EAC9B,oDAAoD;EACtD,wCAAwC,EACtC,oDAAoD;EACtD,yBAAyB,EAAE,sBAAsB;EACjD,8BAA8B,EAAE,iCAAiC;EACjE,2BAA2B,EAAE,yBAAyB;EACtD,gCAAgC,EAAE,oCAAoC;EACtE,uBAAuB,EAAE,kBAAkB;EAC3C,sBAAsB,EAAE,6BAA6B;EACrD,0BAA0B,EAAE,qBAAqB;EACjD,yBAAyB,EAAE,6BAA6B;EACxD,6BAA6B,EAAE,yBAAyB;EACxD,4BAA4B,EAAE,oCAAoC;EAClE,oCAAoC,EAAE,yBAAyB;EAC/D,mCAAmC,EAAE,oCAAoC;EACzE,sBAAsB,EAAE,sBAAsB;EAC9C,qBAAqB,EAAE,iCAAiC;EACxD,6BAA6B,EAAE,sBAAsB;EACrD,4BAA4B,EAAE,iCAAiC;EAC/D,qCAAqC,EAAE,4BAA4B;EACnE,oCAAoC,EAAE,uCAAuC;EAC7E,uBAAuB,EAAE,qBAAqB;EAC9C,0BAA0B,EAAE,eAAe;EAC3C,8BAA8B,EAAE,qCAAqC;EACrE,kBAAkB,EAAE,eAAe;EACnC,oBAAoB,EAAE,eAAe;EACrC,yBAAyB,EAAE,eAAe;EAC1C,wBAAwB,EACtB,qGAAqG;EACvG,2BAA2B,EAAE,eAAe;EAC5C,6BAA6B,EAAE,UAAU;EACzC,yBAAyB,EAAE,kBAAkB;EAC7C,2BAA2B,EAAE,kBAAkB;EAC/C,iBAAiB,EAAE,UAAU;EAC7B,yBAAyB,EAAE,cAAc;EACzC,uBAAuB,EAAE,KAAK;EAC9B,uBAAuB,EAAE,OAAO;EAChC,sBAAsB,EAAE,SAAS;EACjC,sBAAsB,EAAE,UAAU;EAClC,kBAAkB,EAAE,8BAA8B;EAClD,wBAAwB,EAAE,kCAAkC;EAC5D,wBAAwB,EAAE,eAAe;EACzC,uBAAuB,EAAE,iBAAiB;EAC1C,yBAAyB,EAAE,oBAAoB;EAC/C,0BAA0B,EAAE,wBAAwB;EACpD,uBAAuB,EAAE,UAAU;EACnC,gCAAgC,EAAE,WAAW;EAC7C,uCAAuC,EACrC,kHAAkH;EACpH,sCAAsC,EACpC,iIAAiI;EACnI,kCAAkC,EAAE,UAAU;EAC9C,oCAAoC,EAAE,YAAY;EAClD,gCAAgC,EAAE,oBAAoB;EACtD,+BAA+B,EAC7B,6GAA6G;EAC/G,iCAAiC,EAAE,SAAS;EAC5C,oBAAoB,EAAE,eAAe;EACrC,qBAAqB,EAAE,UAAU;EACjC,8BAA8B,EAAE,YAAY;EAC5C,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE,aAAa;EACxB,SAAS,EAAE,WAAW;EACtB,QAAQ,EAAE,UAAU;EACpB,WAAW,EAAE,UAAU;EACvB,YAAY,EAAE,cAAc;EAC5B,cAAc,EAAE,cAAc;EAC9B,oBAAoB,EAAE,cAAc;EACpC,oBAAoB,EAAE,SAAS;EAC/B,eAAe,EAAE,kBAAkB;EACnC,UAAU,EAAE,YAAY;EACxB,KAAK,EAAE,KAAK;EACZ,QAAQ,EAAE,SAAS;EACnB,4BAA4B,EAAE,qBAAqB;EACnD,gCAAgC,EAAE,KAAK;EACvC,gCAAgC,EAAE,OAAO;EACzC,+BAA+B,EAAE,SAAS;EAC1C,+BAA+B,EAAE,UAAU;EAC3C,oCAAoC,EAAE,4BAA4B;EAClE,iCAAiC,EAAE,6BAA6B;EAChE,qBAAqB,EAAE,OAAO;EAC9B,gCAAgC,EAAE,uBAAuB;EACzD,+BAA+B,EAC7B,2GAA2G;EAC7G,kCAAkC,EAAE,UAAU;EAC9C,oCAAoC,EAAE,UAAU;EAChD,QAAQ,EAAE,UAAU;EACpB,KAAK,EAAE,QAAQ;EACf,UAAU,EAAE,SAAS;EACrB,UAAU,EAAE,UAAU;EACtB,0BAA0B,EAAE,4BAA4B;EACxD,mBAAmB,EACjB,yDAAyD;EAC3D,2BAA2B,EAAE,4CAA4C;EACzE,gCAAgC,EAAE,kCAAkC;EACpE,UAAU,EAAE,YAAY;EACxB,gCAAgC,EAAE,0BAA0B;EAC5D,oBAAoB,EAAE,wBAAwB;EAC9C,yBAAyB,EAAE,iCAAiC;EAC5D,WAAW,EAAE,WAAW;EACxB,oBAAoB,EAAE,sBAAsB;EAC5C,cAAc,EAAE,UAAU;EAC1B,YAAY,EAAE,UAAU;EACxB,oBAAoB,EAAE,uCAAuC;EAC7D,2BAA2B,EAAE,yCAAyC;EACtE,gCAAgC,EAC9B,sDAAsD;EACxD,oBAAoB,EAAE,gCAAgC;EACtD,oBAAoB,EAAE,gBAAgB;EACtC,qBAAqB,EAAE,eAAe;EACtC,6BAA6B,EAAE,gBAAgB;EAC/C,4BAA4B,EAC1B,+EAA+E;EACjF,+BAA+B,EAAE,UAAU;EAC3C,iCAAiC,EAAE,UAAU;EAC7C,6BAA6B,EAAE;AACjC,CAAC;AAED,eAAe;EACbC,EAAE,EAAED;AACN,CAAC","ignoreList":[]}
@@ -30,8 +30,12 @@ export const getMessageText = message => {
30
30
  case MessageType.FaceMessage:
31
31
  return '[Sticker]';
32
32
  default:
33
+ // Never surface the raw notification payload as message text — it
34
+ // contains other users' userID/nickname/faceURL/permissions and would
35
+ // render verbatim as a normal chat bubble for any content type that
36
+ // isn't (yet) mapped in GROUP_NOTIFICATION_TEXT.
33
37
  if (message.notificationElem?.detail) {
34
- return message.notificationElem.detail;
38
+ return '';
35
39
  }
36
40
  return message.content || '';
37
41
  }
@@ -1 +1 @@
1
- {"version":3,"names":["MessageType","getMessageText","message","contentType","TextMessage","textElem","content","AtTextMessage","atTextElem","text","QuoteMessage","quoteElem","PictureMessage","VoiceMessage","soundElem","sourceUrl","VideoMessage","videoElem","videoUrl","FileMessage","fileElem","fileName","CardMessage","cardElem","nickname","LocationMessage","locationElem","description","CustomMessage","customElem","FaceMessage","notificationElem","detail","precomputeLegendListData","messages","dataMap","Map","lastDay","forEach","index","messageId","clientMsgID","serverMsgID","sendTime","createTime","createdAt","day","Date","getDate","set","dayStart","computeDayStarts","dayStartMap"],"sourceRoot":"../../../src","sources":["utils/legendListMessage.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MessageType","getMessageText","message","contentType","TextMessage","textElem","content","AtTextMessage","atTextElem","text","QuoteMessage","quoteElem","PictureMessage","VoiceMessage","soundElem","sourceUrl","VideoMessage","videoElem","videoUrl","FileMessage","fileElem","fileName","CardMessage","cardElem","nickname","LocationMessage","locationElem","description","CustomMessage","customElem","FaceMessage","notificationElem","detail","precomputeLegendListData","messages","dataMap","Map","lastDay","forEach","index","messageId","clientMsgID","serverMsgID","sendTime","createTime","createdAt","day","Date","getDate","set","dayStart","computeDayStarts","dayStartMap"],"sourceRoot":"../../../src","sources":["utils/legendListMessage.ts"],"mappings":"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","ignoreList":[]}
@@ -69,8 +69,114 @@ export const GROUP_NOTIFICATION_TEXT = {
69
69
  [MessageType.GroupNameUpdated]: {
70
70
  previewKey: 'msg_type_group_name_updated',
71
71
  bySenderKey: 'chat:group_name_updated_by'
72
+ },
73
+ [MessageType.GroupMemberSetToAdmin]: {
74
+ previewKey: 'msg_type_group_member_set_admin',
75
+ bySenderKey: 'chat:group_member_set_admin_by_generic'
76
+ },
77
+ // One content type, two texts (pinned vs unpinned) — the base entry here is
78
+ // just the "unpinned" fallback; resolveNotificationText() below overrides
79
+ // it to the "pinned" keys when notificationElem.detail.isPinned is true.
80
+ [MessageType.PinMsg]: {
81
+ previewKey: 'msg_type_message_unpinned',
82
+ bySenderKey: 'chat:group_message_unpinned_by'
72
83
  }
73
84
  };
85
+ const parseNotificationDetail = message => {
86
+ if (!message.notificationElem?.detail) return undefined;
87
+ try {
88
+ return JSON.parse(message.notificationElem.detail);
89
+ } catch {
90
+ return undefined;
91
+ }
92
+ };
93
+
94
+ // PM-approved rule for "N members added/removed at once": 1-2 names are
95
+ // listed in full, 3+ collapse to the first two names plus a trailing count.
96
+ // Renders identically to the spec either way — e.g. 4 invites become
97
+ // "B, C và 2 người khác".
98
+ const formatMemberNames = members => {
99
+ const names = (members ?? []).map(member => member?.nickname).filter(nickname => !!nickname);
100
+ if (names.length === 0) return undefined;
101
+ if (names.length <= 2) return names.join(', ');
102
+ return `${names[0]}, ${names[1]} và ${names.length - 2} người khác`;
103
+ };
104
+ // GROUP_NOTIFICATION_TEXT above only covers the static "no extra data needed"
105
+ // shape. This resolver layers in the per-event params (affected member name,
106
+ // new group name, pinned/unpinned) confirmed against real captured payloads —
107
+ // upgrading to a `_named`/`_by` key when the data is present, and silently
108
+ // falling back to the generic base key when it's missing or malformed so the
109
+ // UI never shows a raw `{{placeholder}}` or throws on a bad payload.
110
+ export const resolveNotificationText = message => {
111
+ const base = GROUP_NOTIFICATION_TEXT[message.contentType];
112
+ if (!base) return undefined;
113
+ let previewKey = base.previewKey;
114
+ let bySenderKey = base.bySenderKey;
115
+ const params = {};
116
+ const detail = parseNotificationDetail(message);
117
+ switch (message.contentType) {
118
+ case MessageType.GroupNameUpdated:
119
+ {
120
+ const newGroupName = detail?.group?.groupName;
121
+ if (newGroupName) {
122
+ params.newGroupName = newGroupName;
123
+ bySenderKey = 'chat:group_name_updated_by_named';
124
+ }
125
+ break;
126
+ }
127
+ case MessageType.MemberInvited:
128
+ {
129
+ const names = formatMemberNames(detail?.invitedUserList);
130
+ if (names) {
131
+ params.names = names;
132
+ bySenderKey = 'chat:member_invited_by_named';
133
+ }
134
+ break;
135
+ }
136
+ case MessageType.MemberKicked:
137
+ {
138
+ const names = formatMemberNames(detail?.kickedUserList);
139
+ if (names) {
140
+ params.names = names;
141
+ bySenderKey = 'chat:member_kicked_by_named';
142
+ }
143
+ break;
144
+ }
145
+ case MessageType.GroupOwnerTransferred:
146
+ {
147
+ const memberName = detail?.newGroupOwner?.nickname;
148
+ if (memberName) {
149
+ params.memberName = memberName;
150
+ bySenderKey = 'chat:group_owner_transferred_by_named';
151
+ }
152
+ break;
153
+ }
154
+ case MessageType.GroupMemberSetToAdmin:
155
+ {
156
+ const memberName = detail?.changedUser?.nickname;
157
+ if (memberName) {
158
+ params.memberName = memberName;
159
+ bySenderKey = 'chat:group_member_set_admin_by';
160
+ }
161
+ break;
162
+ }
163
+ case MessageType.PinMsg:
164
+ {
165
+ if (detail?.isPinned === true) {
166
+ previewKey = 'msg_type_message_pinned';
167
+ bySenderKey = 'chat:group_message_pinned_by';
168
+ }
169
+ break;
170
+ }
171
+ default:
172
+ break;
173
+ }
174
+ return {
175
+ previewKey,
176
+ bySenderKey,
177
+ params
178
+ };
179
+ };
74
180
  export const extractTextContent = message => {
75
181
  if (message.textElem?.content) return message.textElem.content;
76
182
  try {
@@ -144,9 +250,9 @@ export const getMessagePreview = message => {
144
250
  return trans('msg_type_burn_message_change');
145
251
  default:
146
252
  {
147
- const groupNotification = GROUP_NOTIFICATION_TEXT[message.contentType];
148
- if (groupNotification) {
149
- return trans(groupNotification.previewKey);
253
+ const resolved = resolveNotificationText(message);
254
+ if (resolved) {
255
+ return trans(resolved.previewKey, resolved.params);
150
256
  }
151
257
  return '[Tin nhắn không được hỗ trợ]';
152
258
  }
@@ -250,7 +356,9 @@ export const getNotificationOpUserNickname = message => {
250
356
  if (!message.notificationElem?.detail) return undefined;
251
357
  try {
252
358
  const parsed = JSON.parse(message.notificationElem.detail);
253
- return parsed?.opUser?.nickname;
359
+ // MemberQuit puts the leaver in `quitUser`, not `opUser` — every other
360
+ // group-notification content type uses `opUser` for the actor.
361
+ return parsed?.opUser?.nickname ?? parsed?.quitUser?.nickname;
254
362
  } catch {
255
363
  return undefined;
256
364
  }
@@ -275,10 +383,11 @@ export const getLastMessageText = ({
275
383
  sender
276
384
  });
277
385
  }
278
- const groupNotification = GROUP_NOTIFICATION_TEXT[message.contentType];
279
- if (groupNotification) {
280
- return trans(groupNotification.bySenderKey, {
281
- sender
386
+ const resolvedNotification = resolveNotificationText(message);
387
+ if (resolvedNotification) {
388
+ return trans(resolvedNotification.bySenderKey, {
389
+ sender,
390
+ ...resolvedNotification.params
282
391
  });
283
392
  }
284
393
  const hideSenderPrefix = hideSenderPrefixForDirectChat && conversation?.peerType === PeerType.User;