@droppii-org/chat-sdk 0.2.1 → 0.3.1
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/dist/components/conversation/ConversationByGroupItem.d.ts +5 -3
- package/dist/components/conversation/ConversationByGroupItem.d.ts.map +1 -1
- package/dist/components/conversation/ConversationByGroupItem.js +24 -35
- package/dist/components/conversation/DeskConversationList.d.ts.map +1 -1
- package/dist/components/conversation/DeskConversationList.js +4 -3
- package/dist/components/conversation-detail/ConversationMessageList.d.ts.map +1 -1
- package/dist/components/conversation-detail/ConversationMessageList.js +4 -1
- package/dist/components/group/AddMemberModal.d.ts +1 -2
- package/dist/components/group/AddMemberModal.d.ts.map +1 -1
- package/dist/components/group/AddMemberModal.js +2 -2
- package/dist/components/group/GroupCompositeAvatar.d.ts +11 -0
- package/dist/components/group/GroupCompositeAvatar.d.ts.map +1 -0
- package/dist/components/group/GroupCompositeAvatar.js +40 -0
- package/dist/components/message/GroupMembersDrawer.d.ts.map +1 -1
- package/dist/components/message/GroupMembersDrawer.js +22 -15
- package/dist/components/message/MessageHeader.d.ts.map +1 -1
- package/dist/components/message/MessageHeader.js +2 -1
- package/dist/components/message/MessageList.d.ts.map +1 -1
- package/dist/components/message/MessageList.js +31 -2
- package/dist/components/thread/GroupThreadInfo.d.ts.map +1 -1
- package/dist/components/thread/GroupThreadInfo.js +4 -3
- package/dist/constants/im.d.ts +13 -0
- package/dist/constants/im.d.ts.map +1 -1
- package/dist/constants/im.js +16 -0
- package/dist/hooks/global/useGlobalEvent.d.ts.map +1 -1
- package/dist/hooks/global/useGlobalEvent.js +10 -2
- package/dist/hooks/group/useConversationGroups.d.ts +20 -0
- package/dist/hooks/group/useConversationGroups.d.ts.map +1 -0
- package/dist/hooks/group/useConversationGroups.js +116 -0
- package/dist/hooks/group/useCreateGroup.d.ts.map +1 -1
- package/dist/hooks/group/useCreateGroup.js +38 -7
- package/dist/hooks/group/useEligibleAccountsForGroup.d.ts +1 -1
- package/dist/hooks/group/useEligibleAccountsForGroup.d.ts.map +1 -1
- package/dist/hooks/group/useEligibleAccountsForGroup.js +6 -9
- package/dist/hooks/group/useGetGroupCandidates.d.ts +2 -1
- package/dist/hooks/group/useGetGroupCandidates.d.ts.map +1 -1
- package/dist/hooks/group/useGetGroupCandidates.js +3 -2
- package/dist/hooks/group/useGroupMemberActions.d.ts +6 -0
- package/dist/hooks/group/useGroupMemberActions.d.ts.map +1 -1
- package/dist/hooks/group/useGroupMemberActions.js +12 -0
- package/dist/hooks/group/useGroupPermission.d.ts +3 -1
- package/dist/hooks/group/useGroupPermission.d.ts.map +1 -1
- package/dist/hooks/group/useGroupPermission.js +33 -37
- package/dist/hooks/session/useSessionLatestPreview.d.ts +6 -2
- package/dist/hooks/session/useSessionLatestPreview.d.ts.map +1 -1
- package/dist/locales/vi/common.json +14 -0
- package/dist/services/query.d.ts +1 -1
- package/dist/services/query.js +1 -1
- package/dist/services/routes.d.ts +1 -0
- package/dist/services/routes.d.ts.map +1 -1
- package/dist/services/routes.js +1 -0
- package/dist/store/conversation.d.ts.map +1 -1
- package/dist/store/conversation.js +25 -1
- package/dist/store/type.d.ts +1 -0
- package/dist/store/type.d.ts.map +1 -1
- package/dist/styles/global.css +1 -1
- package/dist/types/dto.d.ts +8 -0
- package/dist/types/dto.d.ts.map +1 -1
- package/dist/utils/common.d.ts.map +1 -1
- package/dist/utils/common.js +20 -2
- package/dist/utils/messageLog.d.ts +4 -0
- package/dist/utils/messageLog.d.ts.map +1 -1
- package/dist/utils/messageLog.js +113 -0
- package/package.json +2 -2
- package/dist/hooks/group/useJoinedGroups.d.ts +0 -13
- package/dist/hooks/group/useJoinedGroups.d.ts.map +0 -1
- package/dist/hooks/group/useJoinedGroups.js +0 -33
package/dist/utils/messageLog.js
CHANGED
|
@@ -1,5 +1,118 @@
|
|
|
1
1
|
import { MessageType } from "@droppii-org/wasm-client-sdk";
|
|
2
2
|
export const SYSTEM_LOG_MESSAGE_TYPES = [MessageType.LogTextMessage];
|
|
3
|
+
export const GROUP_NOTIFICATION_MESSAGE_TYPES = [
|
|
4
|
+
MessageType.GroupCreated,
|
|
5
|
+
MessageType.GroupInfoUpdated,
|
|
6
|
+
MessageType.MemberQuit,
|
|
7
|
+
MessageType.GroupOwnerTransferred,
|
|
8
|
+
MessageType.MemberKicked,
|
|
9
|
+
MessageType.MemberInvited,
|
|
10
|
+
MessageType.MemberEnter,
|
|
11
|
+
MessageType.GroupDismissed,
|
|
12
|
+
MessageType.GroupMemberMuted,
|
|
13
|
+
MessageType.GroupMemberCancelMuted,
|
|
14
|
+
MessageType.GroupMuted,
|
|
15
|
+
MessageType.GroupCancelMuted,
|
|
16
|
+
MessageType.GroupAnnouncementUpdated,
|
|
17
|
+
MessageType.GroupNameUpdated,
|
|
18
|
+
];
|
|
19
|
+
export const isGroupNotificationMessageType = (contentType) => GROUP_NOTIFICATION_MESSAGE_TYPES.includes(contentType);
|
|
20
|
+
const joinNicknames = (users) => (users || []).map((user) => user.nickname || user.userID || "").join(", ");
|
|
21
|
+
export const getGroupNotificationText = (contentType, detailJson, t) => {
|
|
22
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
23
|
+
if (!detailJson)
|
|
24
|
+
return "";
|
|
25
|
+
let detail;
|
|
26
|
+
try {
|
|
27
|
+
detail = JSON.parse(detailJson);
|
|
28
|
+
}
|
|
29
|
+
catch (_r) {
|
|
30
|
+
return "";
|
|
31
|
+
}
|
|
32
|
+
const opUserName = ((_a = detail.opUser) === null || _a === void 0 ? void 0 : _a.nickname) || "";
|
|
33
|
+
switch (contentType) {
|
|
34
|
+
case MessageType.GroupCreated:
|
|
35
|
+
return t
|
|
36
|
+
? String(t("group_notification_created", { name: opUserName }))
|
|
37
|
+
: `${opUserName} đã tạo nhóm`;
|
|
38
|
+
case MessageType.GroupInfoUpdated:
|
|
39
|
+
return t
|
|
40
|
+
? String(t("group_notification_info_updated", { name: opUserName }))
|
|
41
|
+
: `${opUserName} đã cập nhật thông tin nhóm`;
|
|
42
|
+
case MessageType.GroupNameUpdated:
|
|
43
|
+
return t
|
|
44
|
+
? String(t("group_notification_name_updated", {
|
|
45
|
+
name: opUserName,
|
|
46
|
+
groupName: ((_b = detail.group) === null || _b === void 0 ? void 0 : _b.groupName) || "",
|
|
47
|
+
}))
|
|
48
|
+
: `${opUserName} đã đổi tên nhóm thành "${((_c = detail.group) === null || _c === void 0 ? void 0 : _c.groupName) || ""}"`;
|
|
49
|
+
case MessageType.GroupAnnouncementUpdated:
|
|
50
|
+
return t
|
|
51
|
+
? String(t("group_notification_announcement_updated", { name: opUserName }))
|
|
52
|
+
: `${opUserName} đã cập nhật thông báo nhóm`;
|
|
53
|
+
case MessageType.MemberQuit:
|
|
54
|
+
return t
|
|
55
|
+
? String(t("group_notification_member_quit", {
|
|
56
|
+
name: ((_d = detail.quitUser) === null || _d === void 0 ? void 0 : _d.nickname) || "",
|
|
57
|
+
}))
|
|
58
|
+
: `${((_e = detail.quitUser) === null || _e === void 0 ? void 0 : _e.nickname) || ""} đã rời nhóm`;
|
|
59
|
+
case MessageType.GroupOwnerTransferred:
|
|
60
|
+
return t
|
|
61
|
+
? String(t("group_notification_owner_transferred", {
|
|
62
|
+
name: opUserName,
|
|
63
|
+
newOwner: ((_f = detail.newGroupOwner) === null || _f === void 0 ? void 0 : _f.nickname) || "",
|
|
64
|
+
}))
|
|
65
|
+
: `${opUserName} đã chuyển quyền trưởng nhóm cho ${((_g = detail.newGroupOwner) === null || _g === void 0 ? void 0 : _g.nickname) || ""}`;
|
|
66
|
+
case MessageType.MemberKicked:
|
|
67
|
+
return t
|
|
68
|
+
? String(t("group_notification_member_kicked", {
|
|
69
|
+
name: opUserName,
|
|
70
|
+
members: joinNicknames(detail.kickedUserList),
|
|
71
|
+
}))
|
|
72
|
+
: `${opUserName} đã xóa ${joinNicknames(detail.kickedUserList)} khỏi nhóm`;
|
|
73
|
+
case MessageType.MemberInvited:
|
|
74
|
+
return t
|
|
75
|
+
? String(t("group_notification_member_invited", {
|
|
76
|
+
name: ((_h = detail.inviterUser) === null || _h === void 0 ? void 0 : _h.nickname) || opUserName,
|
|
77
|
+
members: joinNicknames(detail.invitedUserList),
|
|
78
|
+
}))
|
|
79
|
+
: `${((_j = detail.inviterUser) === null || _j === void 0 ? void 0 : _j.nickname) || opUserName} đã thêm ${joinNicknames(detail.invitedUserList)} vào nhóm`;
|
|
80
|
+
case MessageType.MemberEnter:
|
|
81
|
+
return t
|
|
82
|
+
? String(t("group_notification_member_enter", {
|
|
83
|
+
name: ((_k = detail.entrantUser) === null || _k === void 0 ? void 0 : _k.nickname) || "",
|
|
84
|
+
}))
|
|
85
|
+
: `${((_l = detail.entrantUser) === null || _l === void 0 ? void 0 : _l.nickname) || ""} đã vào nhóm`;
|
|
86
|
+
case MessageType.GroupDismissed:
|
|
87
|
+
return t
|
|
88
|
+
? String(t("group_notification_dismissed", { name: opUserName }))
|
|
89
|
+
: `${opUserName} đã giải tán nhóm`;
|
|
90
|
+
case MessageType.GroupMemberMuted:
|
|
91
|
+
return t
|
|
92
|
+
? String(t("group_notification_member_muted", {
|
|
93
|
+
name: opUserName,
|
|
94
|
+
target: ((_m = detail.mutedUser) === null || _m === void 0 ? void 0 : _m.nickname) || "",
|
|
95
|
+
}))
|
|
96
|
+
: `${opUserName} đã tắt quyền gửi tin nhắn của ${((_o = detail.mutedUser) === null || _o === void 0 ? void 0 : _o.nickname) || ""}`;
|
|
97
|
+
case MessageType.GroupMemberCancelMuted:
|
|
98
|
+
return t
|
|
99
|
+
? String(t("group_notification_member_cancel_muted", {
|
|
100
|
+
name: opUserName,
|
|
101
|
+
target: ((_p = detail.mutedUser) === null || _p === void 0 ? void 0 : _p.nickname) || "",
|
|
102
|
+
}))
|
|
103
|
+
: `${opUserName} đã bật lại quyền gửi tin nhắn của ${((_q = detail.mutedUser) === null || _q === void 0 ? void 0 : _q.nickname) || ""}`;
|
|
104
|
+
case MessageType.GroupMuted:
|
|
105
|
+
return t
|
|
106
|
+
? String(t("group_notification_muted", { name: opUserName }))
|
|
107
|
+
: `${opUserName} đã tắt quyền gửi tin nhắn của cả nhóm`;
|
|
108
|
+
case MessageType.GroupCancelMuted:
|
|
109
|
+
return t
|
|
110
|
+
? String(t("group_notification_cancel_muted", { name: opUserName }))
|
|
111
|
+
: `${opUserName} đã bật lại quyền gửi tin nhắn của cả nhóm`;
|
|
112
|
+
default:
|
|
113
|
+
return "";
|
|
114
|
+
}
|
|
115
|
+
};
|
|
3
116
|
export const isSystemLogMessageType = (contentType) => contentType === MessageType.LogTextMessage;
|
|
4
117
|
export const getSystemLogMessageText = (message) => {
|
|
5
118
|
var _a;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@droppii-org/chat-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Droppii React Chat SDK",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
},
|
|
83
83
|
"dependencies": {
|
|
84
84
|
"@ant-design/icons": "^6.0.0",
|
|
85
|
-
"@droppii-org/wasm-client-sdk": "0.3.
|
|
85
|
+
"@droppii-org/wasm-client-sdk": "0.3.2",
|
|
86
86
|
"@lexical/code": "^0.34.0",
|
|
87
87
|
"@lexical/html": "^0.34.0",
|
|
88
88
|
"@lexical/link": "^0.34.0",
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
interface UseJoinedGroupsParams {
|
|
2
|
-
enabled?: boolean;
|
|
3
|
-
pageSize?: number;
|
|
4
|
-
}
|
|
5
|
-
export declare const useJoinedGroups: ({ enabled, pageSize, }?: UseJoinedGroupsParams) => {
|
|
6
|
-
groups: import("@droppii-org/wasm-client-sdk").GroupItem[];
|
|
7
|
-
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<import("@droppii-org/wasm-client-sdk").GroupItem[], unknown>, Error>>;
|
|
8
|
-
hasNextPage: boolean;
|
|
9
|
-
isFetchingNextPage: boolean;
|
|
10
|
-
isLoading: boolean;
|
|
11
|
-
};
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=useJoinedGroups.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useJoinedGroups.d.ts","sourceRoot":"","sources":["../../../src/hooks/group/useJoinedGroups.ts"],"names":[],"mappings":"AAQA,UAAU,qBAAqB;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,eAAe,GAAI,yBAG7B,qBAA0B;;;;;;CAoC5B,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { useMemo } from "react";
|
|
3
|
-
import { useInfiniteQuery } from "@tanstack/react-query";
|
|
4
|
-
import { DChatSDK } from "../../constants/sdk";
|
|
5
|
-
import { QUERY_KEYS } from "../../services/query";
|
|
6
|
-
import { PAGE_SIZE } from "../../constants";
|
|
7
|
-
export const useJoinedGroups = ({ enabled = true, pageSize = PAGE_SIZE.medium, } = {}) => {
|
|
8
|
-
const { data, fetchNextPage, hasNextPage, isFetchingNextPage, isLoading, } = useInfiniteQuery({
|
|
9
|
-
initialPageParam: 0,
|
|
10
|
-
queryKey: [QUERY_KEYS.GET_JOINED_GROUP_LIST, pageSize],
|
|
11
|
-
queryFn: async ({ pageParam = 0 }) => {
|
|
12
|
-
const res = await DChatSDK.getJoinedGroupListPage({
|
|
13
|
-
offset: pageParam,
|
|
14
|
-
count: pageSize,
|
|
15
|
-
});
|
|
16
|
-
return res.data;
|
|
17
|
-
},
|
|
18
|
-
getNextPageParam: (lastPage, allPages) => {
|
|
19
|
-
if (lastPage.length < pageSize)
|
|
20
|
-
return undefined;
|
|
21
|
-
return allPages.length * pageSize;
|
|
22
|
-
},
|
|
23
|
-
enabled,
|
|
24
|
-
});
|
|
25
|
-
const groups = useMemo(() => { var _a; return (_a = data === null || data === void 0 ? void 0 : data.pages.flatMap((page) => page)) !== null && _a !== void 0 ? _a : []; }, [data]);
|
|
26
|
-
return {
|
|
27
|
-
groups,
|
|
28
|
-
fetchNextPage,
|
|
29
|
-
hasNextPage,
|
|
30
|
-
isFetchingNextPage,
|
|
31
|
-
isLoading,
|
|
32
|
-
};
|
|
33
|
-
};
|