@droppii-org/chat-mobile 0.2.65 → 0.2.66
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/hooks/conversation/useGetGroupInfo.js +19 -0
- package/lib/module/hooks/conversation/useGetGroupInfo.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/screens/ChatInfo/ChatInfo.js +18 -2
- package/lib/module/screens/ChatInfo/ChatInfo.js.map +1 -1
- package/lib/module/screens/ChatInfo/ChatInfoActions.js +83 -55
- package/lib/module/screens/ChatInfo/ChatInfoActions.js.map +1 -1
- package/lib/module/screens/ChatInfo/ChatInfoDescriptionRow.js +77 -0
- package/lib/module/screens/ChatInfo/ChatInfoDescriptionRow.js.map +1 -0
- package/lib/module/screens/ChatInfo/GroupDescriptionModal.js +58 -0
- package/lib/module/screens/ChatInfo/GroupDescriptionModal.js.map +1 -0
- package/lib/module/translation/resources/i18n.js +3 -0
- package/lib/module/translation/resources/i18n.js.map +1 -1
- package/lib/module/utils/conversation.js +3 -0
- package/lib/module/utils/conversation.js.map +1 -1
- package/lib/typescript/src/hooks/conversation/useGetGroupInfo.d.ts +2 -0
- package/lib/typescript/src/hooks/conversation/useGetGroupInfo.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/screens/ChatInfo/ChatInfo.d.ts +1 -1
- package/lib/typescript/src/screens/ChatInfo/ChatInfo.d.ts.map +1 -1
- package/lib/typescript/src/screens/ChatInfo/ChatInfoActions.d.ts +3 -1
- package/lib/typescript/src/screens/ChatInfo/ChatInfoActions.d.ts.map +1 -1
- package/lib/typescript/src/screens/ChatInfo/ChatInfoDescriptionRow.d.ts +7 -0
- package/lib/typescript/src/screens/ChatInfo/ChatInfoDescriptionRow.d.ts.map +1 -0
- package/lib/typescript/src/screens/ChatInfo/GroupDescriptionModal.d.ts +9 -0
- package/lib/typescript/src/screens/ChatInfo/GroupDescriptionModal.d.ts.map +1 -0
- package/lib/typescript/src/screens/ChatInfo/types.d.ts +1 -0
- package/lib/typescript/src/screens/ChatInfo/types.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 +1 -0
- package/lib/typescript/src/utils/conversation.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/hooks/conversation/useGetGroupInfo.ts +18 -0
- package/src/hooks/query-keys.ts +1 -0
- package/src/screens/ChatInfo/ChatInfo.tsx +16 -0
- package/src/screens/ChatInfo/ChatInfoActions.tsx +68 -35
- package/src/screens/ChatInfo/ChatInfoDescriptionRow.tsx +102 -0
- package/src/screens/ChatInfo/GroupDescriptionModal.tsx +67 -0
- package/src/screens/ChatInfo/types.ts +1 -0
- package/src/translation/resources/i18n.ts +3 -0
- package/src/utils/conversation.ts +6 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import OpenIMSDK from '@droppii/openim-rn-client-sdk';
|
|
5
|
+
import { conversationQueryKeys } from "../query-keys.js";
|
|
6
|
+
export const useGetGroupInfo = (groupId = '') => useQuery({
|
|
7
|
+
queryKey: conversationQueryKeys.groupInfo(groupId),
|
|
8
|
+
queryFn: async () => {
|
|
9
|
+
try {
|
|
10
|
+
const res = await OpenIMSDK.getSpecifiedGroupsInfo([groupId]);
|
|
11
|
+
return res?.[0];
|
|
12
|
+
} catch (error) {
|
|
13
|
+
console.error('useGetGroupInfo error:', error);
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
enabled: !!groupId
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=useGetGroupInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useQuery","OpenIMSDK","conversationQueryKeys","useGetGroupInfo","groupId","queryKey","groupInfo","queryFn","res","getSpecifiedGroupsInfo","error","console","enabled"],"sourceRoot":"../../../../src","sources":["hooks/conversation/useGetGroupInfo.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,SAAS,MAAM,+BAA+B;AACrD,SAASC,qBAAqB,QAAQ,kBAAe;AAErD,OAAO,MAAMC,eAAe,GAAGA,CAACC,OAAO,GAAG,EAAE,KAC1CJ,QAAQ,CAAC;EACPK,QAAQ,EAAEH,qBAAqB,CAACI,SAAS,CAACF,OAAO,CAAC;EAClDG,OAAO,EAAE,MAAAA,CAAA,KAAY;IACnB,IAAI;MACF,MAAMC,GAAG,GAAG,MAAMP,SAAS,CAACQ,sBAAsB,CAAC,CAACL,OAAO,CAAC,CAAC;MAC7D,OAAOI,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC,OAAOE,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,wBAAwB,EAAEA,KAAK,CAAC;MAC9C,OAAO,IAAI;IACb;EACF,CAAC;EACDE,OAAO,EAAE,CAAC,CAACR;AACb,CAAC,CAAC","ignoreList":[]}
|
|
@@ -20,7 +20,8 @@ export const conversationQueryKeys = {
|
|
|
20
20
|
detailByBotId: botId => ['conversationByBotId', botId],
|
|
21
21
|
detailBySourceId: sourceId => ['detailBySourceId', sourceId],
|
|
22
22
|
joinedGroup: groupId => [...conversationQueryKeys.all, groupId],
|
|
23
|
-
create: userId => ['create', userId]
|
|
23
|
+
create: userId => ['create', userId],
|
|
24
|
+
groupInfo: groupId => ['groupInfo', groupId]
|
|
24
25
|
};
|
|
25
26
|
export const usersQueryKeys = {
|
|
26
27
|
all: ['users'],
|
|
@@ -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","usersQueryKeys","userIds","stickerQueryKeys","categories","byCategory","categoryId","recent","resourceCenterQueryKeys","byType","recvID","contentType","messageQueryKeys","search","query"],"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;
|
|
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"],"sourceRoot":"../../../src","sources":["hooks/query-keys.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,11 +4,14 @@ import { memo } 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";
|
|
7
8
|
import { useConversation } from "../../store/index.js";
|
|
8
9
|
import ChatInfoProfile from "./ChatInfoProfile.js";
|
|
9
10
|
import ChatInfoMediaRow from "./ChatInfoMediaRow.js";
|
|
11
|
+
import ChatInfoDescriptionRow from "./ChatInfoDescriptionRow.js";
|
|
10
12
|
import ChatInfoActions from "./ChatInfoActions.js";
|
|
11
13
|
import { trans } from "../../translation/index.js";
|
|
14
|
+
import { isGroupConversation } from "../../utils/conversation.js";
|
|
12
15
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
16
|
const ChatInfo = /*#__PURE__*/memo(({
|
|
14
17
|
conversationId = '',
|
|
@@ -17,7 +20,8 @@ const ChatInfo = /*#__PURE__*/memo(({
|
|
|
17
20
|
onPressMedia,
|
|
18
21
|
onPressOrders,
|
|
19
22
|
onPressCreateGroup,
|
|
20
|
-
onPressAddToGroup
|
|
23
|
+
onPressAddToGroup,
|
|
24
|
+
onPressLeaveGroup
|
|
21
25
|
}) => {
|
|
22
26
|
const navigation = useNavigation();
|
|
23
27
|
const conversation = useConversation(conversationId);
|
|
@@ -25,6 +29,10 @@ const ChatInfo = /*#__PURE__*/memo(({
|
|
|
25
29
|
data: target
|
|
26
30
|
} = useGetConversationTarget(conversationId);
|
|
27
31
|
const isTargetActive = target ? target.isActive : true;
|
|
32
|
+
const isGroup = isGroupConversation(conversation);
|
|
33
|
+
const {
|
|
34
|
+
data: groupInfo
|
|
35
|
+
} = useGetGroupInfo(isGroup ? conversation?.groupID : undefined);
|
|
28
36
|
return /*#__PURE__*/_jsxs(KContainer.Page, {
|
|
29
37
|
flex: true,
|
|
30
38
|
edges: ['bottom'],
|
|
@@ -49,12 +57,20 @@ const ChatInfo = /*#__PURE__*/memo(({
|
|
|
49
57
|
onPressSearch: onPressSearch
|
|
50
58
|
}), /*#__PURE__*/_jsx(ChatInfoMediaRow, {
|
|
51
59
|
onPressMedia: onPressMedia
|
|
60
|
+
}), /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
61
|
+
visible: isGroup,
|
|
62
|
+
children: /*#__PURE__*/_jsx(ChatInfoDescriptionRow, {
|
|
63
|
+
introduction: groupInfo?.introduction,
|
|
64
|
+
groupName: conversation?.showName
|
|
65
|
+
})
|
|
52
66
|
}), /*#__PURE__*/_jsx(ChatInfoActions, {
|
|
53
67
|
conversation: conversation,
|
|
54
68
|
isTargetActive: isTargetActive,
|
|
69
|
+
isGroup: isGroup,
|
|
55
70
|
onPressOrders: onPressOrders,
|
|
56
71
|
onPressCreateGroup: onPressCreateGroup,
|
|
57
|
-
onPressAddToGroup: onPressAddToGroup
|
|
72
|
+
onPressAddToGroup: onPressAddToGroup,
|
|
73
|
+
onPressLeaveGroup: onPressLeaveGroup
|
|
58
74
|
})]
|
|
59
75
|
})]
|
|
60
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","KContainer","KNavigation","useNavigation","useGetConversationTarget","useConversation","ChatInfoProfile","ChatInfoMediaRow","ChatInfoActions","trans","jsx","_jsx","jsxs","_jsxs","ChatInfo","conversationId","onBack","onPressSearch","onPressMedia","onPressOrders","onPressCreateGroup","onPressAddToGroup","navigation","conversation","data","target","isTargetActive","isActive","Page","flex","edges","background","children","Header","theme","alignment","size","leftButton","id","icon","vectorName","onPress","goBack","title","shadow","ScrollView","showsVerticalScrollIndicator"],"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,eAAe,MAAM,sBAAmB;AAE/C,SAASC,KAAK,QAAQ,4BAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;
|
|
1
|
+
{"version":3,"names":["memo","KContainer","KNavigation","useNavigation","useGetConversationTarget","useGetGroupInfo","useConversation","ChatInfoProfile","ChatInfoMediaRow","ChatInfoDescriptionRow","ChatInfoActions","trans","isGroupConversation","jsx","_jsx","jsxs","_jsxs","ChatInfo","conversationId","onBack","onPressSearch","onPressMedia","onPressOrders","onPressCreateGroup","onPressAddToGroup","onPressLeaveGroup","navigation","conversation","data","target","isTargetActive","isActive","isGroup","groupInfo","groupID","undefined","Page","flex","edges","background","children","Header","theme","alignment","size","leftButton","id","icon","vectorName","onPress","goBack","title","shadow","ScrollView","showsVerticalScrollIndicator","VisibleView","visible","introduction","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,6CAA0C;AAC1E,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,mBAAmB,QAAQ,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE/D,MAAMC,QAAQ,gBAAGjB,IAAI,CACnB,CAAC;EACCkB,cAAc,GAAG,EAAE;EACnBC,MAAM;EACNC,aAAa;EACbC,YAAY;EACZC,aAAa;EACbC,kBAAkB;EAClBC,iBAAiB;EACjBC;AACa,CAAC,KAAK;EACnB,MAAMC,UAAU,GAAGvB,aAAa,CAAC,CAAC;EAElC,MAAMwB,YAAY,GAAGrB,eAAe,CAACY,cAAc,CAAC;EACpD,MAAM;IAAEU,IAAI,EAAEC;EAAO,CAAC,GAAGzB,wBAAwB,CAACc,cAAc,CAAC;EACjE,MAAMY,cAAc,GAAGD,MAAM,GAAGA,MAAM,CAACE,QAAQ,GAAG,IAAI;EACtD,MAAMC,OAAO,GAAGpB,mBAAmB,CAACe,YAAY,CAAC;EACjD,MAAM;IAAEC,IAAI,EAAEK;EAAU,CAAC,GAAG5B,eAAe,CACzC2B,OAAO,GAAGL,YAAY,EAAEO,OAAO,GAAGC,SACpC,CAAC;EAED,oBACEnB,KAAA,CAACf,UAAU,CAACmC,IAAI;IAACC,IAAI;IAACC,KAAK,EAAE,CAAC,QAAQ,CAAE;IAACC,UAAU,EAAC,SAAS;IAAAC,QAAA,gBAC3D1B,IAAA,CAACZ,WAAW,CAACuC,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,EAAE9B,MAAM,IAAIO,UAAU,CAACwB;MAChC,CAAE;MACFC,KAAK,EAAExC,KAAK,CAAC,iBAAiB,CAAE;MAChCyC,MAAM,EAAE;IAAM,CACf,CAAC,eACFpC,KAAA,CAACf,UAAU,CAACoD,UAAU;MAACC,4BAA4B,EAAE,KAAM;MAAAd,QAAA,gBACzD1B,IAAA,CAACP,eAAe;QACdoB,YAAY,EAAEA,YAAa;QAC3BP,aAAa,EAAEA;MAAc,CAC9B,CAAC,eACFN,IAAA,CAACN,gBAAgB;QAACa,YAAY,EAAEA;MAAa,CAAE,CAAC,eAChDP,IAAA,CAACb,UAAU,CAACsD,WAAW;QAACC,OAAO,EAAExB,OAAQ;QAAAQ,QAAA,eACvC1B,IAAA,CAACL,sBAAsB;UACrBgD,YAAY,EAAExB,SAAS,EAAEwB,YAAa;UACtCC,SAAS,EAAE/B,YAAY,EAAEgC;QAAS,CACnC;MAAC,CACoB,CAAC,eACzB7C,IAAA,CAACJ,eAAe;QACdiB,YAAY,EAAEA,YAAa;QAC3BG,cAAc,EAAEA,cAAe;QAC/BE,OAAO,EAAEA,OAAQ;QACjBV,aAAa,EAAEA,aAAc;QAC7BC,kBAAkB,EAAEA,kBAAmB;QACvCC,iBAAiB,EAAEA,iBAAkB;QACrCC,iBAAiB,EAAEA;MAAkB,CACtC,CAAC;IAAA,CACmB,CAAC;EAAA,CACT,CAAC;AAEtB,CACF,CAAC;AAED,eAAeR,QAAQ","ignoreList":[]}
|
|
@@ -8,9 +8,11 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
8
8
|
const ChatInfoActions = /*#__PURE__*/memo(({
|
|
9
9
|
conversation,
|
|
10
10
|
isTargetActive,
|
|
11
|
+
isGroup,
|
|
11
12
|
onPressOrders,
|
|
12
13
|
onPressCreateGroup,
|
|
13
|
-
onPressAddToGroup
|
|
14
|
+
onPressAddToGroup,
|
|
15
|
+
onPressLeaveGroup
|
|
14
16
|
}) => {
|
|
15
17
|
const {
|
|
16
18
|
pinConversation,
|
|
@@ -27,94 +29,120 @@ const ChatInfoActions = /*#__PURE__*/memo(({
|
|
|
27
29
|
}, [isPinned, conversation, pinConversation, unpinConversation]);
|
|
28
30
|
const handleDeleteHistory = useCallback(() => {}, []);
|
|
29
31
|
const primaryData = useMemo(() => {
|
|
30
|
-
const items = [
|
|
31
|
-
|
|
32
|
-
icon: {
|
|
33
|
-
vectorName: 'receipt-o'
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
onPress: onPressOrders,
|
|
37
|
-
paddingH: '0.75rem',
|
|
38
|
-
paddingV: '0.75rem',
|
|
39
|
-
customLabel: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
40
|
-
typo: "TextMdMedium",
|
|
41
|
-
numberOfLines: 1,
|
|
42
|
-
children: trans('chat:info_orders', {
|
|
43
|
-
name: showName
|
|
44
|
-
})
|
|
45
|
-
})
|
|
46
|
-
}];
|
|
47
|
-
if (isTargetActive) {
|
|
32
|
+
const items = [];
|
|
33
|
+
if (!isGroup) {
|
|
48
34
|
items.push({
|
|
49
35
|
leftNode: {
|
|
50
36
|
icon: {
|
|
51
|
-
vectorName: '
|
|
37
|
+
vectorName: 'receipt-o'
|
|
52
38
|
}
|
|
53
39
|
},
|
|
54
|
-
onPress:
|
|
40
|
+
onPress: onPressOrders,
|
|
55
41
|
paddingH: '0.75rem',
|
|
56
42
|
paddingV: '0.75rem',
|
|
57
43
|
customLabel: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
58
44
|
typo: "TextMdMedium",
|
|
59
45
|
numberOfLines: 1,
|
|
60
|
-
children: trans('chat:
|
|
46
|
+
children: trans('chat:info_orders', {
|
|
61
47
|
name: showName
|
|
62
48
|
})
|
|
63
49
|
})
|
|
64
|
-
}
|
|
50
|
+
});
|
|
51
|
+
if (isTargetActive) {
|
|
52
|
+
items.push({
|
|
53
|
+
leftNode: {
|
|
54
|
+
icon: {
|
|
55
|
+
vectorName: 'user-three-o'
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
onPress: onPressCreateGroup,
|
|
59
|
+
paddingH: '0.75rem',
|
|
60
|
+
paddingV: '0.75rem',
|
|
61
|
+
customLabel: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
62
|
+
typo: "TextMdMedium",
|
|
63
|
+
numberOfLines: 1,
|
|
64
|
+
children: trans('chat:info_create_group', {
|
|
65
|
+
name: showName
|
|
66
|
+
})
|
|
67
|
+
})
|
|
68
|
+
}, {
|
|
69
|
+
leftNode: {
|
|
70
|
+
icon: {
|
|
71
|
+
vectorName: 'user-add-o'
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
onPress: onPressAddToGroup,
|
|
75
|
+
paddingH: '0.75rem',
|
|
76
|
+
paddingV: '0.75rem',
|
|
77
|
+
customLabel: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
78
|
+
typo: "TextMdMedium",
|
|
79
|
+
numberOfLines: 1,
|
|
80
|
+
children: trans('chat:info_add_to_group')
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
items.push({
|
|
86
|
+
leftNode: {
|
|
87
|
+
icon: {
|
|
88
|
+
vectorName: isPinned ? 'thumbtack-off-o' : 'thumbtack-o'
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
onPress: handlePinPress,
|
|
92
|
+
showChevron: false,
|
|
93
|
+
paddingH: '0.75rem',
|
|
94
|
+
paddingV: '0.75rem',
|
|
95
|
+
customLabel: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
96
|
+
typo: "TextMdMedium",
|
|
97
|
+
numberOfLines: 1,
|
|
98
|
+
children: isPinned ? trans('chat:info_unpin_message') : trans('chat:info_pin_message')
|
|
99
|
+
})
|
|
100
|
+
});
|
|
101
|
+
return items;
|
|
102
|
+
}, [showName, isGroup, isTargetActive, isPinned, onPressOrders, onPressCreateGroup, onPressAddToGroup, handlePinPress]);
|
|
103
|
+
const dangerData = useMemo(() => {
|
|
104
|
+
if (isGroup) {
|
|
105
|
+
return [{
|
|
65
106
|
leftNode: {
|
|
66
107
|
icon: {
|
|
67
|
-
vectorName: '
|
|
108
|
+
vectorName: 'logout-o',
|
|
109
|
+
tintColor: KColors.danger.normal
|
|
68
110
|
}
|
|
69
111
|
},
|
|
70
|
-
|
|
112
|
+
tintColor: KColors.danger.normal,
|
|
113
|
+
onPress: onPressLeaveGroup,
|
|
114
|
+
showChevron: false,
|
|
71
115
|
paddingH: '0.75rem',
|
|
72
116
|
paddingV: '0.75rem',
|
|
73
117
|
customLabel: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
74
118
|
typo: "TextMdMedium",
|
|
119
|
+
color: KColors.danger.normal,
|
|
75
120
|
numberOfLines: 1,
|
|
76
|
-
children: trans('chat:
|
|
121
|
+
children: trans('chat:info_leave_group')
|
|
77
122
|
})
|
|
78
|
-
}
|
|
123
|
+
}];
|
|
79
124
|
}
|
|
80
|
-
|
|
125
|
+
return [{
|
|
126
|
+
label: trans('chat:info_delete_history'),
|
|
81
127
|
leftNode: {
|
|
82
128
|
icon: {
|
|
83
|
-
vectorName:
|
|
129
|
+
vectorName: 'trash-alt-o-1',
|
|
130
|
+
tintColor: KColors.danger.normal
|
|
84
131
|
}
|
|
85
132
|
},
|
|
86
|
-
|
|
133
|
+
tintColor: KColors.danger.normal,
|
|
134
|
+
onPress: handleDeleteHistory,
|
|
87
135
|
showChevron: false,
|
|
88
136
|
paddingH: '0.75rem',
|
|
89
137
|
paddingV: '0.75rem',
|
|
90
138
|
customLabel: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
91
139
|
typo: "TextMdMedium",
|
|
140
|
+
color: KColors.danger.normal,
|
|
92
141
|
numberOfLines: 1,
|
|
93
|
-
children:
|
|
142
|
+
children: trans('chat:info_delete_history')
|
|
94
143
|
})
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
}, [showName, isTargetActive, isPinned, onPressOrders, onPressCreateGroup, onPressAddToGroup, handlePinPress]);
|
|
98
|
-
const deleteData = useMemo(() => [{
|
|
99
|
-
label: trans('chat:info_delete_history'),
|
|
100
|
-
leftNode: {
|
|
101
|
-
icon: {
|
|
102
|
-
vectorName: 'trash-alt-o-1',
|
|
103
|
-
tintColor: KColors.danger.normal
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
tintColor: KColors.danger.normal,
|
|
107
|
-
onPress: handleDeleteHistory,
|
|
108
|
-
showChevron: false,
|
|
109
|
-
paddingH: '0.75rem',
|
|
110
|
-
paddingV: '0.75rem',
|
|
111
|
-
customLabel: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
112
|
-
typo: "TextMdMedium",
|
|
113
|
-
color: KColors.danger.normal,
|
|
114
|
-
numberOfLines: 1,
|
|
115
|
-
children: trans('chat:info_delete_history')
|
|
116
|
-
})
|
|
117
|
-
}], [handleDeleteHistory]);
|
|
144
|
+
}];
|
|
145
|
+
}, [isGroup, onPressLeaveGroup, handleDeleteHistory]);
|
|
118
146
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
119
147
|
children: [/*#__PURE__*/_jsx(KContainer.View, {
|
|
120
148
|
background: KColors.white,
|
|
@@ -132,7 +160,7 @@ const ChatInfoActions = /*#__PURE__*/memo(({
|
|
|
132
160
|
marginT: "0.75rem",
|
|
133
161
|
hiddenOverflow: true,
|
|
134
162
|
children: /*#__PURE__*/_jsx(KListItem.Base, {
|
|
135
|
-
data:
|
|
163
|
+
data: dangerData
|
|
136
164
|
})
|
|
137
165
|
})]
|
|
138
166
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useMemo","KContainer","KListItem","KColors","KLabel","usePinConversation","trans","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ChatInfoActions","conversation","isTargetActive","onPressOrders","onPressCreateGroup","onPressAddToGroup","pinConversation","unpinConversation","isPinned","Boolean","showName","handlePinPress","handleDeleteHistory","primaryData","items","leftNode","icon","vectorName","onPress","paddingH","paddingV","customLabel","Text","typo","numberOfLines","children","name","
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useMemo","KContainer","KListItem","KColors","KLabel","usePinConversation","trans","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ChatInfoActions","conversation","isTargetActive","isGroup","onPressOrders","onPressCreateGroup","onPressAddToGroup","onPressLeaveGroup","pinConversation","unpinConversation","isPinned","Boolean","showName","handlePinPress","handleDeleteHistory","primaryData","items","push","leftNode","icon","vectorName","onPress","paddingH","paddingV","customLabel","Text","typo","numberOfLines","children","name","showChevron","dangerData","tintColor","danger","normal","color","label","View","background","white","br","marginH","marginT","hiddenOverflow","Base","data"],"sourceRoot":"../../../../src","sources":["screens/ChatInfo/ChatInfoActions.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo, useCallback, useState } from 'react';
|
|
4
|
+
import { StyleSheet } from 'react-native';
|
|
5
|
+
import { KContainer, KLabel, KColors } from '@droppii/libs';
|
|
6
|
+
import { trans } from "../../translation/index.js";
|
|
7
|
+
import GroupDescriptionModal from "./GroupDescriptionModal.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
9
|
+
const EXTRA_TEXT_LENGTH = 14; // Length of "...View More" text
|
|
10
|
+
const MAX_LINES = 2;
|
|
11
|
+
const ChatInfoDescriptionRow = /*#__PURE__*/memo(({
|
|
12
|
+
introduction,
|
|
13
|
+
groupName
|
|
14
|
+
}) => {
|
|
15
|
+
const [modalVisible, setModalVisible] = useState(false);
|
|
16
|
+
const handlePressDescription = useCallback(() => setModalVisible(true), []);
|
|
17
|
+
const handleCloseDescription = useCallback(() => setModalVisible(false), []);
|
|
18
|
+
const [isTruncated, setIsTruncated] = useState(false);
|
|
19
|
+
const [displayedText, setDisplayedText] = useState(introduction);
|
|
20
|
+
const handleTextLayout = useCallback(event => {
|
|
21
|
+
const isTextTruncated = event.nativeEvent.lines.length > MAX_LINES;
|
|
22
|
+
setIsTruncated(isTextTruncated);
|
|
23
|
+
if (isTextTruncated) {
|
|
24
|
+
setDisplayedText(event.nativeEvent.lines.slice(0, MAX_LINES).map(line => line.text).join(' ').slice(0, -EXTRA_TEXT_LENGTH) + '...');
|
|
25
|
+
}
|
|
26
|
+
}, []);
|
|
27
|
+
const textProps = {
|
|
28
|
+
color: KColors.gray.dark,
|
|
29
|
+
typo: 'TextMdMedium',
|
|
30
|
+
paddingH: '0.75rem'
|
|
31
|
+
};
|
|
32
|
+
if (!introduction) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
36
|
+
children: [/*#__PURE__*/_jsxs(KContainer.View, {
|
|
37
|
+
background: KColors.white,
|
|
38
|
+
br: "3x",
|
|
39
|
+
marginH: "0.75rem",
|
|
40
|
+
marginT: "0.75rem",
|
|
41
|
+
paddingV: "0.75rem",
|
|
42
|
+
children: [/*#__PURE__*/_jsx(KLabel.Text, {
|
|
43
|
+
...textProps,
|
|
44
|
+
style: styles.hiddenText,
|
|
45
|
+
numberOfLines: MAX_LINES + 1,
|
|
46
|
+
onTextLayout: handleTextLayout,
|
|
47
|
+
children: introduction
|
|
48
|
+
}), /*#__PURE__*/_jsxs(KLabel.Text, {
|
|
49
|
+
...textProps,
|
|
50
|
+
numberOfLines: 2,
|
|
51
|
+
children: [displayedText, /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
52
|
+
visible: isTruncated,
|
|
53
|
+
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
54
|
+
...textProps,
|
|
55
|
+
color: KColors.primary.normal,
|
|
56
|
+
onPress: handlePressDescription,
|
|
57
|
+
children: trans('chat:info_view_more')
|
|
58
|
+
})
|
|
59
|
+
})]
|
|
60
|
+
})]
|
|
61
|
+
}), /*#__PURE__*/_jsx(GroupDescriptionModal, {
|
|
62
|
+
visible: modalVisible,
|
|
63
|
+
groupName: groupName,
|
|
64
|
+
introduction: introduction,
|
|
65
|
+
onClose: handleCloseDescription
|
|
66
|
+
})]
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
export default ChatInfoDescriptionRow;
|
|
70
|
+
const styles = StyleSheet.create({
|
|
71
|
+
hiddenText: {
|
|
72
|
+
position: 'absolute',
|
|
73
|
+
opacity: 0,
|
|
74
|
+
zIndex: -1
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=ChatInfoDescriptionRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useState","StyleSheet","KContainer","KLabel","KColors","trans","GroupDescriptionModal","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EXTRA_TEXT_LENGTH","MAX_LINES","ChatInfoDescriptionRow","introduction","groupName","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":"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","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
import { Modal, StyleSheet } from 'react-native';
|
|
5
|
+
import { KContainer, KNavigation, KLabel, KColors } from '@droppii/libs';
|
|
6
|
+
import { trans } from "../../translation/index.js";
|
|
7
|
+
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
const GroupDescriptionModal = /*#__PURE__*/memo(({
|
|
10
|
+
visible,
|
|
11
|
+
groupName,
|
|
12
|
+
introduction,
|
|
13
|
+
onClose
|
|
14
|
+
}) => /*#__PURE__*/_jsx(Modal, {
|
|
15
|
+
visible: visible,
|
|
16
|
+
transparent: false,
|
|
17
|
+
statusBarTranslucent: true,
|
|
18
|
+
style: styles.modal,
|
|
19
|
+
presentationStyle: "fullScreen",
|
|
20
|
+
animationType: "slide",
|
|
21
|
+
onRequestClose: onClose,
|
|
22
|
+
children: /*#__PURE__*/_jsx(SafeAreaProvider, {
|
|
23
|
+
children: /*#__PURE__*/_jsxs(KContainer.Page, {
|
|
24
|
+
flex: true,
|
|
25
|
+
edges: ['bottom'],
|
|
26
|
+
background: KColors.white,
|
|
27
|
+
children: [/*#__PURE__*/_jsx(KNavigation.Header, {
|
|
28
|
+
theme: "light",
|
|
29
|
+
alignment: "left",
|
|
30
|
+
size: "small",
|
|
31
|
+
leftButton: {
|
|
32
|
+
id: 'GroupDescriptionModalCloseButton',
|
|
33
|
+
icon: {
|
|
34
|
+
vectorName: 'close-o'
|
|
35
|
+
},
|
|
36
|
+
onPress: onClose
|
|
37
|
+
},
|
|
38
|
+
title: trans('chat:group_description_title'),
|
|
39
|
+
subTitle: groupName,
|
|
40
|
+
shadow: true
|
|
41
|
+
}), /*#__PURE__*/_jsx(KLabel.Text, {
|
|
42
|
+
paddingH: "1rem",
|
|
43
|
+
paddingT: "0.75rem",
|
|
44
|
+
typo: "TextMdNormal",
|
|
45
|
+
color: KColors.gray.dark,
|
|
46
|
+
children: introduction
|
|
47
|
+
})]
|
|
48
|
+
})
|
|
49
|
+
})
|
|
50
|
+
}));
|
|
51
|
+
GroupDescriptionModal.displayName = 'GroupDescriptionModal';
|
|
52
|
+
export default GroupDescriptionModal;
|
|
53
|
+
const styles = StyleSheet.create({
|
|
54
|
+
modal: {
|
|
55
|
+
flex: 1
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=GroupDescriptionModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","Modal","StyleSheet","KContainer","KNavigation","KLabel","KColors","trans","SafeAreaProvider","jsx","_jsx","jsxs","_jsxs","GroupDescriptionModal","visible","groupName","introduction","onClose","transparent","statusBarTranslucent","style","styles","modal","presentationStyle","animationType","onRequestClose","children","Page","flex","edges","background","white","Header","theme","alignment","size","leftButton","id","icon","vectorName","onPress","title","subTitle","shadow","Text","paddingH","paddingT","typo","color","gray","dark","displayName","create"],"sourceRoot":"../../../../src","sources":["screens/ChatInfo/GroupDescriptionModal.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,KAAK,EAAEC,UAAU,QAAQ,cAAc;AAChD,SAASC,UAAU,EAAEC,WAAW,EAAEC,MAAM,EAAEC,OAAO,QAAQ,eAAe;AACxE,SAASC,KAAK,QAAQ,4BAAmB;AACzC,SAASC,gBAAgB,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASlE,MAAMC,qBAAqB,gBAAGb,IAAI,CAChC,CAAC;EACCc,OAAO;EACPC,SAAS;EACTC,YAAY;EACZC;AAC0B,CAAC,kBAC3BP,IAAA,CAACT,KAAK;EACJa,OAAO,EAAEA,OAAQ;EACjBI,WAAW,EAAE,KAAM;EACnBC,oBAAoB;EACpBC,KAAK,EAAEC,MAAM,CAACC,KAAM;EACpBC,iBAAiB,EAAC,YAAY;EAC9BC,aAAa,EAAC,OAAO;EACrBC,cAAc,EAAER,OAAQ;EAAAS,QAAA,eAExBhB,IAAA,CAACF,gBAAgB;IAAAkB,QAAA,eACfd,KAAA,CAACT,UAAU,CAACwB,IAAI;MAACC,IAAI;MAACC,KAAK,EAAE,CAAC,QAAQ,CAAE;MAACC,UAAU,EAAExB,OAAO,CAACyB,KAAM;MAAAL,QAAA,gBACjEhB,IAAA,CAACN,WAAW,CAAC4B,MAAM;QACjBC,KAAK,EAAC,OAAO;QACbC,SAAS,EAAC,MAAM;QAChBC,IAAI,EAAC,OAAO;QACZC,UAAU,EAAE;UACVC,EAAE,EAAE,kCAAkC;UACtCC,IAAI,EAAE;YAAEC,UAAU,EAAE;UAAU,CAAC;UAC/BC,OAAO,EAAEvB;QACX,CAAE;QACFwB,KAAK,EAAElC,KAAK,CAAC,8BAA8B,CAAE;QAC7CmC,QAAQ,EAAE3B,SAAU;QACpB4B,MAAM;MAAA,CACP,CAAC,eACFjC,IAAA,CAACL,MAAM,CAACuC,IAAI;QACVC,QAAQ,EAAC,MAAM;QACfC,QAAQ,EAAC,SAAS;QAClBC,IAAI,EAAC,cAAc;QACnBC,KAAK,EAAE1C,OAAO,CAAC2C,IAAI,CAACC,IAAK;QAAAxB,QAAA,EAExBV;MAAY,CACF,CAAC;IAAA,CACC;EAAC,CACF;AAAC,CACd,CAEX,CAAC;AAEDH,qBAAqB,CAACsC,WAAW,GAAG,uBAAuB;AAE3D,eAAetC,qBAAqB;AAEpC,MAAMQ,MAAM,GAAGnB,UAAU,CAACkD,MAAM,CAAC;EAC/B9B,KAAK,EAAE;IACLM,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -85,6 +85,9 @@ const i18nKey = {
|
|
|
85
85
|
'chat:info_pin_message': 'Ghim trò chuyện',
|
|
86
86
|
'chat:info_unpin_message': 'Bỏ ghim trò chuyện',
|
|
87
87
|
'chat:info_delete_history': 'Xoá lịch sử trò chuyện',
|
|
88
|
+
'chat:info_leave_group': 'Rời nhóm',
|
|
89
|
+
'chat:info_view_more': 'Xem thêm',
|
|
90
|
+
'chat:group_description_title': 'Mô tả nhóm',
|
|
88
91
|
'start': 'Bắt đầu',
|
|
89
92
|
'restart': 'Bắt đầu lại',
|
|
90
93
|
'gallery': 'Ảnh/Video',
|
|
@@ -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":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PeerType","SessionType","conversationCompare","a","b","isPinned","aCompare","draftTextTime","latestMsgSendTime","bCompare","getConversationID","sessionType","senderID","receiverID","prefix","Single","Notification","filter","Boolean","join","sortConversation","map","list","Object","keys","sort","getBotId","conversation","peerType","Bot","id","JSON","parse","ex","sessionInfo","data","botId","_","undefined"],"sourceRoot":"../../../src","sources":["utils/conversation.ts"],"mappings":";;AAAA,SACEA,QAAQ,EACRC,WAAW,QAEN,+BAA+B;AAEtC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,CAAmB,EACnBC,CAAmB,KAChB;EACH,IAAID,CAAC,CAACE,QAAQ,KAAKD,CAAC,CAACC,QAAQ,EAAE,OAAOF,CAAC,CAACE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;EAEzD,MAAMC,QAAQ,GACZH,CAAC,CAACI,aAAa,GAAGJ,CAAC,CAACK,iBAAiB,GACjCL,CAAC,CAACI,aAAa,GACfJ,CAAC,CAACK,iBAAiB;EACzB,MAAMC,QAAQ,GACZL,CAAC,CAACG,aAAa,GAAGH,CAAC,CAACI,iBAAiB,GACjCJ,CAAC,CAACG,aAAa,GACfH,CAAC,CAACI,iBAAiB;EAEzB,OAAOC,QAAQ,GAAGH,QAAQ;AAC5B,CAAC;AAED,OAAO,MAAMI,iBAAiB,GAAGA,CAC/BC,WAAwB,EACxBC,QAAiB,EACjBC,UAAmB,KAChB;EACH,MAAMC,MAAM,GACVH,WAAW,KAAKV,WAAW,CAACc,MAAM,GAC9B,IAAI,GACJJ,WAAW,KAAKV,WAAW,CAACe,YAAY,GACtC,IAAI,GACJ,IAAI;EAEZ,OAAO,CAACF,MAAM,EAAEF,QAAQ,EAAEC,UAAU,CAAC,CAACI,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AACjE,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAIC,GAAqC,IAAK;EACzE,MAAMC,IAAI,GAAGC,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,IAAI,CAAC,CAACtB,CAAC,EAAEC,CAAC,KACtCF,mBAAmB,CAACmB,GAAG,CAAClB,CAAC,CAAC,EAAGkB,GAAG,CAACjB,CAAC,CAAE,CACtC,CAAC;EACD,OAAO;IAAEiB,GAAG;IAAEC;EAAK,CAAC;AACtB,CAAC;AAED,OAAO,MAAMI,QAAQ,GAAIC,YAA+B,IAAK;EAC3D,IAAIA,YAAY,IAAIA,YAAY,EAAEC,QAAQ,KAAK5B,QAAQ,CAAC6B,GAAG,EAAE;IAC3D,IAAI;MACF,MAAMC,EAAE,GAAGC,IAAI,CAACC,KAAK,CAACL,YAAY,EAAEM,EAAE,IAAI,IAAI,CAAC,EAAEC,WAAW,EAAEC,IAAI,EAAEC,KAAK;MACzE,OAAON,EAAE;MACT;IACF,CAAC,CAAC,OAAOO,CAAM,EAAE;MACf,OAAOC,SAAS;IAClB;EACF;EACA,OAAOA,SAAS;AAClB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PeerType","SessionType","conversationCompare","a","b","isPinned","aCompare","draftTextTime","latestMsgSendTime","bCompare","getConversationID","sessionType","senderID","receiverID","prefix","Single","Notification","filter","Boolean","join","sortConversation","map","list","Object","keys","sort","getBotId","conversation","peerType","Bot","id","JSON","parse","ex","sessionInfo","data","botId","_","undefined","isGroupConversation","Group"],"sourceRoot":"../../../src","sources":["utils/conversation.ts"],"mappings":";;AAAA,SACEA,QAAQ,EACRC,WAAW,QAEN,+BAA+B;AAEtC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,CAAmB,EACnBC,CAAmB,KAChB;EACH,IAAID,CAAC,CAACE,QAAQ,KAAKD,CAAC,CAACC,QAAQ,EAAE,OAAOF,CAAC,CAACE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;EAEzD,MAAMC,QAAQ,GACZH,CAAC,CAACI,aAAa,GAAGJ,CAAC,CAACK,iBAAiB,GACjCL,CAAC,CAACI,aAAa,GACfJ,CAAC,CAACK,iBAAiB;EACzB,MAAMC,QAAQ,GACZL,CAAC,CAACG,aAAa,GAAGH,CAAC,CAACI,iBAAiB,GACjCJ,CAAC,CAACG,aAAa,GACfH,CAAC,CAACI,iBAAiB;EAEzB,OAAOC,QAAQ,GAAGH,QAAQ;AAC5B,CAAC;AAED,OAAO,MAAMI,iBAAiB,GAAGA,CAC/BC,WAAwB,EACxBC,QAAiB,EACjBC,UAAmB,KAChB;EACH,MAAMC,MAAM,GACVH,WAAW,KAAKV,WAAW,CAACc,MAAM,GAC9B,IAAI,GACJJ,WAAW,KAAKV,WAAW,CAACe,YAAY,GACtC,IAAI,GACJ,IAAI;EAEZ,OAAO,CAACF,MAAM,EAAEF,QAAQ,EAAEC,UAAU,CAAC,CAACI,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AACjE,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAIC,GAAqC,IAAK;EACzE,MAAMC,IAAI,GAAGC,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,IAAI,CAAC,CAACtB,CAAC,EAAEC,CAAC,KACtCF,mBAAmB,CAACmB,GAAG,CAAClB,CAAC,CAAC,EAAGkB,GAAG,CAACjB,CAAC,CAAE,CACtC,CAAC;EACD,OAAO;IAAEiB,GAAG;IAAEC;EAAK,CAAC;AACtB,CAAC;AAED,OAAO,MAAMI,QAAQ,GAAIC,YAA+B,IAAK;EAC3D,IAAIA,YAAY,IAAIA,YAAY,EAAEC,QAAQ,KAAK5B,QAAQ,CAAC6B,GAAG,EAAE;IAC3D,IAAI;MACF,MAAMC,EAAE,GAAGC,IAAI,CAACC,KAAK,CAACL,YAAY,EAAEM,EAAE,IAAI,IAAI,CAAC,EAAEC,WAAW,EAAEC,IAAI,EAAEC,KAAK;MACzE,OAAON,EAAE;MACT;IACF,CAAC,CAAC,OAAOO,CAAM,EAAE;MACf,OAAOC,SAAS;IAClB;EACF;EACA,OAAOA,SAAS;AAClB,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAC9BZ,YAAsE,IACnE;EACH,OAAOA,YAAY,EAAEC,QAAQ,KAAK5B,QAAQ,CAACwC,KAAK;AAClD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGetGroupInfo.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/conversation/useGetGroupInfo.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,GAAI,gBAAY,sHAaxC,CAAC"}
|
|
@@ -19,6 +19,7 @@ export declare const conversationQueryKeys: {
|
|
|
19
19
|
detailBySourceId: (sourceId: string) => string[];
|
|
20
20
|
joinedGroup: (groupId?: string) => string[];
|
|
21
21
|
create: (userId?: string) => string[];
|
|
22
|
+
groupInfo: (groupId: string) => readonly ["groupInfo", string];
|
|
22
23
|
};
|
|
23
24
|
export declare const usersQueryKeys: {
|
|
24
25
|
all: readonly ["users"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../../../../src/hooks/query-keys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;uBAEP,MAAM;CAC1B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;4BAGR,MAAM;;6BAGL,MAAM;0BAET,MAAM;yCACS,MAAM;2BAEpB,MAAM;mCACE,MAAM;gCAIT,MAAM;8BAIR,MAAM;mCACD,MAAM;2BAId,MAAM;iCACA,MAAM;4BACX,MAAM;sBACZ,MAAM;
|
|
1
|
+
{"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../../../../src/hooks/query-keys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;uBAEP,MAAM;CAC1B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;4BAGR,MAAM;;6BAGL,MAAM;0BAET,MAAM;yCACS,MAAM;2BAEpB,MAAM;mCACE,MAAM;gCAIT,MAAM;8BAIR,MAAM;mCACD,MAAM;2BAId,MAAM;iCACA,MAAM;4BACX,MAAM;sBACZ,MAAM;yBACH,MAAM;CAC5B,CAAC;AAEF,eAAO,MAAM,cAAc;;oBAET,MAAM,EAAE;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC;AAEjE,eAAO,MAAM,gBAAgB;;;6BAGF,MAAM;;CAGhC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;qBAEjB,MAAM,eAAe,MAAM;CAE7C,CAAC;AAEF,eAAO,MAAM,gBAAgB;;oBAEX,MAAM,mBAAmB,MAAM;CAEhD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ChatInfoProps } from './types';
|
|
2
|
-
declare const ChatInfo: import("react").MemoExoticComponent<({ conversationId, onBack, onPressSearch, onPressMedia, onPressOrders, onPressCreateGroup, onPressAddToGroup, }: ChatInfoProps) => import("react").JSX.Element>;
|
|
2
|
+
declare const ChatInfo: import("react").MemoExoticComponent<({ conversationId, onBack, onPressSearch, onPressMedia, onPressOrders, onPressCreateGroup, onPressAddToGroup, onPressLeaveGroup, }: ChatInfoProps) => import("react").JSX.Element>;
|
|
3
3
|
export default ChatInfo;
|
|
4
4
|
//# sourceMappingURL=ChatInfo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInfo.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfo.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChatInfo.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfo.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C,QAAA,MAAM,QAAQ,0KAUT,aAAa,iCAkDjB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -2,10 +2,12 @@ import type { ConversationItem } from '@droppii/openim-rn-client-sdk';
|
|
|
2
2
|
interface ChatInfoActionsProps {
|
|
3
3
|
conversation?: ConversationItem;
|
|
4
4
|
isTargetActive: boolean;
|
|
5
|
+
isGroup?: boolean;
|
|
5
6
|
onPressOrders?: () => void;
|
|
6
7
|
onPressCreateGroup?: () => void;
|
|
7
8
|
onPressAddToGroup?: () => void;
|
|
9
|
+
onPressLeaveGroup?: () => void;
|
|
8
10
|
}
|
|
9
|
-
declare const ChatInfoActions: import("react").MemoExoticComponent<({ conversation, isTargetActive, onPressOrders, onPressCreateGroup, onPressAddToGroup, }: ChatInfoActionsProps) => import("react").JSX.Element>;
|
|
11
|
+
declare const ChatInfoActions: import("react").MemoExoticComponent<({ conversation, isTargetActive, isGroup, onPressOrders, onPressCreateGroup, onPressAddToGroup, onPressLeaveGroup, }: ChatInfoActionsProps) => import("react").JSX.Element>;
|
|
10
12
|
export default ChatInfoActions;
|
|
11
13
|
//# sourceMappingURL=ChatInfoActions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInfoActions.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfoActions.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAItE,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,QAAA,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"ChatInfoActions.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfoActions.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAItE,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,QAAA,MAAM,eAAe,4JAShB,oBAAoB,iCAuKxB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface ChatInfoDescriptionRowProps {
|
|
2
|
+
introduction?: string;
|
|
3
|
+
groupName?: string;
|
|
4
|
+
}
|
|
5
|
+
declare const ChatInfoDescriptionRow: import("react").MemoExoticComponent<({ introduction, groupName }: ChatInfoDescriptionRowProps) => import("react").JSX.Element>;
|
|
6
|
+
export default ChatInfoDescriptionRow;
|
|
7
|
+
//# sourceMappingURL=ChatInfoDescriptionRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatInfoDescriptionRow.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfoDescriptionRow.tsx"],"names":[],"mappings":"AAMA,UAAU,2BAA2B;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,QAAA,MAAM,sBAAsB,oEACI,2BAA2B,iCA4E1D,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface GroupDescriptionModalProps {
|
|
2
|
+
visible: boolean;
|
|
3
|
+
groupName?: string;
|
|
4
|
+
introduction?: string;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
}
|
|
7
|
+
declare const GroupDescriptionModal: import("react").MemoExoticComponent<({ visible, groupName, introduction, onClose, }: GroupDescriptionModalProps) => import("react").JSX.Element>;
|
|
8
|
+
export default GroupDescriptionModal;
|
|
9
|
+
//# sourceMappingURL=GroupDescriptionModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupDescriptionModal.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/GroupDescriptionModal.tsx"],"names":[],"mappings":"AAMA,UAAU,0BAA0B;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,qBAAqB,uFAMtB,0BAA0B,iCAqC9B,CAAC;AAIF,eAAe,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACzD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACzD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/translation/resources/i18n.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/translation/resources/i18n.ts"],"names":[],"mappings":";;;AAyIA,wBAEE"}
|
|
@@ -6,4 +6,5 @@ export declare const sortConversation: (map: Record<string, ConversationItem>) =
|
|
|
6
6
|
list: string[];
|
|
7
7
|
};
|
|
8
8
|
export declare const getBotId: (conversation?: ConversationItem) => any;
|
|
9
|
+
export declare const isGroupConversation: (conversation?: Pick<ConversationItem, "conversationType" | "peerType">) => boolean;
|
|
9
10
|
//# sourceMappingURL=conversation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../src/utils/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,KAAK,gBAAgB,EACtB,MAAM,+BAA+B,CAAC;AAEvC,eAAO,MAAM,mBAAmB,GAC9B,GAAG,gBAAgB,EACnB,GAAG,gBAAgB,WAcpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,aAAa,WAAW,EACxB,WAAW,MAAM,EACjB,aAAa,MAAM,WAUpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;;;CAKrE,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,eAAe,gBAAgB,QAWvD,CAAC"}
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../src/utils/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,KAAK,gBAAgB,EACtB,MAAM,+BAA+B,CAAC;AAEvC,eAAO,MAAM,mBAAmB,GAC9B,GAAG,gBAAgB,EACnB,GAAG,gBAAgB,WAcpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,aAAa,WAAW,EACxB,WAAW,MAAM,EACjB,aAAa,MAAM,WAUpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;;;CAKrE,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,eAAe,gBAAgB,QAWvD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,eAAe,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,UAAU,CAAC,YAGvE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@droppii-org/chat-mobile",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.66",
|
|
4
4
|
"description": "Droppii chat mobile",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"example-legacy": "yarn workspace @droppii-org/chat-mobile-example-legacy"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@droppii/openim-rn-client-sdk": "git+ssh://git@github.com/droppii/open-im-sdk-reactnative.git#v1.0.0-
|
|
72
|
+
"@droppii/openim-rn-client-sdk": "git+ssh://git@github.com/droppii/open-im-sdk-reactnative.git#v1.0.0-rc24",
|
|
73
73
|
"@legendapp/list": "^3.0.6",
|
|
74
74
|
"axios": "^1.16.1",
|
|
75
75
|
"lodash": "^4.18.1",
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useQuery } from '@tanstack/react-query';
|
|
2
|
+
import OpenIMSDK from '@droppii/openim-rn-client-sdk';
|
|
3
|
+
import { conversationQueryKeys } from '../query-keys';
|
|
4
|
+
|
|
5
|
+
export const useGetGroupInfo = (groupId = '') =>
|
|
6
|
+
useQuery({
|
|
7
|
+
queryKey: conversationQueryKeys.groupInfo(groupId),
|
|
8
|
+
queryFn: async () => {
|
|
9
|
+
try {
|
|
10
|
+
const res = await OpenIMSDK.getSpecifiedGroupsInfo([groupId]);
|
|
11
|
+
return res?.[0];
|
|
12
|
+
} catch (error) {
|
|
13
|
+
console.error('useGetGroupInfo error:', error);
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
enabled: !!groupId,
|
|
18
|
+
});
|
package/src/hooks/query-keys.ts
CHANGED
|
@@ -32,6 +32,7 @@ export const conversationQueryKeys = {
|
|
|
32
32
|
detailBySourceId: (sourceId: string) => ['detailBySourceId', sourceId],
|
|
33
33
|
joinedGroup: (groupId?: string) => [...conversationQueryKeys.all, groupId],
|
|
34
34
|
create: (userId?: string) => ['create', userId],
|
|
35
|
+
groupInfo: (groupId: string) => ['groupInfo', groupId] as const,
|
|
35
36
|
};
|
|
36
37
|
|
|
37
38
|
export const usersQueryKeys = {
|
|
@@ -2,12 +2,15 @@ import { memo } from 'react';
|
|
|
2
2
|
import { KContainer, KNavigation } from '@droppii/libs';
|
|
3
3
|
import { useNavigation } from '@react-navigation/native';
|
|
4
4
|
import { useGetConversationTarget } from '../../hooks/conversation/useGetConversationDetail';
|
|
5
|
+
import { useGetGroupInfo } from '../../hooks/conversation/useGetGroupInfo';
|
|
5
6
|
import { useConversation } from '../../store';
|
|
6
7
|
import ChatInfoProfile from './ChatInfoProfile';
|
|
7
8
|
import ChatInfoMediaRow from './ChatInfoMediaRow';
|
|
9
|
+
import ChatInfoDescriptionRow from './ChatInfoDescriptionRow';
|
|
8
10
|
import ChatInfoActions from './ChatInfoActions';
|
|
9
11
|
import type { ChatInfoProps } from './types';
|
|
10
12
|
import { trans } from '../../translation';
|
|
13
|
+
import { isGroupConversation } from '../../utils/conversation';
|
|
11
14
|
|
|
12
15
|
const ChatInfo = memo(
|
|
13
16
|
({
|
|
@@ -18,12 +21,17 @@ const ChatInfo = memo(
|
|
|
18
21
|
onPressOrders,
|
|
19
22
|
onPressCreateGroup,
|
|
20
23
|
onPressAddToGroup,
|
|
24
|
+
onPressLeaveGroup,
|
|
21
25
|
}: ChatInfoProps) => {
|
|
22
26
|
const navigation = useNavigation();
|
|
23
27
|
|
|
24
28
|
const conversation = useConversation(conversationId);
|
|
25
29
|
const { data: target } = useGetConversationTarget(conversationId);
|
|
26
30
|
const isTargetActive = target ? target.isActive : true;
|
|
31
|
+
const isGroup = isGroupConversation(conversation);
|
|
32
|
+
const { data: groupInfo } = useGetGroupInfo(
|
|
33
|
+
isGroup ? conversation?.groupID : undefined
|
|
34
|
+
);
|
|
27
35
|
|
|
28
36
|
return (
|
|
29
37
|
<KContainer.Page flex edges={['bottom']} background="#EBEDF2">
|
|
@@ -45,12 +53,20 @@ const ChatInfo = memo(
|
|
|
45
53
|
onPressSearch={onPressSearch}
|
|
46
54
|
/>
|
|
47
55
|
<ChatInfoMediaRow onPressMedia={onPressMedia} />
|
|
56
|
+
<KContainer.VisibleView visible={isGroup}>
|
|
57
|
+
<ChatInfoDescriptionRow
|
|
58
|
+
introduction={groupInfo?.introduction}
|
|
59
|
+
groupName={conversation?.showName}
|
|
60
|
+
/>
|
|
61
|
+
</KContainer.VisibleView>
|
|
48
62
|
<ChatInfoActions
|
|
49
63
|
conversation={conversation}
|
|
50
64
|
isTargetActive={isTargetActive}
|
|
65
|
+
isGroup={isGroup}
|
|
51
66
|
onPressOrders={onPressOrders}
|
|
52
67
|
onPressCreateGroup={onPressCreateGroup}
|
|
53
68
|
onPressAddToGroup={onPressAddToGroup}
|
|
69
|
+
onPressLeaveGroup={onPressLeaveGroup}
|
|
54
70
|
/>
|
|
55
71
|
</KContainer.ScrollView>
|
|
56
72
|
</KContainer.Page>
|
|
@@ -13,18 +13,22 @@ import { trans } from '../../translation';
|
|
|
13
13
|
interface ChatInfoActionsProps {
|
|
14
14
|
conversation?: ConversationItem;
|
|
15
15
|
isTargetActive: boolean;
|
|
16
|
+
isGroup?: boolean;
|
|
16
17
|
onPressOrders?: () => void;
|
|
17
18
|
onPressCreateGroup?: () => void;
|
|
18
19
|
onPressAddToGroup?: () => void;
|
|
20
|
+
onPressLeaveGroup?: () => void;
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
const ChatInfoActions = memo(
|
|
22
24
|
({
|
|
23
25
|
conversation,
|
|
24
26
|
isTargetActive,
|
|
27
|
+
isGroup,
|
|
25
28
|
onPressOrders,
|
|
26
29
|
onPressCreateGroup,
|
|
27
30
|
onPressAddToGroup,
|
|
31
|
+
onPressLeaveGroup,
|
|
28
32
|
}: ChatInfoActionsProps) => {
|
|
29
33
|
const { pinConversation, unpinConversation } = usePinConversation();
|
|
30
34
|
const isPinned = Boolean(conversation?.isPinned);
|
|
@@ -41,8 +45,10 @@ const ChatInfoActions = memo(
|
|
|
41
45
|
const handleDeleteHistory = useCallback(() => {}, []);
|
|
42
46
|
|
|
43
47
|
const primaryData = useMemo(() => {
|
|
44
|
-
const items: KListItemBaseItemProps[] = [
|
|
45
|
-
|
|
48
|
+
const items: KListItemBaseItemProps[] = [];
|
|
49
|
+
|
|
50
|
+
if (!isGroup) {
|
|
51
|
+
items.push({
|
|
46
52
|
leftNode: { icon: { vectorName: 'receipt-o' } },
|
|
47
53
|
onPress: onPressOrders,
|
|
48
54
|
paddingH: '0.75rem',
|
|
@@ -52,34 +58,34 @@ const ChatInfoActions = memo(
|
|
|
52
58
|
{trans('chat:info_orders', { name: showName })}
|
|
53
59
|
</KLabel.Text>
|
|
54
60
|
),
|
|
55
|
-
}
|
|
56
|
-
];
|
|
61
|
+
});
|
|
57
62
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
63
|
+
if (isTargetActive) {
|
|
64
|
+
items.push(
|
|
65
|
+
{
|
|
66
|
+
leftNode: { icon: { vectorName: 'user-three-o' } },
|
|
67
|
+
onPress: onPressCreateGroup,
|
|
68
|
+
paddingH: '0.75rem',
|
|
69
|
+
paddingV: '0.75rem',
|
|
70
|
+
customLabel: (
|
|
71
|
+
<KLabel.Text typo="TextMdMedium" numberOfLines={1}>
|
|
72
|
+
{trans('chat:info_create_group', { name: showName })}
|
|
73
|
+
</KLabel.Text>
|
|
74
|
+
),
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
leftNode: { icon: { vectorName: 'user-add-o' } },
|
|
78
|
+
onPress: onPressAddToGroup,
|
|
79
|
+
paddingH: '0.75rem',
|
|
80
|
+
paddingV: '0.75rem',
|
|
81
|
+
customLabel: (
|
|
82
|
+
<KLabel.Text typo="TextMdMedium" numberOfLines={1}>
|
|
83
|
+
{trans('chat:info_add_to_group')}
|
|
84
|
+
</KLabel.Text>
|
|
85
|
+
),
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
}
|
|
83
89
|
}
|
|
84
90
|
|
|
85
91
|
items.push({
|
|
@@ -102,6 +108,7 @@ const ChatInfoActions = memo(
|
|
|
102
108
|
return items;
|
|
103
109
|
}, [
|
|
104
110
|
showName,
|
|
111
|
+
isGroup,
|
|
105
112
|
isTargetActive,
|
|
106
113
|
isPinned,
|
|
107
114
|
onPressOrders,
|
|
@@ -110,8 +117,35 @@ const ChatInfoActions = memo(
|
|
|
110
117
|
handlePinPress,
|
|
111
118
|
]);
|
|
112
119
|
|
|
113
|
-
const
|
|
114
|
-
()
|
|
120
|
+
const dangerData: KListItemBaseItemProps[] = useMemo(() => {
|
|
121
|
+
if (isGroup) {
|
|
122
|
+
return [
|
|
123
|
+
{
|
|
124
|
+
leftNode: {
|
|
125
|
+
icon: {
|
|
126
|
+
vectorName: 'logout-o',
|
|
127
|
+
tintColor: KColors.danger.normal,
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
tintColor: KColors.danger.normal,
|
|
131
|
+
onPress: onPressLeaveGroup,
|
|
132
|
+
showChevron: false,
|
|
133
|
+
paddingH: '0.75rem',
|
|
134
|
+
paddingV: '0.75rem',
|
|
135
|
+
customLabel: (
|
|
136
|
+
<KLabel.Text
|
|
137
|
+
typo="TextMdMedium"
|
|
138
|
+
color={KColors.danger.normal}
|
|
139
|
+
numberOfLines={1}
|
|
140
|
+
>
|
|
141
|
+
{trans('chat:info_leave_group')}
|
|
142
|
+
</KLabel.Text>
|
|
143
|
+
),
|
|
144
|
+
},
|
|
145
|
+
];
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return [
|
|
115
149
|
{
|
|
116
150
|
label: trans('chat:info_delete_history'),
|
|
117
151
|
leftNode: {
|
|
@@ -135,9 +169,8 @@ const ChatInfoActions = memo(
|
|
|
135
169
|
</KLabel.Text>
|
|
136
170
|
),
|
|
137
171
|
},
|
|
138
|
-
]
|
|
139
|
-
|
|
140
|
-
);
|
|
172
|
+
];
|
|
173
|
+
}, [isGroup, onPressLeaveGroup, handleDeleteHistory]);
|
|
141
174
|
|
|
142
175
|
return (
|
|
143
176
|
<>
|
|
@@ -158,7 +191,7 @@ const ChatInfoActions = memo(
|
|
|
158
191
|
marginT="0.75rem"
|
|
159
192
|
hiddenOverflow
|
|
160
193
|
>
|
|
161
|
-
<KListItem.Base data={
|
|
194
|
+
<KListItem.Base data={dangerData} />
|
|
162
195
|
</KContainer.View>
|
|
163
196
|
</>
|
|
164
197
|
);
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { memo, useCallback, useState } from 'react';
|
|
2
|
+
import { StyleSheet, type TextLayoutEvent } from 'react-native';
|
|
3
|
+
import { KContainer, KLabel, KColors } from '@droppii/libs';
|
|
4
|
+
import { trans } from '../../translation';
|
|
5
|
+
import GroupDescriptionModal from './GroupDescriptionModal';
|
|
6
|
+
|
|
7
|
+
interface ChatInfoDescriptionRowProps {
|
|
8
|
+
introduction?: string;
|
|
9
|
+
groupName?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const EXTRA_TEXT_LENGTH = 14; // Length of "...View More" text
|
|
13
|
+
const MAX_LINES = 2;
|
|
14
|
+
|
|
15
|
+
const ChatInfoDescriptionRow = memo(
|
|
16
|
+
({ introduction, groupName }: ChatInfoDescriptionRowProps) => {
|
|
17
|
+
const [modalVisible, setModalVisible] = useState(false);
|
|
18
|
+
const handlePressDescription = useCallback(() => setModalVisible(true), []);
|
|
19
|
+
const handleCloseDescription = useCallback(
|
|
20
|
+
() => setModalVisible(false),
|
|
21
|
+
[]
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
const [isTruncated, setIsTruncated] = useState(false);
|
|
25
|
+
const [displayedText, setDisplayedText] = useState(introduction);
|
|
26
|
+
|
|
27
|
+
const handleTextLayout = useCallback((event: TextLayoutEvent) => {
|
|
28
|
+
const isTextTruncated = event.nativeEvent.lines.length > MAX_LINES;
|
|
29
|
+
|
|
30
|
+
setIsTruncated(isTextTruncated);
|
|
31
|
+
|
|
32
|
+
if (isTextTruncated) {
|
|
33
|
+
setDisplayedText(
|
|
34
|
+
event.nativeEvent.lines
|
|
35
|
+
.slice(0, MAX_LINES)
|
|
36
|
+
.map((line) => line.text)
|
|
37
|
+
.join(' ')
|
|
38
|
+
.slice(0, -EXTRA_TEXT_LENGTH) + '...'
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}, []);
|
|
42
|
+
|
|
43
|
+
const textProps = {
|
|
44
|
+
color: KColors.gray.dark,
|
|
45
|
+
typo: 'TextMdMedium' as const,
|
|
46
|
+
paddingH: '0.75rem' as const,
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
if (!introduction) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return (
|
|
54
|
+
<>
|
|
55
|
+
<KContainer.View
|
|
56
|
+
background={KColors.white}
|
|
57
|
+
br="3x"
|
|
58
|
+
marginH="0.75rem"
|
|
59
|
+
marginT="0.75rem"
|
|
60
|
+
paddingV="0.75rem"
|
|
61
|
+
>
|
|
62
|
+
<KLabel.Text
|
|
63
|
+
{...textProps}
|
|
64
|
+
style={styles.hiddenText}
|
|
65
|
+
numberOfLines={MAX_LINES + 1}
|
|
66
|
+
onTextLayout={handleTextLayout}
|
|
67
|
+
>
|
|
68
|
+
{introduction}
|
|
69
|
+
</KLabel.Text>
|
|
70
|
+
<KLabel.Text {...textProps} numberOfLines={2}>
|
|
71
|
+
{displayedText}
|
|
72
|
+
<KContainer.VisibleView visible={isTruncated}>
|
|
73
|
+
<KLabel.Text
|
|
74
|
+
{...textProps}
|
|
75
|
+
color={KColors.primary.normal}
|
|
76
|
+
onPress={handlePressDescription}
|
|
77
|
+
>
|
|
78
|
+
{trans('chat:info_view_more')}
|
|
79
|
+
</KLabel.Text>
|
|
80
|
+
</KContainer.VisibleView>
|
|
81
|
+
</KLabel.Text>
|
|
82
|
+
</KContainer.View>
|
|
83
|
+
<GroupDescriptionModal
|
|
84
|
+
visible={modalVisible}
|
|
85
|
+
groupName={groupName}
|
|
86
|
+
introduction={introduction}
|
|
87
|
+
onClose={handleCloseDescription}
|
|
88
|
+
/>
|
|
89
|
+
</>
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
export default ChatInfoDescriptionRow;
|
|
95
|
+
|
|
96
|
+
const styles = StyleSheet.create({
|
|
97
|
+
hiddenText: {
|
|
98
|
+
position: 'absolute',
|
|
99
|
+
opacity: 0,
|
|
100
|
+
zIndex: -1,
|
|
101
|
+
},
|
|
102
|
+
});
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { memo } from 'react';
|
|
2
|
+
import { Modal, StyleSheet } from 'react-native';
|
|
3
|
+
import { KContainer, KNavigation, KLabel, KColors } from '@droppii/libs';
|
|
4
|
+
import { trans } from '../../translation';
|
|
5
|
+
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
6
|
+
|
|
7
|
+
interface GroupDescriptionModalProps {
|
|
8
|
+
visible: boolean;
|
|
9
|
+
groupName?: string;
|
|
10
|
+
introduction?: string;
|
|
11
|
+
onClose: () => void;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const GroupDescriptionModal = memo(
|
|
15
|
+
({
|
|
16
|
+
visible,
|
|
17
|
+
groupName,
|
|
18
|
+
introduction,
|
|
19
|
+
onClose,
|
|
20
|
+
}: GroupDescriptionModalProps) => (
|
|
21
|
+
<Modal
|
|
22
|
+
visible={visible}
|
|
23
|
+
transparent={false}
|
|
24
|
+
statusBarTranslucent
|
|
25
|
+
style={styles.modal}
|
|
26
|
+
presentationStyle="fullScreen"
|
|
27
|
+
animationType="slide"
|
|
28
|
+
onRequestClose={onClose}
|
|
29
|
+
>
|
|
30
|
+
<SafeAreaProvider>
|
|
31
|
+
<KContainer.Page flex edges={['bottom']} background={KColors.white}>
|
|
32
|
+
<KNavigation.Header
|
|
33
|
+
theme="light"
|
|
34
|
+
alignment="left"
|
|
35
|
+
size="small"
|
|
36
|
+
leftButton={{
|
|
37
|
+
id: 'GroupDescriptionModalCloseButton',
|
|
38
|
+
icon: { vectorName: 'close-o' },
|
|
39
|
+
onPress: onClose,
|
|
40
|
+
}}
|
|
41
|
+
title={trans('chat:group_description_title')}
|
|
42
|
+
subTitle={groupName}
|
|
43
|
+
shadow
|
|
44
|
+
/>
|
|
45
|
+
<KLabel.Text
|
|
46
|
+
paddingH="1rem"
|
|
47
|
+
paddingT="0.75rem"
|
|
48
|
+
typo="TextMdNormal"
|
|
49
|
+
color={KColors.gray.dark}
|
|
50
|
+
>
|
|
51
|
+
{introduction}
|
|
52
|
+
</KLabel.Text>
|
|
53
|
+
</KContainer.Page>
|
|
54
|
+
</SafeAreaProvider>
|
|
55
|
+
</Modal>
|
|
56
|
+
)
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
GroupDescriptionModal.displayName = 'GroupDescriptionModal';
|
|
60
|
+
|
|
61
|
+
export default GroupDescriptionModal;
|
|
62
|
+
|
|
63
|
+
const styles = StyleSheet.create({
|
|
64
|
+
modal: {
|
|
65
|
+
flex: 1,
|
|
66
|
+
},
|
|
67
|
+
});
|
|
@@ -92,6 +92,9 @@ const i18nKey: Record<string, string> = {
|
|
|
92
92
|
'chat:info_pin_message': 'Ghim trò chuyện',
|
|
93
93
|
'chat:info_unpin_message': 'Bỏ ghim trò chuyện',
|
|
94
94
|
'chat:info_delete_history': 'Xoá lịch sử trò chuyện',
|
|
95
|
+
'chat:info_leave_group': 'Rời nhóm',
|
|
96
|
+
'chat:info_view_more': 'Xem thêm',
|
|
97
|
+
'chat:group_description_title': 'Mô tả nhóm',
|
|
95
98
|
'start': 'Bắt đầu',
|
|
96
99
|
'restart': 'Bắt đầu lại',
|
|
97
100
|
'gallery': 'Ảnh/Video',
|
|
@@ -56,3 +56,9 @@ export const getBotId = (conversation?: ConversationItem) => {
|
|
|
56
56
|
}
|
|
57
57
|
return undefined;
|
|
58
58
|
};
|
|
59
|
+
|
|
60
|
+
export const isGroupConversation = (
|
|
61
|
+
conversation?: Pick<ConversationItem, 'conversationType' | 'peerType'>
|
|
62
|
+
) => {
|
|
63
|
+
return conversation?.peerType === PeerType.Group;
|
|
64
|
+
};
|