@droppii-org/chat-mobile 0.2.2 → 0.2.3
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/assets/images/icon_droppii.png +0 -0
- package/lib/module/assets/images/index.js +2 -1
- package/lib/module/assets/images/index.js.map +1 -1
- package/lib/module/components/Avatar/SingleAvatar.js +26 -6
- package/lib/module/components/Avatar/SingleAvatar.js.map +1 -1
- package/lib/module/components/ThreadCard/NamePrefixIcon.js +18 -1
- package/lib/module/components/ThreadCard/NamePrefixIcon.js.map +1 -1
- package/lib/module/components/ThreadCard/ThreadCard.js +3 -1
- package/lib/module/components/ThreadCard/ThreadCard.js.map +1 -1
- package/lib/module/context/ChatContext.js +31 -0
- package/lib/module/context/ChatContext.js.map +1 -0
- package/lib/module/context/index.js +4 -0
- package/lib/module/context/index.js.map +1 -0
- package/lib/module/core/useChatListener.js +0 -5
- package/lib/module/core/useChatListener.js.map +1 -1
- package/lib/module/hooks/useChatMessages.js +4 -8
- package/lib/module/hooks/useChatMessages.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/screens/inbox/MessagesTab.js +13 -0
- package/lib/module/screens/inbox/MessagesTab.js.map +1 -1
- package/lib/module/services/apis.js +2 -0
- package/lib/module/services/apis.js.map +1 -1
- package/lib/module/services/message.js +4 -2
- package/lib/module/services/message.js.map +1 -1
- package/lib/module/store/conversation.js +17 -20
- package/lib/module/store/conversation.js.map +1 -1
- package/lib/module/types/chat.js +5 -0
- package/lib/module/types/chat.js.map +1 -1
- package/lib/module/utils/conversation.js +6 -17
- package/lib/module/utils/conversation.js.map +1 -1
- package/lib/module/utils/message.js +34 -12
- package/lib/module/utils/message.js.map +1 -1
- package/lib/typescript/src/assets/images/index.d.ts +1 -0
- package/lib/typescript/src/assets/images/index.d.ts.map +1 -1
- package/lib/typescript/src/components/Avatar/SingleAvatar.d.ts +7 -6
- package/lib/typescript/src/components/Avatar/SingleAvatar.d.ts.map +1 -1
- package/lib/typescript/src/components/ThreadCard/NamePrefixIcon.d.ts.map +1 -1
- package/lib/typescript/src/context/ChatContext.d.ts +5 -0
- package/lib/typescript/src/context/ChatContext.d.ts.map +1 -0
- package/lib/typescript/src/context/index.d.ts +2 -0
- package/lib/typescript/src/context/index.d.ts.map +1 -0
- package/lib/typescript/src/core/useChatListener.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useChatMessages.d.ts +1 -3
- package/lib/typescript/src/hooks/useChatMessages.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/inbox/MessagesTab.d.ts.map +1 -1
- package/lib/typescript/src/services/apis.d.ts.map +1 -1
- package/lib/typescript/src/services/message.d.ts +0 -2
- package/lib/typescript/src/services/message.d.ts.map +1 -1
- package/lib/typescript/src/store/conversation.d.ts +1 -0
- package/lib/typescript/src/store/conversation.d.ts.map +1 -1
- package/lib/typescript/src/types/chat.d.ts +14 -2
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/lib/typescript/src/utils/conversation.d.ts +5 -4
- package/lib/typescript/src/utils/conversation.d.ts.map +1 -1
- package/lib/typescript/src/utils/message.d.ts +6 -2
- package/lib/typescript/src/utils/message.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/assets/images/icon_droppii.png +0 -0
- package/src/assets/images/index.ts +1 -0
- package/src/build-ignore.d.ts +3 -0
- package/src/components/Avatar/SingleAvatar.tsx +40 -17
- package/src/components/ThreadCard/NamePrefixIcon.tsx +17 -4
- package/src/components/ThreadCard/ThreadCard.tsx +1 -1
- package/src/context/ChatContext.tsx +23 -0
- package/src/context/index.ts +1 -0
- package/src/core/useChatListener.ts +0 -11
- package/src/hooks/useChatMessages.ts +26 -38
- package/src/index.tsx +1 -0
- package/src/screens/inbox/MessagesTab.tsx +11 -1
- package/src/services/apis.ts +2 -0
- package/src/services/message.ts +8 -7
- package/src/store/conversation.ts +25 -21
- package/src/types/chat.ts +20 -2
- package/src/utils/conversation.ts +6 -29
- package/src/utils/message.ts +36 -30
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { SessionType } from '@droppii/openim-rn-client-sdk';
|
|
4
|
-
import { DChatCategory } from "../types/chat.js";
|
|
5
4
|
export const conversationCompare = (a, b) => {
|
|
6
5
|
if (a.isPinned !== b.isPinned) return a.isPinned ? -1 : 1;
|
|
7
6
|
const aCompare = a.draftTextTime > a.latestMsgSendTime ? a.draftTextTime : a.latestMsgSendTime;
|
|
@@ -41,21 +40,11 @@ export const getConversationID = (sessionType, senderID, receiverID) => {
|
|
|
41
40
|
const prefix = sessionType === SessionType.Single ? 'si' : sessionType === SessionType.Notification ? 'sn' : 'sg';
|
|
42
41
|
return [prefix, senderID, receiverID].filter(Boolean).join('_');
|
|
43
42
|
};
|
|
44
|
-
export const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
const fullName = item.peer.fullName?.trim();
|
|
52
|
-
if (fullName) return fullName;
|
|
53
|
-
const username = item.peer.username?.trim();
|
|
54
|
-
if (username) return username;
|
|
55
|
-
return t('thread_card_fallback_name');
|
|
56
|
-
};
|
|
57
|
-
export const resolveAvatarUrl = item => {
|
|
58
|
-
if (isBotCrmChat(item.chatCategory)) return null;
|
|
59
|
-
return item.peer.avatar;
|
|
43
|
+
export const sortConversation = map => {
|
|
44
|
+
const list = Object.keys(map).sort((a, b) => dConversationCompare(map[a], map[b]));
|
|
45
|
+
return {
|
|
46
|
+
map,
|
|
47
|
+
list
|
|
48
|
+
};
|
|
60
49
|
};
|
|
61
50
|
//# sourceMappingURL=conversation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SessionType","
|
|
1
|
+
{"version":3,"names":["SessionType","conversationCompare","a","b","isPinned","aCompare","draftTextTime","latestMsgSendTime","bCompare","dConversationCompare","aIsPinned","pinnedAt","bIsPinned","aCreateTime","lastMessage","createTime","bCreateTime","mergeOpenIMIntoConversation","droppii","openim","latestMsg","conversationID","openimRest","JSON","parse","getConversationID","sessionType","senderID","receiverID","prefix","Single","Notification","filter","Boolean","join","sortConversation","map","list","Object","keys","sort"],"sourceRoot":"../../../src","sources":["utils/conversation.ts"],"mappings":";;AAAA,SACEA,WAAW,QAEN,+BAA+B;AAGtC,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,oBAAoB,GAAGA,CAClCP,CAAoB,EACpBC,CAAoB,KACjB;EACH,MAAMO,SAAS,GAAGR,CAAC,CAACS,QAAQ,IAAI,IAAI;EACpC,MAAMC,SAAS,GAAGT,CAAC,CAACQ,QAAQ,IAAI,IAAI;EAEpC,IAAID,SAAS,KAAKE,SAAS,EAAE,OAAOF,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;EAEtD,MAAMG,WAAW,GAAGX,CAAC,CAACY,WAAW,EAAEC,UAAU,IAAI,CAAC;EAClD,MAAMC,WAAW,GAAGb,CAAC,CAACW,WAAW,EAAEC,UAAU,IAAI,CAAC;EAElD,OAAOC,WAAW,GAAGH,WAAW;AAClC,CAAC;AAED,OAAO,MAAMI,2BAA2B,GAAGA,CACzCC,OAA0B,EAC1BC,MAAwB,KACF;EACtB;EACA,MAAM;IAAEC,SAAS;IAAEC,cAAc;IAAE,GAAGC;EAAW,CAAC,GAAGH,MAAM;EAE3D,IAAIL,WAAqC,GAAGI,OAAO,CAACJ,WAAW;EAC/D,IAAIM,SAAS,EAAE;IACb,IAAI;MACFN,WAAW,GAAGS,IAAI,CAACC,KAAK,CAACJ,SAAS,CAAiB;IACrD,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,OAAO;IACL,GAAGF,OAAO;IACV,GAAGI,UAAU;IACbR;EACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMW,iBAAiB,GAAGA,CAC/BC,WAAwB,EACxBC,QAAiB,EACjBC,UAAmB,KAChB;EACH,MAAMC,MAAM,GACVH,WAAW,KAAK1B,WAAW,CAAC8B,MAAM,GAC9B,IAAI,GACJJ,WAAW,KAAK1B,WAAW,CAAC+B,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,GAAsC,IAAK;EAC1E,MAAMC,IAAI,GAAGC,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,IAAI,CAAC,CAACtC,CAAC,EAAEC,CAAC,KACtCM,oBAAoB,CAAC2B,GAAG,CAAClC,CAAC,CAAC,EAAGkC,GAAG,CAACjC,CAAC,CAAE,CACvC,CAAC;EACD,OAAO;IAAEiC,GAAG;IAAEC;EAAK,CAAC;AACtB,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { SessionType } from '@droppii/openim-rn-client-sdk';
|
|
4
|
+
import { DChatType } from "../types/chat.js";
|
|
4
5
|
import { getConversationID } from "./conversation.js";
|
|
5
6
|
const getMessageTime = message => message.sendTime || message.createTime || 0;
|
|
6
7
|
const getMessageKey = message => message.clientMsgID || message.serverMsgID;
|
|
@@ -50,19 +51,40 @@ export const hasNewHistoryMessages = (current, incoming) => {
|
|
|
50
51
|
return !!key && !currentKeys.has(key);
|
|
51
52
|
});
|
|
52
53
|
};
|
|
53
|
-
export const belongsToConversation = (message, conversationId
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
export const belongsToConversation = (message, conversationId) => {
|
|
55
|
+
switch (message.sessionType) {
|
|
56
|
+
case SessionType.Single:
|
|
57
|
+
{
|
|
58
|
+
const forwardId = getConversationID(message.sessionType, message.sendID, message.recvID);
|
|
59
|
+
const reverseId = getConversationID(message.sessionType, message.recvID, message.sendID);
|
|
60
|
+
return conversationId === forwardId || conversationId === reverseId;
|
|
61
|
+
}
|
|
62
|
+
case SessionType.Group:
|
|
63
|
+
{
|
|
64
|
+
return conversationId === `sg_${message.groupID}`;
|
|
65
|
+
}
|
|
66
|
+
default:
|
|
67
|
+
return false;
|
|
57
68
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
69
|
+
};
|
|
70
|
+
export const getReceiverId = conversation => {
|
|
71
|
+
if (conversation == null) return {
|
|
72
|
+
groupID: '',
|
|
73
|
+
recvID: ''
|
|
74
|
+
};
|
|
75
|
+
const isGroupChat = conversation.chatType === DChatType.GROUP;
|
|
76
|
+
if (isGroupChat) {
|
|
77
|
+
const isBot = conversation.chatCategory?.includes('BOT');
|
|
78
|
+
const groupID = isBot ? conversation.conversationId?.slice(3) // Remove sg_
|
|
79
|
+
: conversation.groupID;
|
|
80
|
+
return {
|
|
81
|
+
groupID: groupID ?? '',
|
|
82
|
+
recvID: ''
|
|
83
|
+
};
|
|
63
84
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
85
|
+
return {
|
|
86
|
+
groupID: '',
|
|
87
|
+
recvID: conversation.peer.id ?? ''
|
|
88
|
+
};
|
|
67
89
|
};
|
|
68
90
|
//# sourceMappingURL=message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SessionType","getConversationID","getMessageTime","message","sendTime","createTime","getMessageKey","clientMsgID","serverMsgID","mergeMessages","current","incoming","map","Map","key","set","Array","from","values","sort","a","b","normalizeCreatedMessage","normalized","JSON","parse","Error","resolveHistoryLastMinSeq","history","fallbackMessage","lastMinSeq","seq","getHistoryPaginationAnchor","messages","length","oldest","reduce","prev","curr","hasNewHistoryMessages","currentKeys","Set","filter","Boolean","some","has","belongsToConversation","conversationId","groupID","
|
|
1
|
+
{"version":3,"names":["SessionType","DChatType","getConversationID","getMessageTime","message","sendTime","createTime","getMessageKey","clientMsgID","serverMsgID","mergeMessages","current","incoming","map","Map","key","set","Array","from","values","sort","a","b","normalizeCreatedMessage","normalized","JSON","parse","Error","resolveHistoryLastMinSeq","history","fallbackMessage","lastMinSeq","seq","getHistoryPaginationAnchor","messages","length","oldest","reduce","prev","curr","hasNewHistoryMessages","currentKeys","Set","filter","Boolean","some","has","belongsToConversation","conversationId","sessionType","Single","forwardId","sendID","recvID","reverseId","Group","groupID","getReceiverId","conversation","isGroupChat","chatType","GROUP","isBot","chatCategory","includes","slice","peer","id"],"sourceRoot":"../../../src","sources":["utils/message.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/assets/images/index.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/assets/images/index.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM;;;;;CAKX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { KAvatarProps } from '@droppii/libs/uikit/types';
|
|
2
|
+
interface SingleAvatarProps extends Omit<KAvatarProps, 'size' | 'uri'> {
|
|
3
|
+
source?: string | null;
|
|
3
4
|
size: number;
|
|
4
|
-
borderColor
|
|
5
|
-
borderWidth
|
|
6
|
-
placeholderColor
|
|
7
|
-
backgroundColor
|
|
5
|
+
borderColor?: string;
|
|
6
|
+
borderWidth?: number;
|
|
7
|
+
placeholderColor?: string;
|
|
8
|
+
backgroundColor?: string;
|
|
8
9
|
fullName?: string;
|
|
9
10
|
}
|
|
10
11
|
export declare const SingleAvatar: import("react").MemoExoticComponent<({ source, size, borderColor, borderWidth, placeholderColor, backgroundColor, fullName, }: SingleAvatarProps) => import("react/jsx-runtime").JSX.Element>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleAvatar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Avatar/SingleAvatar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SingleAvatar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Avatar/SingleAvatar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,UAAU,iBAAkB,SAAQ,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC;IACpE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAiBD,eAAO,MAAM,YAAY,iIASpB,iBAAiB,6CA4CrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NamePrefixIcon.d.ts","sourceRoot":"","sources":["../../../../../src/components/ThreadCard/NamePrefixIcon.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NamePrefixIcon.d.ts","sourceRoot":"","sources":["../../../../../src/components/ThreadCard/NamePrefixIcon.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAU5D,UAAU,mBAAmB;IAC3B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,mEACI,mBAAmB,6CAoCjD,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ChatContextType, ChatProviderProps } from '../types/chat';
|
|
2
|
+
export declare const ChatContext: import("react").Context<ChatContextType>;
|
|
3
|
+
export declare const useChatContext: () => ChatContextType;
|
|
4
|
+
export declare const ChatProvider: ({ enabled, ...props }: ChatProviderProps) => string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode>> | import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
//# sourceMappingURL=ChatContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatContext.d.ts","sourceRoot":"","sources":["../../../../src/context/ChatContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAExE,eAAO,MAAM,WAAW,0CAEvB,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,eAMjC,CAAC;AAQF,eAAO,MAAM,YAAY,GAAI,uBAAuB,iBAAiB,sUACR,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,eAAe,YA+D3B,CAAC"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { DMessageItem } from '../types/chat';
|
|
2
2
|
type UseChatMessagesOptions = {
|
|
3
3
|
conversationId: string;
|
|
4
|
-
recvID?: string;
|
|
5
|
-
groupID?: string;
|
|
6
4
|
enabled?: boolean;
|
|
7
5
|
pageSize?: number;
|
|
8
6
|
};
|
|
9
|
-
export declare function useChatMessages({ conversationId,
|
|
7
|
+
export declare function useChatMessages({ conversationId, enabled, pageSize, }: UseChatMessagesOptions): {
|
|
10
8
|
messages: DMessageItem[];
|
|
11
9
|
currentUserId: string;
|
|
12
10
|
isLoading: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChatMessages.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useChatMessages.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AASlD,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"useChatMessages.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useChatMessages.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AASlD,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,cAAc,EACd,OAAc,EACd,QAAa,GACd,EAAE,sBAAsB;;;;;;;;4BAmI0B,MAAM;;EA0ExD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagesTab.d.ts","sourceRoot":"","sources":["../../../../../src/screens/inbox/MessagesTab.tsx"],"names":[],"mappings":"AAOA,UAAU,gBAAgB;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAKD,eAAO,MAAM,WAAW,2EACe,gBAAgB,
|
|
1
|
+
{"version":3,"file":"MessagesTab.d.ts","sourceRoot":"","sources":["../../../../../src/screens/inbox/MessagesTab.tsx"],"names":[],"mappings":"AAOA,UAAU,gBAAgB;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAKD,eAAO,MAAM,WAAW,2EACe,gBAAgB,6CAqDtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../../../../src/services/apis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,YAAY,EAA0B,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../../../../src/services/apis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,YAAY,EAA0B,MAAM,eAAe,CAAC;AAM1E,yBAAiB,OAAO,CAAC;IACvB,SAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAExD;IAEM,MAAM,cAAc,GAAU,cAAc,MAAM,qBAExD,CAAC;IAEK,MAAM,KAAK,GAChB,UAAU,aAAa,EACvB,cAAc,MAAM,qBAerB,CAAC;IAEK,MAAM,MAAM,GAAU,cAAc,MAAM,qBAGhD,CAAC;IAEK,MAAM,OAAO,GAAU,cAAc,MAAM,GAAG,SAAS,kEAE7D,CAAC;IAEF,SAAsB,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,8CAWxE;CACF"}
|
|
@@ -11,8 +11,6 @@ export declare namespace ChatMessageAPI {
|
|
|
11
11
|
}): Promise<HistoryMessageResult>;
|
|
12
12
|
function sendTextMessage(params: {
|
|
13
13
|
text: string;
|
|
14
|
-
recvID?: string;
|
|
15
|
-
groupID?: string;
|
|
16
14
|
}): Promise<DMessageItem>;
|
|
17
15
|
function markConversationAsRead(conversationID: string): Promise<unknown>;
|
|
18
16
|
function getCurrentUserId(): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/services/message.ts"],"names":[],"mappings":"AAAA,OAAkB,EAEhB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/services/message.ts"],"names":[],"mappings":"AAAA,OAAkB,EAEhB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAMlD,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,yBAAiB,cAAc,CAAC;IAC9B,SAAsB,oBAAoB,CACxC,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA,OAAO,CAAC,oBAAoB,CAAC,CAU/B;IAED,SAAsB,eAAe,CAAC,MAAM,EAAE;QAC5C,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,YAAY,CAAC,CAaxB;IAED,SAAsB,sBAAsB,CAAC,cAAc,EAAE,MAAM,oBAElE;IAED,SAAsB,gBAAgB,oBAErC;CACF;AAED,YAAY,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -17,6 +17,7 @@ export interface ConversationStore {
|
|
|
17
17
|
mergeOpenIMConversations(conversations: ConversationItem[]): boolean;
|
|
18
18
|
removeConversation(id: ConversationID): void;
|
|
19
19
|
updateLastMessage(id: ConversationID, message: MessageItem): void;
|
|
20
|
+
reset(): void;
|
|
20
21
|
}
|
|
21
22
|
export declare const useConversationStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ConversationStore>>;
|
|
22
23
|
export declare const useConversation: (id: string) => DConversationItem | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../src/store/conversation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACZ,MAAM,+BAA+B,CAAC;AAEvC,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,sBAAsB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC;IACjD,sBAAsB,IAAI,iBAAiB,GAAG,SAAS,CAAC;IACxD,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC/C,6FAA6F;IAC7F,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAC9D;;;OAGG;IACH,wBAAwB,CAAC,aAAa,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrE,kBAAkB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7C,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../src/store/conversation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACZ,MAAM,+BAA+B,CAAC;AAEvC,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,sBAAsB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC;IACjD,sBAAsB,IAAI,iBAAiB,GAAG,SAAS,CAAC;IACxD,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC/C,6FAA6F;IAC7F,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAC9D;;;OAGG;IACH,wBAAwB,CAAC,aAAa,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrE,kBAAkB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7C,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAClE,KAAK,IAAI,IAAI,CAAC;CACf;AAED,eAAO,MAAM,oBAAoB,gFAmF9B,CAAC;AAEJ,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,KAAG,iBAAiB,GAAG,SAEhE,CAAC"}
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
import { type MessageItem, type SessionType, type MessageReceiveOptType, type GroupAtType } from '@droppii/openim-rn-client-sdk';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import type { PropsWithChildren } from 'react';
|
|
3
|
+
export declare const EventProvider: {
|
|
4
|
+
readonly ga: "ga";
|
|
5
|
+
readonly appsflyer: "appsflyer";
|
|
6
|
+
readonly netcore: "netcore";
|
|
7
|
+
};
|
|
8
|
+
type LogGA = (event: string, params?: any, provider?: `${keyof typeof EventProvider}`) => void;
|
|
9
|
+
export interface ChatContextType {
|
|
10
|
+
logGA?: LogGA;
|
|
4
11
|
}
|
|
12
|
+
export type ChatProviderProps = PropsWithChildren<{
|
|
13
|
+
enabled?: boolean;
|
|
14
|
+
logGA?: LogGA;
|
|
15
|
+
}>;
|
|
5
16
|
export declare enum DChatApplicationType {
|
|
6
17
|
BIZ = "BIZ",
|
|
7
18
|
MALL = "MALL"
|
|
@@ -96,4 +107,5 @@ export interface DMessagePushInfoEx {
|
|
|
96
107
|
title: string;
|
|
97
108
|
desc: string;
|
|
98
109
|
}
|
|
110
|
+
export {};
|
|
99
111
|
//# sourceMappingURL=chat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../src/types/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../src/types/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { SessionType, type ConversationItem } from '@droppii/openim-rn-client-sdk';
|
|
2
|
-
import { type DConversationItem
|
|
2
|
+
import { type DConversationItem } from '../types/chat';
|
|
3
3
|
export declare const conversationCompare: (a: ConversationItem, b: ConversationItem) => number;
|
|
4
4
|
export declare const dConversationCompare: (a: DConversationItem, b: DConversationItem) => number;
|
|
5
5
|
export declare const mergeOpenIMIntoConversation: (droppii: DConversationItem, openim: ConversationItem) => DConversationItem;
|
|
6
6
|
export declare const getConversationID: (sessionType: SessionType, senderID?: string, receiverID?: string) => string;
|
|
7
|
-
export declare const
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
export declare const sortConversation: (map: Record<string, DConversationItem>) => {
|
|
8
|
+
map: Record<string, DConversationItem>;
|
|
9
|
+
list: string[];
|
|
10
|
+
};
|
|
10
11
|
//# sourceMappingURL=conversation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../src/utils/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../src/utils/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,KAAK,iBAAiB,EAAqB,MAAM,eAAe,CAAC;AAE1E,eAAO,MAAM,mBAAmB,GAC9B,GAAG,gBAAgB,EACnB,GAAG,gBAAgB,WAcpB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,GAAG,iBAAiB,EACpB,GAAG,iBAAiB,WAWrB,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,SAAS,iBAAiB,EAC1B,QAAQ,gBAAgB,KACvB,iBAkBF,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,iBAAiB,CAAC;;;CAKtE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type MessageItem } from '@droppii/openim-rn-client-sdk';
|
|
2
|
-
import type
|
|
2
|
+
import { type DConversationItem, type DMessageItem } from '../types/chat';
|
|
3
3
|
export declare const mergeMessages: (current: DMessageItem[], incoming: DMessageItem[]) => DMessageItem[];
|
|
4
4
|
export declare const normalizeCreatedMessage: (message: MessageItem | string) => MessageItem;
|
|
5
5
|
export type HistoryPaginationAnchor = {
|
|
@@ -11,5 +11,9 @@ export declare const resolveHistoryLastMinSeq: (history: {
|
|
|
11
11
|
}, fallbackMessage?: DMessageItem) => number;
|
|
12
12
|
export declare const getHistoryPaginationAnchor: (messages: DMessageItem[]) => HistoryPaginationAnchor | null;
|
|
13
13
|
export declare const hasNewHistoryMessages: (current: DMessageItem[], incoming: DMessageItem[]) => boolean;
|
|
14
|
-
export declare const belongsToConversation: (message: MessageItem, conversationId: string
|
|
14
|
+
export declare const belongsToConversation: (message: MessageItem, conversationId: string) => boolean;
|
|
15
|
+
export declare const getReceiverId: (conversation?: DConversationItem) => {
|
|
16
|
+
groupID: string;
|
|
17
|
+
recvID: string;
|
|
18
|
+
};
|
|
15
19
|
//# sourceMappingURL=message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/utils/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/utils/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AASvB,eAAO,MAAM,aAAa,GACxB,SAAS,YAAY,EAAE,EACvB,UAAU,YAAY,EAAE,KACvB,YAAY,EAad,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,WAAW,GAAG,MAAM,KAC5B,WAYF,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,SAAS;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAChC,kBAAkB,YAAY,KAC7B,MAMF,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,UAAU,YAAY,EAAE,KACvB,uBAAuB,GAAG,IAkB5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,SAAS,YAAY,EAAE,EACvB,UAAU,YAAY,EAAE,KACvB,OASF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,SAAS,WAAW,EACpB,gBAAgB,MAAM,KACrB,OAuBF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,eAAe,iBAAiB;;;CAa7D,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.3",
|
|
4
4
|
"description": "Droppii chat mobile",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"example"
|
|
57
57
|
],
|
|
58
58
|
"scripts": {
|
|
59
|
-
"example": "yarn workspace @droppii/chat-mobile-example",
|
|
59
|
+
"example": "yarn workspace @droppii-org/chat-mobile-example",
|
|
60
60
|
"clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
|
|
61
61
|
"prepare": "bob build",
|
|
62
62
|
"typecheck": "tsc -p tsconfig.build.json 2>&1 | grep -E 'src/.*error' || echo 'Typecheck passed (external dependency warnings ignored)'",
|
|
Binary file
|
package/src/build-ignore.d.ts
CHANGED
|
@@ -1,18 +1,34 @@
|
|
|
1
1
|
import { memo } from 'react';
|
|
2
2
|
import { StyleSheet } from 'react-native';
|
|
3
3
|
import { KContainer, KImage, KLabel, KColors } from '@droppii/libs';
|
|
4
|
-
import {
|
|
4
|
+
import type { KAvatarProps } from '@droppii/libs/uikit/types';
|
|
5
|
+
import { getInitials, TYPO_MAP, SIZE_MAP } from './Avatar.utils';
|
|
5
6
|
|
|
6
|
-
interface SingleAvatarProps {
|
|
7
|
-
source
|
|
7
|
+
interface SingleAvatarProps extends Omit<KAvatarProps, 'size' | 'uri'> {
|
|
8
|
+
source?: string | null;
|
|
8
9
|
size: number;
|
|
9
|
-
borderColor
|
|
10
|
-
borderWidth
|
|
11
|
-
placeholderColor
|
|
12
|
-
backgroundColor
|
|
10
|
+
borderColor?: string;
|
|
11
|
+
borderWidth?: number;
|
|
12
|
+
placeholderColor?: string;
|
|
13
|
+
backgroundColor?: string;
|
|
13
14
|
fullName?: string;
|
|
14
15
|
}
|
|
15
16
|
|
|
17
|
+
const getSizeVariant = (size: number) => {
|
|
18
|
+
switch (size) {
|
|
19
|
+
case SIZE_MAP.sm:
|
|
20
|
+
return 'xs' as const;
|
|
21
|
+
case SIZE_MAP.md:
|
|
22
|
+
return 'lg' as const;
|
|
23
|
+
case SIZE_MAP.lg:
|
|
24
|
+
return '2xlg' as const;
|
|
25
|
+
default:
|
|
26
|
+
if (size < SIZE_MAP.md) return 'xs' as const;
|
|
27
|
+
if (size < SIZE_MAP.lg) return 'lg' as const;
|
|
28
|
+
return '2xlg' as const;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
16
32
|
export const SingleAvatar = memo(
|
|
17
33
|
({
|
|
18
34
|
source,
|
|
@@ -25,16 +41,20 @@ export const SingleAvatar = memo(
|
|
|
25
41
|
}: SingleAvatarProps) => {
|
|
26
42
|
if (source) {
|
|
27
43
|
return (
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
44
|
+
<KContainer.View
|
|
45
|
+
style={[
|
|
46
|
+
styles.avatarContainer,
|
|
47
|
+
{
|
|
48
|
+
borderWidth,
|
|
49
|
+
borderColor,
|
|
50
|
+
borderRadius: size / 2,
|
|
51
|
+
width: size,
|
|
52
|
+
height: size,
|
|
53
|
+
},
|
|
54
|
+
]}
|
|
55
|
+
>
|
|
56
|
+
<KImage.Avatar uri={source} size={getSizeVariant(size) as any} />
|
|
57
|
+
</KContainer.View>
|
|
38
58
|
);
|
|
39
59
|
}
|
|
40
60
|
|
|
@@ -71,4 +91,7 @@ const styles = StyleSheet.create({
|
|
|
71
91
|
justifyContent: 'center',
|
|
72
92
|
alignItems: 'center',
|
|
73
93
|
},
|
|
94
|
+
avatarContainer: {
|
|
95
|
+
overflow: 'hidden',
|
|
96
|
+
},
|
|
74
97
|
});
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { memo } from 'react';
|
|
2
|
+
import { Image, StyleSheet } from 'react-native';
|
|
2
3
|
import { KContainer, KImage, KColors } from '@droppii/libs';
|
|
3
4
|
import { DChatCategory, DChatType } from '../../types/chat';
|
|
5
|
+
import Images from '../../assets/images';
|
|
6
|
+
|
|
7
|
+
const styles = StyleSheet.create({
|
|
8
|
+
icon: {
|
|
9
|
+
width: 14,
|
|
10
|
+
height: 14,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
4
13
|
|
|
5
14
|
interface NamePrefixIconProps {
|
|
6
15
|
chatCategory?: DChatCategory;
|
|
@@ -9,10 +18,14 @@ interface NamePrefixIconProps {
|
|
|
9
18
|
|
|
10
19
|
export const NamePrefixIcon = memo(
|
|
11
20
|
({ chatCategory, chatType }: NamePrefixIconProps) => {
|
|
12
|
-
if (
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
if (chatCategory === DChatCategory.BIZ_BOT_CRM) {
|
|
22
|
+
return (
|
|
23
|
+
<KContainer.View marginR="0.25rem">
|
|
24
|
+
<Image source={Images.ICON_DROPPII} style={styles.icon} />
|
|
25
|
+
</KContainer.View>
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
if (chatCategory === DChatCategory.BIZ_BOT_PDP) {
|
|
16
29
|
return (
|
|
17
30
|
<KContainer.View marginR="0.25rem">
|
|
18
31
|
<KImage.VectorIcons
|
|
@@ -66,7 +66,7 @@ const ThreadCard = memo(({ item, onPress }: ThreadCardProps) => {
|
|
|
66
66
|
<NamePrefixIcon chatCategory={chatCategory} chatType={chatType} />
|
|
67
67
|
<KContainer.VisibleView
|
|
68
68
|
visible={
|
|
69
|
-
chatCategory === DChatCategory.BIZ_BOT_CRM ||
|
|
69
|
+
// chatCategory === DChatCategory.BIZ_BOT_CRM ||
|
|
70
70
|
chatCategory === DChatCategory.BIZ_BOT_PDP
|
|
71
71
|
}
|
|
72
72
|
>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createContext, useContext, useMemo } from 'react';
|
|
2
|
+
import type { ChatContextType, ChatProviderProps } from '../types/chat';
|
|
3
|
+
|
|
4
|
+
export const ChatContext = createContext<ChatContextType | undefined>(
|
|
5
|
+
undefined
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
export const useChatContext = (): ChatContextType => {
|
|
9
|
+
const context = useContext(ChatContext);
|
|
10
|
+
if (!context) {
|
|
11
|
+
throw new Error('useChatContext must be used within ChatProvider');
|
|
12
|
+
}
|
|
13
|
+
return context;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const ChatProviderInner = ({ logGA, children }: ChatProviderProps) => {
|
|
17
|
+
const value = useMemo(() => ({ logGA }), [logGA]);
|
|
18
|
+
|
|
19
|
+
return <ChatContext.Provider value={value}>{children}</ChatContext.Provider>;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const ChatProvider = ({ enabled, ...props }: ChatProviderProps) =>
|
|
23
|
+
enabled ? <ChatProviderInner {...props} /> : props.children;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ChatContext';
|
|
@@ -7,21 +7,10 @@ import OpenIMSDK, {
|
|
|
7
7
|
} from '@droppii/openim-rn-client-sdk';
|
|
8
8
|
import { useCallback, useEffect } from 'react';
|
|
9
9
|
import { useConversationStore } from '../store/conversation';
|
|
10
|
-
import { getConversationID } from '../utils/conversation';
|
|
11
10
|
|
|
12
11
|
export const useChatListener = () => {
|
|
13
12
|
const onRecvNewMessages = useCallback((messages: MessageItem[]) => {
|
|
14
13
|
console.log('onRecvNewMessages', messages);
|
|
15
|
-
messages.map((message) => {
|
|
16
|
-
const conversationID = getConversationID(
|
|
17
|
-
message.sessionType,
|
|
18
|
-
message.sendID,
|
|
19
|
-
message.recvID
|
|
20
|
-
);
|
|
21
|
-
useConversationStore
|
|
22
|
-
.getState()
|
|
23
|
-
.updateLastMessage(conversationID, message);
|
|
24
|
-
});
|
|
25
14
|
}, []);
|
|
26
15
|
|
|
27
16
|
const onNewRecvMessageRevoked = useCallback((revokedInfo: RevokedInfo) => {
|