@droppii-org/chat-sdk 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/assets/images/muteNotificationWarning.png +0 -0
  2. package/dist/components/conversation/ConversationByGroupItem.d.ts +5 -3
  3. package/dist/components/conversation/ConversationByGroupItem.d.ts.map +1 -1
  4. package/dist/components/conversation/ConversationByGroupItem.js +23 -33
  5. package/dist/components/conversation/DeskConversationList.d.ts.map +1 -1
  6. package/dist/components/conversation/DeskConversationList.js +4 -3
  7. package/dist/components/conversation/SwipeActionButton.d.ts +11 -0
  8. package/dist/components/conversation/SwipeActionButton.d.ts.map +1 -0
  9. package/dist/components/conversation/SwipeActionButton.js +7 -0
  10. package/dist/components/conversation/SwipeableRow.d.ts +10 -0
  11. package/dist/components/conversation/SwipeableRow.d.ts.map +1 -0
  12. package/dist/components/conversation/SwipeableRow.js +62 -0
  13. package/dist/components/conversation/ThreadCard.d.ts +2 -1
  14. package/dist/components/conversation/ThreadCard.d.ts.map +1 -1
  15. package/dist/components/conversation/ThreadCard.js +2 -2
  16. package/dist/components/conversation-detail/ConversationMessageList.d.ts.map +1 -1
  17. package/dist/components/conversation-detail/ConversationMessageList.js +4 -1
  18. package/dist/components/conversation-inbox/ConversationInboxItem.d.ts.map +1 -1
  19. package/dist/components/conversation-inbox/ConversationInboxItem.js +14 -1
  20. package/dist/components/conversation-inbox/ConversationMuteSwipeAction.d.ts +8 -0
  21. package/dist/components/conversation-inbox/ConversationMuteSwipeAction.d.ts.map +1 -0
  22. package/dist/components/conversation-inbox/ConversationMuteSwipeAction.js +31 -0
  23. package/dist/components/conversation-inbox/MuteConversationConfirmModal.d.ts +9 -0
  24. package/dist/components/conversation-inbox/MuteConversationConfirmModal.d.ts.map +1 -0
  25. package/dist/components/conversation-inbox/MuteConversationConfirmModal.js +13 -0
  26. package/dist/components/conversation-inbox/index.d.ts +4 -0
  27. package/dist/components/conversation-inbox/index.d.ts.map +1 -1
  28. package/dist/components/conversation-inbox/index.js +2 -0
  29. package/dist/components/group/AddMemberModal.d.ts +1 -2
  30. package/dist/components/group/AddMemberModal.d.ts.map +1 -1
  31. package/dist/components/group/AddMemberModal.js +2 -2
  32. package/dist/components/message/GroupMembersDrawer.d.ts.map +1 -1
  33. package/dist/components/message/GroupMembersDrawer.js +22 -15
  34. package/dist/components/message/MessageList.d.ts.map +1 -1
  35. package/dist/components/message/MessageList.js +31 -2
  36. package/dist/constants/im.d.ts +13 -0
  37. package/dist/constants/im.d.ts.map +1 -1
  38. package/dist/constants/im.js +16 -0
  39. package/dist/constants/images.d.ts +1 -0
  40. package/dist/constants/images.d.ts.map +1 -1
  41. package/dist/constants/images.js +2 -0
  42. package/dist/hooks/global/useGlobalEvent.d.ts.map +1 -1
  43. package/dist/hooks/global/useGlobalEvent.js +10 -2
  44. package/dist/hooks/group/useConversationGroups.d.ts +20 -0
  45. package/dist/hooks/group/useConversationGroups.d.ts.map +1 -0
  46. package/dist/hooks/group/useConversationGroups.js +116 -0
  47. package/dist/hooks/group/useCreateGroup.d.ts.map +1 -1
  48. package/dist/hooks/group/useCreateGroup.js +34 -5
  49. package/dist/hooks/group/useEligibleAccountsForGroup.d.ts +1 -1
  50. package/dist/hooks/group/useEligibleAccountsForGroup.d.ts.map +1 -1
  51. package/dist/hooks/group/useEligibleAccountsForGroup.js +6 -9
  52. package/dist/hooks/group/useGetGroupCandidates.d.ts +2 -1
  53. package/dist/hooks/group/useGetGroupCandidates.d.ts.map +1 -1
  54. package/dist/hooks/group/useGetGroupCandidates.js +3 -2
  55. package/dist/hooks/group/useGroupMemberActions.d.ts +6 -0
  56. package/dist/hooks/group/useGroupMemberActions.d.ts.map +1 -1
  57. package/dist/hooks/group/useGroupMemberActions.js +12 -0
  58. package/dist/hooks/group/useGroupPermission.d.ts +3 -1
  59. package/dist/hooks/group/useGroupPermission.d.ts.map +1 -1
  60. package/dist/hooks/group/useGroupPermission.js +33 -37
  61. package/dist/hooks/session/useMuteConversation.d.ts +8 -0
  62. package/dist/hooks/session/useMuteConversation.d.ts.map +1 -0
  63. package/dist/hooks/session/useMuteConversation.js +37 -0
  64. package/dist/hooks/session/useSessionLatestPreview.d.ts +6 -2
  65. package/dist/hooks/session/useSessionLatestPreview.d.ts.map +1 -1
  66. package/dist/index.d.ts +2 -0
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +2 -0
  69. package/dist/locales/vi/common.json +14 -0
  70. package/dist/locales/vi/conversation-inbox.json +16 -0
  71. package/dist/services/query.d.ts +1 -1
  72. package/dist/services/query.js +1 -1
  73. package/dist/services/routes.d.ts +1 -0
  74. package/dist/services/routes.d.ts.map +1 -1
  75. package/dist/services/routes.js +1 -0
  76. package/dist/store/conversation.d.ts.map +1 -1
  77. package/dist/store/conversation.js +25 -1
  78. package/dist/store/type.d.ts +1 -0
  79. package/dist/store/type.d.ts.map +1 -1
  80. package/dist/styles/global.css +1 -1
  81. package/dist/types/dto.d.ts +8 -0
  82. package/dist/types/dto.d.ts.map +1 -1
  83. package/dist/utils/common.d.ts.map +1 -1
  84. package/dist/utils/common.js +20 -2
  85. package/dist/utils/imCommon.d.ts +1 -0
  86. package/dist/utils/imCommon.d.ts.map +1 -1
  87. package/dist/utils/messageLog.d.ts +4 -0
  88. package/dist/utils/messageLog.d.ts.map +1 -1
  89. package/dist/utils/messageLog.js +113 -0
  90. package/package.json +3 -2
  91. package/dist/hooks/group/useJoinedGroups.d.ts +0 -13
  92. package/dist/hooks/group/useJoinedGroups.d.ts.map +0 -1
  93. package/dist/hooks/group/useJoinedGroups.js +0 -33
@@ -4,16 +4,17 @@ import { QUERY_KEYS } from "../../services/query";
4
4
  import { apiInstance } from "../../services/api";
5
5
  import { ENDPOINTS } from "../../services/routes";
6
6
  const GROUP_CANDIDATES_PAGE_SIZE = 20;
7
- export const useGetGroupCandidates = ({ searchTerm = "", enabled = true, }) => {
7
+ export const useGetGroupCandidates = ({ searchTerm = "", groupID, enabled = true, }) => {
8
8
  const { data, fetchNextPage, hasNextPage, isFetchingNextPage, isLoading } = useInfiniteQuery({
9
9
  initialPageParam: 1,
10
- queryKey: [QUERY_KEYS.GET_GROUP_CANDIDATES, searchTerm],
10
+ queryKey: [QUERY_KEYS.GET_GROUP_CANDIDATES, searchTerm, groupID],
11
11
  queryFn: async ({ pageParam = 1 }) => {
12
12
  const res = await apiInstance.get(ENDPOINTS.chatService.getGroupCandidates, {
13
13
  params: {
14
14
  page: pageParam,
15
15
  pageSize: GROUP_CANDIDATES_PAGE_SIZE,
16
16
  searchTerm: searchTerm || undefined,
17
+ groupId: groupID || undefined,
17
18
  },
18
19
  });
19
20
  return res === null || res === void 0 ? void 0 : res.data;
@@ -21,5 +21,11 @@ interface TransferGroupOwnerParams {
21
21
  newOwnerUserID: string;
22
22
  }
23
23
  export declare const useTransferGroupOwner: () => import("@tanstack/react-query").UseMutationResult<unknown, Error, TransferGroupOwnerParams, unknown>;
24
+ interface SetGroupMemberPermissionsParams {
25
+ groupID: string;
26
+ userID: string;
27
+ permissions: string[];
28
+ }
29
+ export declare const useSetGroupMemberPermissions: () => import("@tanstack/react-query").UseMutationResult<unknown, Error, SetGroupMemberPermissionsParams, unknown>;
24
30
  export {};
25
31
  //# sourceMappingURL=useGroupMemberActions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGroupMemberActions.d.ts","sourceRoot":"","sources":["../../../src/hooks/group/useGroupMemberActions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAQ/D,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,kBAAkB,yGAW9B,CAAC;AAEF,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,yGAW9B,CAAC;AAEF,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,eAAO,MAAM,qBAAqB,4GAWjC,CAAC;AAEF,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,qBAAqB,4GAUjC,CAAC"}
1
+ {"version":3,"file":"useGroupMemberActions.d.ts","sourceRoot":"","sources":["../../../src/hooks/group/useGroupMemberActions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAmB,MAAM,8BAA8B,CAAC;AAQhF,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,kBAAkB,yGAW9B,CAAC;AAEF,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,yGAW9B,CAAC;AAEF,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,eAAO,MAAM,qBAAqB,4GAWjC,CAAC;AAEF,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,qBAAqB,4GAUjC,CAAC;AAEF,UAAU,+BAA+B;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,eAAO,MAAM,4BAA4B,mHAexC,CAAC"}
@@ -52,3 +52,15 @@ export const useTransferGroupOwner = () => {
52
52
  },
53
53
  });
54
54
  };
55
+ export const useSetGroupMemberPermissions = () => {
56
+ return useMutation({
57
+ mutationFn: async ({ groupID, userID, permissions, }) => {
58
+ const { data } = await DChatSDK.setGroupMemberInfo({
59
+ groupID,
60
+ userID,
61
+ permissions: permissions,
62
+ });
63
+ return data;
64
+ },
65
+ });
66
+ };
@@ -1,3 +1,4 @@
1
+ import { GroupMemberRole } from "@droppii-org/wasm-client-sdk";
1
2
  export interface GroupPermissions {
2
3
  sendMessage: boolean;
3
4
  pinMessage: boolean;
@@ -11,5 +12,6 @@ export interface GroupPermissions {
11
12
  configGroupPermission: boolean;
12
13
  viewMemberInformation: boolean;
13
14
  }
14
- export declare const useGroupPermission: (groupID?: string) => GroupPermissions;
15
+ export declare const permissionListToGroupPermissions: (permissionList: string[] | undefined, roleLevel: GroupMemberRole) => GroupPermissions;
16
+ export declare const useGroupPermission: (_groupID?: string) => GroupPermissions;
15
17
  //# sourceMappingURL=useGroupPermission.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGroupPermission.d.ts","sourceRoot":"","sources":["../../../src/hooks/group/useGroupPermission.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,OAAO,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAiDD,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,gBA6CrD,CAAC"}
1
+ {"version":3,"file":"useGroupPermission.d.ts","sourceRoot":"","sources":["../../../src/hooks/group/useGroupPermission.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,OAAO,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;CAChC;AA+CD,eAAO,MAAM,gCAAgC,GAC3C,gBAAgB,MAAM,EAAE,GAAG,SAAS,EACpC,WAAW,eAAe,KACzB,gBAcF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,WAAW,MAAM,KAAG,gBAYtD,CAAC"}
@@ -1,25 +1,23 @@
1
1
  import { useMemo } from "react";
2
2
  import { GroupMemberRole } from "@droppii-org/wasm-client-sdk";
3
3
  import useConversationStore from "../../store/conversation";
4
- import useGroupPermissionOverridesStore from "../../store/groupPermissionOverrides";
4
+ import { GROUP_PERMISSION_KEY } from "../../constants/im";
5
5
  // Default permission matrix per DROPPII-30248 spec (Group Permission Logic
6
- // And Effects In Livechat). BE/SDK does not persist per-permission config for
7
- // 9 of the 11 permissions yet (only applyMemberFriend/lookMemberInfo exist,
8
- // and those are unrelated group-wide toggles, not this role matrix) — mocked
9
- // from roleLevel until BE ships real storage.
10
- const PERMISSION_MATRIX = {
6
+ // And Effects In Livechat) used only as a fallback when BE hasn't returned
7
+ // `permissions` for a member yet (e.g. stale cache, very old member record).
8
+ const ROLE_DEFAULT_PERMISSIONS = {
11
9
  [GroupMemberRole.Normal]: {
12
10
  sendMessage: true,
13
- pinMessage: true,
14
- updateGroupName: true,
15
- updateGroupAvatar: true,
16
- updateGroupDescription: true,
17
- addMember: true,
18
- removeMember: true,
19
- addAdmin: true,
20
- transferOwnership: true,
21
- configGroupPermission: true,
22
- viewMemberInformation: true,
11
+ pinMessage: false,
12
+ updateGroupName: false,
13
+ updateGroupAvatar: false,
14
+ updateGroupDescription: false,
15
+ addMember: false,
16
+ removeMember: false,
17
+ addAdmin: false,
18
+ transferOwnership: false,
19
+ configGroupPermission: false,
20
+ viewMemberInformation: false,
23
21
  },
24
22
  [GroupMemberRole.Admin]: {
25
23
  sendMessage: true,
@@ -28,11 +26,11 @@ const PERMISSION_MATRIX = {
28
26
  updateGroupAvatar: true,
29
27
  updateGroupDescription: true,
30
28
  addMember: true,
31
- removeMember: true,
32
- addAdmin: true,
33
- transferOwnership: true,
34
- configGroupPermission: true,
35
- viewMemberInformation: true,
29
+ removeMember: false,
30
+ addAdmin: false,
31
+ transferOwnership: false,
32
+ configGroupPermission: false,
33
+ viewMemberInformation: false,
36
34
  },
37
35
  [GroupMemberRole.Owner]: {
38
36
  sendMessage: true,
@@ -48,23 +46,21 @@ const PERMISSION_MATRIX = {
48
46
  viewMemberInformation: true,
49
47
  },
50
48
  };
51
- export const useGroupPermission = (groupID) => {
49
+ export const permissionListToGroupPermissions = (permissionList, roleLevel) => {
50
+ var _a;
51
+ if (!permissionList) {
52
+ return ((_a = ROLE_DEFAULT_PERMISSIONS[roleLevel]) !== null && _a !== void 0 ? _a : ROLE_DEFAULT_PERMISSIONS[GroupMemberRole.Normal]);
53
+ }
54
+ return Object.fromEntries(Object.entries(GROUP_PERMISSION_KEY).map(([field, permissionString]) => [
55
+ field,
56
+ permissionList.includes(permissionString),
57
+ ]));
58
+ };
59
+ export const useGroupPermission = (_groupID) => {
52
60
  const currentMemberInGroup = useConversationStore((state) => state.currentMemberInGroup);
53
- const memberOverrides = useGroupPermissionOverridesStore((state) => groupID ? state.memberOverridesByGroup[groupID] : undefined);
54
- const adminOverrides = useGroupPermissionOverridesStore((state) => groupID ? state.adminOverridesByGroup[groupID] : undefined);
55
61
  return useMemo(() => {
56
- var _a, _b;
62
+ var _a;
57
63
  const roleLevel = (_a = currentMemberInGroup === null || currentMemberInGroup === void 0 ? void 0 : currentMemberInGroup.roleLevel) !== null && _a !== void 0 ? _a : GroupMemberRole.Normal;
58
- console.log("🚀 ~ useGroupPermission ~ roleLevel:", roleLevel);
59
- const base = (_b = PERMISSION_MATRIX[roleLevel]) !== null && _b !== void 0 ? _b : PERMISSION_MATRIX[GroupMemberRole.Normal];
60
- // Configure Member/Admin Permissions (DROPPII-30248 follow-up) — mocked
61
- // local overrides on top of the role default, not persisted by BE yet.
62
- if (roleLevel === GroupMemberRole.Normal && memberOverrides) {
63
- return Object.assign(Object.assign({}, base), { sendMessage: memberOverrides.sendMessage, addMember: memberOverrides.addMember, pinMessage: memberOverrides.pinMessage, viewMemberInformation: memberOverrides.viewMemberInformation });
64
- }
65
- if (roleLevel === GroupMemberRole.Admin && adminOverrides) {
66
- return Object.assign(Object.assign({}, base), { sendMessage: adminOverrides.sendMessage, pinMessage: adminOverrides.pinMessage, viewMemberInformation: adminOverrides.viewMemberInformation, addMember: adminOverrides.addMember, removeMember: adminOverrides.removeMember, updateGroupName: adminOverrides.updateGroupInfo, updateGroupAvatar: adminOverrides.updateGroupInfo, updateGroupDescription: adminOverrides.updateGroupInfo });
67
- }
68
- return base;
69
- }, [currentMemberInGroup === null || currentMemberInGroup === void 0 ? void 0 : currentMemberInGroup.roleLevel, memberOverrides, adminOverrides]);
64
+ return permissionListToGroupPermissions(currentMemberInGroup === null || currentMemberInGroup === void 0 ? void 0 : currentMemberInGroup.permissions, roleLevel);
65
+ }, [currentMemberInGroup === null || currentMemberInGroup === void 0 ? void 0 : currentMemberInGroup.permissions, currentMemberInGroup === null || currentMemberInGroup === void 0 ? void 0 : currentMemberInGroup.roleLevel]);
70
66
  };
@@ -0,0 +1,8 @@
1
+ import { MessageReceiveOptType } from "@droppii-org/wasm-client-sdk";
2
+ export declare const isConversationMuted: (recvMsgOpt?: number) => recvMsgOpt is MessageReceiveOptType.NotNotify;
3
+ export declare const useMuteConversation: () => {
4
+ muteConversation: (conversationID: string) => Promise<boolean>;
5
+ unmuteConversation: (conversationID: string) => Promise<boolean>;
6
+ isPending: boolean;
7
+ };
8
+ //# sourceMappingURL=useMuteConversation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMuteConversation.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useMuteConversation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,eAAO,MAAM,mBAAmB,GAAI,aAAa,MAAM,kDACP,CAAC;AAEjD,eAAO,MAAM,mBAAmB;uCAKkB,MAAM;yCAaJ,MAAM;;CAczD,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { message } from "antd";
3
+ import { useTranslation } from "react-i18next";
4
+ import { MessageReceiveOptType } from "@droppii-org/wasm-client-sdk";
5
+ import { useToggleConversationNotification } from "./useToggleConversationNotification";
6
+ export const isConversationMuted = (recvMsgOpt) => recvMsgOpt === MessageReceiveOptType.NotNotify;
7
+ export const useMuteConversation = () => {
8
+ const { t } = useTranslation("conversation-inbox");
9
+ const { mutateAsync: toggleNotification, isPending } = useToggleConversationNotification();
10
+ const muteConversation = async (conversationID) => {
11
+ if (!conversationID)
12
+ return false;
13
+ try {
14
+ await toggleNotification({ conversationID, notify: false });
15
+ message.success(t("thread_card.mute.mute_success"));
16
+ return true;
17
+ }
18
+ catch (error) {
19
+ message.error(t("thread_card.mute.mute_failed"));
20
+ return false;
21
+ }
22
+ };
23
+ const unmuteConversation = async (conversationID) => {
24
+ if (!conversationID)
25
+ return false;
26
+ try {
27
+ await toggleNotification({ conversationID, notify: true });
28
+ message.success(t("thread_card.mute.unmute_success"));
29
+ return true;
30
+ }
31
+ catch (error) {
32
+ message.error(t("thread_card.mute.unmute_failed"));
33
+ return false;
34
+ }
35
+ };
36
+ return { muteConversation, unmuteConversation, isPending };
37
+ };
@@ -1,7 +1,11 @@
1
- import type { ISessionByStatus } from "../../store/type";
1
+ import { ConversationItem } from "@droppii-org/wasm-client-sdk";
2
2
  export interface LatestPreview {
3
3
  latestMsg: string;
4
4
  latestMsgSendTime: number;
5
5
  }
6
- export declare const useSessionLatestPreview: (sessions: ISessionByStatus[]) => Map<string, LatestPreview>;
6
+ export interface ConversationPreviewSource {
7
+ conversationId: string;
8
+ conversation?: ConversationItem;
9
+ }
10
+ export declare const useSessionLatestPreview: (sessions: ConversationPreviewSource[]) => Map<string, LatestPreview>;
7
11
  //# sourceMappingURL=useSessionLatestPreview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSessionLatestPreview.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useSessionLatestPreview.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMrD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAkBD,eAAO,MAAM,uBAAuB,GAAI,UAAU,gBAAgB,EAAE,+BAmEnE,CAAC"}
1
+ {"version":3,"file":"useSessionLatestPreview.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useSessionLatestPreview.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAyB,MAAM,8BAA8B,CAAC;AASvF,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAKD,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAkBD,eAAO,MAAM,uBAAuB,GAClC,UAAU,yBAAyB,EAAE,+BAoEtC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -39,6 +39,8 @@ export { useUpdateFcmToken } from "./hooks/user/useUpdateFcmToken";
39
39
  export { useConversationList } from "./hooks/conversation/useConversationList";
40
40
  export { useCreateConversation } from "./hooks/conversation/useCreateConversation";
41
41
  export type { CreateConversationInput } from "./hooks/conversation/useCreateConversation";
42
+ export { useMuteConversation, isConversationMuted, } from "./hooks/session/useMuteConversation";
43
+ export { useToggleConversationNotification } from "./hooks/session/useToggleConversationNotification";
42
44
  export { useUserStore, DChatApplicationType, useAuthStore };
43
45
  export { default as useConversationStore } from "./store/conversation";
44
46
  export { Platform as DChatPlatform, LogLevel as DChatLogLevel, SessionType as DChatSessionType, };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -36,6 +36,8 @@ export { useSendMessage } from "./hooks/message/useSendMessage";
36
36
  export { useUpdateFcmToken } from "./hooks/user/useUpdateFcmToken";
37
37
  export { useConversationList } from "./hooks/conversation/useConversationList";
38
38
  export { useCreateConversation } from "./hooks/conversation/useCreateConversation";
39
+ export { useMuteConversation, isConversationMuted, } from "./hooks/session/useMuteConversation";
40
+ export { useToggleConversationNotification } from "./hooks/session/useToggleConversationNotification";
39
41
  //Store
40
42
  export { useUserStore, DChatApplicationType, useAuthStore };
41
43
  export { default as useConversationStore } from "./store/conversation";
@@ -113,6 +113,20 @@
113
113
  "msg_type_sticker": "[Nhãn dán]",
114
114
  "msg_type_unsupported": "Tin nhắn không khả dụng",
115
115
  "msg_type_order": "[Đơn hàng] {{orderCode}}",
116
+ "group_notification_created": "{{name}} đã tạo nhóm",
117
+ "group_notification_info_updated": "{{name}} đã cập nhật thông tin nhóm",
118
+ "group_notification_name_updated": "{{name}} đã đổi tên nhóm thành \"{{groupName}}\"",
119
+ "group_notification_announcement_updated": "{{name}} đã cập nhật thông báo nhóm",
120
+ "group_notification_member_quit": "{{name}} đã rời nhóm",
121
+ "group_notification_owner_transferred": "{{name}} đã chuyển quyền trưởng nhóm cho {{newOwner}}",
122
+ "group_notification_member_kicked": "{{name}} đã xóa {{members}} khỏi nhóm",
123
+ "group_notification_member_invited": "{{name}} đã thêm {{members}} vào nhóm",
124
+ "group_notification_member_enter": "{{name}} đã vào nhóm",
125
+ "group_notification_dismissed": "{{name}} đã giải tán nhóm",
126
+ "group_notification_member_muted": "{{name}} đã tắt quyền gửi tin nhắn của {{target}}",
127
+ "group_notification_member_cancel_muted": "{{name}} đã bật lại quyền gửi tin nhắn của {{target}}",
128
+ "group_notification_muted": "{{name}} đã tắt quyền gửi tin nhắn của cả nhóm",
129
+ "group_notification_cancel_muted": "{{name}} đã bật lại quyền gửi tin nhắn của cả nhóm",
116
130
  "invalid_message": "Tin nhắn không hợp lệ",
117
131
  "session_started": "Phiên chat đã bắt đầu",
118
132
  "session_ended": "Phiên chat đã kết thúc",
@@ -45,6 +45,22 @@
45
45
  "badge": {
46
46
  "mall": "Mall",
47
47
  "bot": "Bot"
48
+ },
49
+ "actions": {
50
+ "trigger": "Tuỳ chọn cuộc trò chuyện"
51
+ },
52
+ "mute": {
53
+ "mute_action": "Tắt thông báo",
54
+ "unmute_action": "Bật thông báo",
55
+ "muted_icon_label": "Đã tắt thông báo",
56
+ "confirm_title": "Tắt thông báo",
57
+ "confirm_desc": "Bạn có thể bỏ lỡ tin nhắn quan trọng nếu tắt thông báo! Bạn có chắc chắn muốn <bold>tắt thông báo</bold>?",
58
+ "confirm_primary": "Tắt thông báo",
59
+ "confirm_secondary": "Quay lại",
60
+ "mute_success": "Đã tắt thông báo",
61
+ "unmute_success": "Đã bật thông báo",
62
+ "mute_failed": "Không thể tắt thông báo. Vui lòng thử lại.",
63
+ "unmute_failed": "Không thể bật thông báo. Vui lòng thử lại."
48
64
  }
49
65
  },
50
66
  "thread_detail": {
@@ -38,7 +38,7 @@ export declare const QUERY_KEYS: {
38
38
  REOPEN_SESSION: string;
39
39
  GET_MESSAGE_RESOURCES: string;
40
40
  GET_GROUP_CANDIDATES: string;
41
- GET_JOINED_GROUP_LIST: string;
41
+ GET_CONVERSATION_GROUPS: string;
42
42
  GET_BLACK_LIST: string;
43
43
  DELETE_CONVERSATION: string;
44
44
  };
@@ -38,7 +38,7 @@ export const QUERY_KEYS = {
38
38
  REOPEN_SESSION: "REOPEN_SESSION",
39
39
  GET_MESSAGE_RESOURCES: "GET_MESSAGE_RESOURCES",
40
40
  GET_GROUP_CANDIDATES: "GET_GROUP_CANDIDATES",
41
- GET_JOINED_GROUP_LIST: "GET_JOINED_GROUP_LIST",
41
+ GET_CONVERSATION_GROUPS: "GET_CONVERSATION_GROUPS",
42
42
  GET_BLACK_LIST: "GET_BLACK_LIST",
43
43
  DELETE_CONVERSATION: "DELETE_CONVERSATION",
44
44
  };
@@ -27,6 +27,7 @@ export declare const ENDPOINTS: {
27
27
  joinSession: (sessionId: string) => string;
28
28
  leaveConversation: (conversationId: string) => string;
29
29
  getConversationsImDetail: string;
30
+ getConversationGroups: string;
30
31
  createConversation: string;
31
32
  getConversationDetail: (conversationId: string) => string;
32
33
  runBotFlow: (conversationId: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/services/routes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;mCAMS,MAAM;;0CAGC,MAAM,UAAU,MAAM;6BAEnC,MAAM;;oDAEiB,MAAM;uCAEnB,MAAM;kCAEX,MAAM;;oCAGJ,MAAM;mCAEP,MAAM;uCAEF,MAAM;;;;;;;;;iCAUZ,MAAM;4CAEK,MAAM;;;gDAIF,MAAM;qCAEjB,MAAM;uCAEJ,MAAM;0CAEH,MAAM;yCAEP,MAAM;8BAEjB,MAAM;wCACI,MAAM;;;;;;;;;;CAWzC,CAAC"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/services/routes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;mCAMS,MAAM;;0CAGC,MAAM,UAAU,MAAM;6BAEnC,MAAM;;oDAEiB,MAAM;uCAEnB,MAAM;kCAEX,MAAM;;oCAGJ,MAAM;mCAEP,MAAM;uCAEF,MAAM;;;;;;;;;iCAUZ,MAAM;4CAEK,MAAM;;;;gDAKF,MAAM;qCAEjB,MAAM;uCAEJ,MAAM;0CAEH,MAAM;yCAEP,MAAM;8BAEjB,MAAM;wCACI,MAAM;;;;;;;;;;CAWzC,CAAC"}
@@ -27,6 +27,7 @@ export const ENDPOINTS = {
27
27
  joinSession: (sessionId) => `chat-service/v1/crm/sessions/${sessionId}/join`,
28
28
  leaveConversation: (conversationId) => `chat-service/v1/crm/conversations/${conversationId}/leave`,
29
29
  getConversationsImDetail: "/chat-service/v1/crm/conversations/im-detail",
30
+ getConversationGroups: "/chat-service/v1/crm/conversations/groups",
30
31
  createConversation: "/chat-service/v1/app/conversations",
31
32
  getConversationDetail: (conversationId) => `/chat-service/v1/app/conversations/${conversationId}`,
32
33
  runBotFlow: (conversationId) => `/chat-service/v1/app/conversations/${conversationId}/bot-flows/run`,
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/store/conversation.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAM3C,QAAA,MAAM,oBAAoB,gFA6OvB,CAAC;AAEJ,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/store/conversation.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAM3C,QAAA,MAAM,oBAAoB,gFAkRvB,CAAC;AAEJ,eAAe,oBAAoB,CAAC"}
@@ -101,7 +101,7 @@ const useConversationStore = create((set, get) => ({
101
101
  });
102
102
  await Promise.all([
103
103
  get().getCurrentGroupInfoByReq(conversation.groupID),
104
- get().getCurrentMemberInGroupByReq(conversation.groupID),
104
+ get().getSelfGroupPermissionByReq(conversation.groupID),
105
105
  ]);
106
106
  }
107
107
  else {
@@ -156,6 +156,30 @@ const useConversationStore = create((set, get) => ({
156
156
  currentMemberInGroup: memberInfo ? Object.assign({}, memberInfo) : undefined,
157
157
  }));
158
158
  },
159
+ getSelfGroupPermissionByReq: async (groupID) => {
160
+ // BE-designated source for our own permissions in a group —
161
+ // getSelfUserInfo(groupID) does NOT return roleLevel yet, so
162
+ // getCurrentMemberInGroupByReq above stays the source for that field;
163
+ // this only refreshes `permissions` on the existing member record.
164
+ let selfInfo;
165
+ try {
166
+ const { data } = await DChatSDK.getSelfUserInfo(undefined, groupID);
167
+ selfInfo = data;
168
+ }
169
+ catch (error) {
170
+ console.error("Error fetching self group permissions:", error);
171
+ return;
172
+ }
173
+ const currentConversationData = get().conversationData;
174
+ const shouldApplyMemberInfo = (currentConversationData === null || currentConversationData === void 0 ? void 0 : currentConversationData.groupID) === groupID &&
175
+ isGroupSession(currentConversationData === null || currentConversationData === void 0 ? void 0 : currentConversationData.conversationType);
176
+ if (!shouldApplyMemberInfo || !selfInfo) {
177
+ return;
178
+ }
179
+ set((state) => ({
180
+ currentMemberInGroup: Object.assign(Object.assign({}, state.currentMemberInGroup), { groupID, userID: selfInfo.userID, nickname: selfInfo.nickname, faceURL: selfInfo.faceURL, permissions: selfInfo.permissions }),
181
+ }));
182
+ },
159
183
  clearSelectedConversation: () => {
160
184
  set({
161
185
  conversationData: null,
@@ -58,6 +58,7 @@ export interface ConversationStore {
58
58
  updateCurrentConversation: (conversation?: ConversationItem) => Promise<void>;
59
59
  getCurrentGroupInfoByReq: (groupID: string) => Promise<void>;
60
60
  getCurrentMemberInGroupByReq: (groupID: string) => Promise<void>;
61
+ getSelfGroupPermissionByReq: (groupID: string) => Promise<void>;
61
62
  resetConversationStore: () => void;
62
63
  clearSelectedConversation: () => void;
63
64
  searchClientMsgID: string;
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/store/type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/store/type.ts"],"names":[],"mappings":"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"}