@droppii-org/chat-sdk 0.3.1 → 0.3.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.
Files changed (80) hide show
  1. package/dist/components/conversation/ConversationBySessionItem.d.ts.map +1 -1
  2. package/dist/components/conversation/ConversationBySessionItem.js +3 -1
  3. package/dist/components/conversation/DeskConversationList.d.ts.map +1 -1
  4. package/dist/components/conversation/DeskConversationList.js +1 -1
  5. package/dist/components/conversation-detail/PinnedMessagesPanel.d.ts.map +1 -1
  6. package/dist/components/conversation-detail/PinnedMessagesPanel.js +1 -1
  7. package/dist/components/conversation-detail/ThreadProfilePanel.d.ts.map +1 -1
  8. package/dist/components/conversation-detail/ThreadProfilePanel.js +1 -1
  9. package/dist/components/conversation-detail/bot/BotMenuSheet.d.ts.map +1 -1
  10. package/dist/components/conversation-detail/bot/BotMenuSheet.js +1 -1
  11. package/dist/components/group/AddMemberModal.d.ts.map +1 -1
  12. package/dist/components/group/AddMemberModal.js +3 -2
  13. package/dist/components/group/AdminPermissionModal.d.ts +7 -1
  14. package/dist/components/group/AdminPermissionModal.d.ts.map +1 -1
  15. package/dist/components/group/AdminPermissionModal.js +88 -33
  16. package/dist/components/group/CreateGroupForm.d.ts.map +1 -1
  17. package/dist/components/group/CreateGroupForm.js +44 -10
  18. package/dist/components/group/GroupCompositeAvatar.d.ts.map +1 -1
  19. package/dist/components/group/GroupCompositeAvatar.js +19 -7
  20. package/dist/components/group/GroupMemberPicker.d.ts.map +1 -1
  21. package/dist/components/group/GroupMemberPicker.js +3 -2
  22. package/dist/components/media-collection/index.d.ts.map +1 -1
  23. package/dist/components/media-collection/index.js +3 -3
  24. package/dist/components/media-resources/MediaResourcePanel.d.ts.map +1 -1
  25. package/dist/components/media-resources/MediaResourcePanel.js +1 -1
  26. package/dist/components/message/GroupMembersDrawer.d.ts.map +1 -1
  27. package/dist/components/message/GroupMembersDrawer.js +61 -29
  28. package/dist/components/message/MessageHeader.d.ts.map +1 -1
  29. package/dist/components/message/MessageHeader.js +16 -5
  30. package/dist/components/message/footer/index.d.ts.map +1 -1
  31. package/dist/components/message/footer/index.js +7 -1
  32. package/dist/components/message/item/GroupNotificationMessage.d.ts +7 -0
  33. package/dist/components/message/item/GroupNotificationMessage.d.ts.map +1 -0
  34. package/dist/components/message/item/GroupNotificationMessage.js +13 -0
  35. package/dist/components/message/item/index.d.ts.map +1 -1
  36. package/dist/components/message/item/index.js +10 -2
  37. package/dist/components/message/item/renderMessageContent.d.ts.map +1 -1
  38. package/dist/components/message/item/renderMessageContent.js +18 -0
  39. package/dist/components/search-conversation/SearchDrawer.d.ts.map +1 -1
  40. package/dist/components/search-conversation/SearchDrawer.js +1 -1
  41. package/dist/components/thread/GroupThreadInfo.d.ts.map +1 -1
  42. package/dist/components/thread/GroupThreadInfo.js +33 -3
  43. package/dist/components/thread/SingleThreadInfo.d.ts.map +1 -1
  44. package/dist/components/thread/SingleThreadInfo.js +1 -1
  45. package/dist/components/thread/ThreadInfo.d.ts.map +1 -1
  46. package/dist/components/thread/ThreadInfo.js +2 -1
  47. package/dist/components/video-player/VideoPlayerModal.d.ts.map +1 -1
  48. package/dist/components/video-player/VideoPlayerModal.js +1 -1
  49. package/dist/hooks/common/useUploadFile.d.ts +3 -0
  50. package/dist/hooks/common/useUploadFile.d.ts.map +1 -0
  51. package/dist/hooks/common/useUploadFile.js +15 -0
  52. package/dist/hooks/group/useEligibleAccounts.d.ts +1 -0
  53. package/dist/hooks/group/useEligibleAccounts.d.ts.map +1 -1
  54. package/dist/hooks/group/useEligibleAccounts.js +1 -0
  55. package/dist/hooks/group/useEligibleAccountsForGroup.d.ts.map +1 -1
  56. package/dist/hooks/group/useEligibleAccountsForGroup.js +1 -0
  57. package/dist/hooks/group/useGroupMembers.d.ts +3 -1
  58. package/dist/hooks/group/useGroupMembers.d.ts.map +1 -1
  59. package/dist/hooks/group/useGroupMembers.js +23 -0
  60. package/dist/hooks/message/useMessage.d.ts.map +1 -1
  61. package/dist/hooks/message/useMessage.js +2 -1
  62. package/dist/locales/vi/common.json +1 -0
  63. package/dist/locales/vi/conversation-inbox.json +4 -2
  64. package/dist/services/routes.d.ts +3 -0
  65. package/dist/services/routes.d.ts.map +1 -1
  66. package/dist/services/routes.js +3 -0
  67. package/dist/store/conversation.d.ts.map +1 -1
  68. package/dist/store/conversation.js +10 -0
  69. package/dist/store/session.d.ts +13 -1
  70. package/dist/store/session.d.ts.map +1 -1
  71. package/dist/store/session.js +6 -2
  72. package/dist/types/dto.d.ts +11 -0
  73. package/dist/types/dto.d.ts.map +1 -1
  74. package/dist/utils/common.d.ts +1 -0
  75. package/dist/utils/common.d.ts.map +1 -1
  76. package/dist/utils/common.js +4 -0
  77. package/dist/utils/imCommon.d.ts +4 -0
  78. package/dist/utils/imCommon.d.ts.map +1 -1
  79. package/dist/utils/imCommon.js +16 -0
  80. package/package.json +1 -1
@@ -34,7 +34,7 @@ const VideoPlayerModal = ({ open, videos, initialIndex, onClose, }) => {
34
34
  const currentVideo = videos[currentIndex];
35
35
  const { snapshotWidth = 0, snapshotHeight = 0 } = currentVideo || {};
36
36
  const hasSnapshotSize = snapshotWidth > 0 && snapshotHeight > 0;
37
- return (_jsx(Modal, { open: open, onCancel: onClose, footer: null, centered: true, destroyOnHidden: true, getContainer: false, closeIcon: _jsx("span", { className: CLOSE_BUTTON_CLASS, children: _jsx(Icon, { icon: "close-b", size: 18 }) }), styles: {
37
+ return (_jsx(Modal, { open: open, onCancel: onClose, footer: null, centered: true, destroyOnHidden: true, getContainer: false, forceRender: true, closeIcon: _jsx("span", { className: CLOSE_BUTTON_CLASS, children: _jsx(Icon, { icon: "close-b", size: 18 }) }), styles: {
38
38
  content: {
39
39
  padding: 0,
40
40
  },
@@ -0,0 +1,3 @@
1
+ import type { IUploadedFile } from "../../types/dto";
2
+ export declare const useUploadFile: () => import("@tanstack/react-query").UseMutationResult<IUploadedFile, Error, File, unknown>;
3
+ //# sourceMappingURL=useUploadFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUploadFile.d.ts","sourceRoot":"","sources":["../../../src/hooks/common/useUploadFile.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,aAAa,CAAC;AAI/D,eAAO,MAAM,aAAa,8FAgBtB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { useMutation } from "@tanstack/react-query";
2
+ import { apiInstance } from "../../services/api";
3
+ import { ENDPOINTS } from "../../services/routes";
4
+ const UPLOAD_PATH = "livechat";
5
+ export const useUploadFile = () => useMutation({
6
+ mutationFn: async (file) => {
7
+ const formData = new FormData();
8
+ formData.append("files", file);
9
+ const { data } = await apiInstance.post(ENDPOINTS.uploaderService.uploadPermanent, formData, {
10
+ params: { isPublic: true, path: UPLOAD_PATH },
11
+ headers: { "Content-Type": "multipart/form-data" },
12
+ });
13
+ return data.data[0];
14
+ },
15
+ });
@@ -1,6 +1,7 @@
1
1
  export interface EligibleAccountItem {
2
2
  userID: string;
3
3
  displayName: string;
4
+ username: string;
4
5
  avatar: string | null;
5
6
  }
6
7
  export declare const useEligibleAccounts: (search: string, enabled?: boolean) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useEligibleAccounts.d.ts","sourceRoot":"","sources":["../../../src/hooks/group/useEligibleAccounts.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAKD,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,EAAE,iBAAc;;;;;;CAwBjE,CAAC"}
1
+ {"version":3,"file":"useEligibleAccounts.d.ts","sourceRoot":"","sources":["../../../src/hooks/group/useEligibleAccounts.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAKD,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,EAAE,iBAAc;;;;;;CAyBjE,CAAC"}
@@ -11,6 +11,7 @@ export const useEligibleAccounts = (search, enabled = true) => {
11
11
  const accounts = useMemo(() => candidates.map((candidate) => ({
12
12
  userID: candidate.id,
13
13
  displayName: candidate.fullName,
14
+ username: candidate.username,
14
15
  avatar: candidate.avatar,
15
16
  })), [candidates]);
16
17
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useEligibleAccountsForGroup.d.ts","sourceRoot":"","sources":["../../../src/hooks/group/useEligibleAccountsForGroup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjE,eAAO,MAAM,2BAA2B,GACtC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,iBAAc;;;;;;CA0Bf,CAAC"}
1
+ {"version":3,"file":"useEligibleAccountsForGroup.d.ts","sourceRoot":"","sources":["../../../src/hooks/group/useEligibleAccountsForGroup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjE,eAAO,MAAM,2BAA2B,GACtC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,iBAAc;;;;;;CA2Bf,CAAC"}
@@ -11,6 +11,7 @@ export const useEligibleAccountsForGroup = (search, groupID, enabled = true) =>
11
11
  const accounts = useMemo(() => candidates.map((candidate) => ({
12
12
  userID: candidate.id,
13
13
  displayName: candidate.fullName,
14
+ username: candidate.username,
14
15
  avatar: candidate.avatar,
15
16
  })), [candidates]);
16
17
  return {
@@ -1,9 +1,11 @@
1
- import { GroupMemberItem } from "@droppii-org/wasm-client-sdk";
1
+ import { GroupMemberItem, GroupMemberRole } from "@droppii-org/wasm-client-sdk";
2
2
  interface UseGroupMembersResult {
3
3
  members: GroupMemberItem[];
4
4
  isLoading: boolean;
5
5
  error?: string;
6
6
  refetch: () => Promise<void>;
7
+ patchMemberRole: (userID: string, roleLevel: GroupMemberRole) => void;
8
+ patchMemberPermissions: (userID: string, permissions: string[]) => void;
7
9
  }
8
10
  export declare const useGroupMembers: (groupID?: string) => UseGroupMembersResult;
9
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useGroupMembers.d.ts","sourceRoot":"","sources":["../../../src/hooks/group/useGroupMembers.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,eAAe,EAAW,MAAM,8BAA8B,CAAC;AAMlF,UAAU,qBAAqB;IAC7B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,KACf,qBA+DF,CAAC"}
1
+ {"version":3,"file":"useGroupMembers.d.ts","sourceRoot":"","sources":["../../../src/hooks/group/useGroupMembers.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,eAAe,EAAE,eAAe,EAA4B,MAAM,8BAA8B,CAAC;AAMpH,UAAU,qBAAqB;IAC7B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IACtE,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACzE;AAED,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,KACf,qBAyGF,CAAC"}
@@ -45,17 +45,40 @@ export const useGroupMembers = (groupID) => {
45
45
  }
46
46
  };
47
47
  const onMemberAdded = () => void fetchMembers();
48
+ // BE pushes the member's full updated record (roleLevel + the
49
+ // permissions[] it reset to) whenever a role/permission change is
50
+ // applied — e.g. setGroupMemberRoleLevel resets permissions to the new
51
+ // role's defaults server-side. Patch straight from this payload instead
52
+ // of predicting what BE would set, so the member list (and any open
53
+ // "Cài đặt quyền quản trị viên" for that member) reflects the real
54
+ // server state without waiting for a manual refetch/F5.
55
+ const onMemberInfoChanged = ({ data }) => {
56
+ if (data.groupID !== groupID)
57
+ return;
58
+ setMembers((prev) => prev.map((member) => (member.userID === data.userID ? data : member)));
59
+ };
48
60
  DChatSDK.on(CbEvents.OnGroupMemberDeleted, onMemberDeleted);
49
61
  DChatSDK.on(CbEvents.OnGroupMemberAdded, onMemberAdded);
62
+ DChatSDK.on(CbEvents.OnGroupMemberInfoChanged, onMemberInfoChanged);
50
63
  return () => {
51
64
  DChatSDK.off(CbEvents.OnGroupMemberDeleted, onMemberDeleted);
52
65
  DChatSDK.off(CbEvents.OnGroupMemberAdded, onMemberAdded);
66
+ DChatSDK.off(CbEvents.OnGroupMemberInfoChanged, onMemberInfoChanged);
53
67
  };
54
68
  }, [groupID, fetchMembers]);
69
+ const patchMemberRole = useCallback((userID, roleLevel) => {
70
+ setMembers((prev) => prev.map((member) => member.userID === userID ? Object.assign(Object.assign({}, member), { roleLevel }) : member));
71
+ }, []);
72
+ const patchMemberPermissions = useCallback((userID, permissions) => {
73
+ setMembers((prev) => prev.map((member) => member.userID === userID
74
+ ? Object.assign(Object.assign({}, member), { permissions: permissions }) : member));
75
+ }, []);
55
76
  return {
56
77
  members,
57
78
  isLoading,
58
79
  error,
59
80
  refetch: fetchMembers,
81
+ patchMemberRole,
82
+ patchMemberPermissions,
60
83
  };
61
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/message/useMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,EACX,WAAW,EAEZ,MAAM,8BAA8B,CAAC;AAYtC,eAAO,MAAM,kBAAkB,eAiB9B,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,SAAS,WAAW,EACpB,OAAO,OAAO,KACb,OAWF,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,iBAAiB,MAAM,EACvB,oBAAoB,MAAM,EAC1B,iBAAc,EACd,uBAAqB;;;;;qBAeA,WAAW,EAAE;;;;;;qBAAb,WAAW,EAAE;;;;;;CAsSnC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,WAAW,SACpB,CAAC;AAChC,eAAO,MAAM,gBAAgB,GAAI,SAAS,WAAW,SACpB,CAAC;AAClC,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,SACf,CAAC;AAEtC,eAAO,MAAM,kBAAkB,GAC7B,aAAa,WAAW,EAAE,EAC1B,SAAS,WAAW,EACpB,WAAW,MAAM,GAAG,MAAM,KACzB,WAAW,GAAG,SAkBhB,CAAC"}
1
+ {"version":3,"file":"useMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/message/useMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,EACX,WAAW,EAEZ,MAAM,8BAA8B,CAAC;AAYtC,eAAO,MAAM,kBAAkB,eAkB9B,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,SAAS,WAAW,EACpB,OAAO,OAAO,KACb,OAWF,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,iBAAiB,MAAM,EACvB,oBAAoB,MAAM,EAC1B,iBAAc,EACd,uBAAqB;;;;;qBAeA,WAAW,EAAE;;;;;;qBAAb,WAAW,EAAE;;;;;;CAsSnC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,WAAW,SACpB,CAAC;AAChC,eAAO,MAAM,gBAAgB,GAAI,SAAS,WAAW,SACpB,CAAC;AAClC,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,SACf,CAAC;AAEtC,eAAO,MAAM,kBAAkB,GAC7B,aAAa,WAAW,EAAE,EAC1B,SAAS,WAAW,EACpB,WAAW,MAAM,GAAG,MAAM,KACzB,WAAW,GAAG,SAkBhB,CAAC"}
@@ -8,7 +8,7 @@ import isEmpty from "lodash/isEmpty";
8
8
  import { useChatContext } from "../../context/ChatContext";
9
9
  import useAuthStore from "../../store/auth";
10
10
  import { ConnectStatus, SyncStatus } from "../../types/chat";
11
- import { isSystemLogMessageType } from "../../utils/messageLog";
11
+ import { GROUP_NOTIFICATION_MESSAGE_TYPES, isSystemLogMessageType } from "../../utils/messageLog";
12
12
  import { isRenderableCustomMessage } from "../../utils/customMessage";
13
13
  export const visibleTypeMessage = [
14
14
  MessageType.TextMessage,
@@ -27,6 +27,7 @@ export const visibleTypeMessage = [
27
27
  MessageType.UrlTextMessage,
28
28
  MessageType.RevokeMessage,
29
29
  MessageType.LogTextMessage,
30
+ ...GROUP_NOTIFICATION_MESSAGE_TYPES,
30
31
  ];
31
32
  export const isMessageHiddenForViewer = (message, isCrm) => {
32
33
  if (!visibleTypeMessage.includes(message === null || message === void 0 ? void 0 : message.contentType))
@@ -229,6 +229,7 @@
229
229
  "delete_conversation": "Xóa trò chuyện",
230
230
  "disband_group": "Giải tán nhóm",
231
231
  "update_group_info_failed": "Cập nhật thông tin nhóm thất bại",
232
+ "avatar_upload_failed": "Không thể tải ảnh lên. Vui lòng thử lại",
232
233
  "disband_group_success": "Đã giải tán nhóm",
233
234
  "disband_group_failed": "Giải tán nhóm thất bại",
234
235
  "disband_group_confirm_title": "Giải tán nhóm?",
@@ -13,7 +13,8 @@
13
13
  "create_group": {
14
14
  "title": "Tạo nhóm chat",
15
15
  "back": "Quay lại",
16
- "name_placeholder": "Nhập tên nhóm (tùy chọn)",
16
+ "name_placeholder": "Nhập tên nhóm",
17
+ "name_required": "Vui lòng nhập tên nhóm",
17
18
  "privacy_label": "Quyền riêng tư",
18
19
  "privacy_private": "Riêng tư",
19
20
  "privacy_private_desc": "Chỉ thành viên mới có thể truy cập và tìm kiếm nhóm chat",
@@ -27,7 +28,8 @@
27
28
  "cancel": "Hủy",
28
29
  "submit": "Tạo nhóm",
29
30
  "create_group_success": "Tạo nhóm thành công",
30
- "create_group_failed": "Không thể tạo nhóm. Vui lòng thử lại"
31
+ "create_group_failed": "Không thể tạo nhóm. Vui lòng thử lại",
32
+ "avatar_upload_failed": "Không thể tải ảnh lên. Vui lòng thử lại"
31
33
  },
32
34
  "add_member": {
33
35
  "title": "Thêm người vào nhóm",
@@ -45,5 +45,8 @@ export declare const ENDPOINTS: {
45
45
  userService: {
46
46
  getCurrentUserInfo: string;
47
47
  };
48
+ uploaderService: {
49
+ uploadPermanent: string;
50
+ };
48
51
  };
49
52
  //# sourceMappingURL=routes.d.ts.map
@@ -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;;;;gDAKF,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;;;;;;;;;;;;;CAczC,CAAC"}
@@ -45,4 +45,7 @@ export const ENDPOINTS = {
45
45
  userService: {
46
46
  getCurrentUserInfo: "/user-service/v1/app/user",
47
47
  },
48
+ uploaderService: {
49
+ uploadPermanent: "/uploader-service/v1/uploader/permanently",
50
+ },
48
51
  };
@@ -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,gFAkRvB,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,gFAgSvB,CAAC;AAEJ,eAAe,oBAAoB,CAAC"}
@@ -123,6 +123,16 @@ const useConversationStore = create((set, get) => ({
123
123
  console.error("Error fetching group info:", error);
124
124
  return;
125
125
  }
126
+ // Server doesn't push conversationList's showName/faceURL on group
127
+ // rename/avatar change (SetGroupInfo only emits the group-level
128
+ // OnGroupInfoChanged tip + a notification message, never
129
+ // SetConversations for those fields) — sync the sidebar row here from
130
+ // the freshly-fetched group info instead of waiting on an event that
131
+ // never carries it.
132
+ set((state) => ({
133
+ conversationList: state.conversationList.map((conversation) => conversation.groupID === groupID
134
+ ? Object.assign(Object.assign({}, conversation), { showName: groupInfo.groupName, faceURL: groupInfo.faceURL }) : conversation),
135
+ }));
126
136
  const currentConversationData = get().conversationData;
127
137
  const shouldApplyGroupInfo = (currentConversationData === null || currentConversationData === void 0 ? void 0 : currentConversationData.groupID) === groupID &&
128
138
  isGroupSession(currentConversationData === null || currentConversationData === void 0 ? void 0 : currentConversationData.conversationType);
@@ -6,6 +6,18 @@ interface SessionStore {
6
6
  viewMode: ConversationViewMode;
7
7
  setViewMode: (viewMode: ConversationViewMode) => void;
8
8
  }
9
- declare const useSessionStore: import("zustand").UseBoundStore<import("zustand").StoreApi<SessionStore>>;
9
+ declare const useSessionStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<SessionStore>, "setState" | "persist"> & {
10
+ setState(partial: SessionStore | Partial<SessionStore> | ((state: SessionStore) => SessionStore | Partial<SessionStore>), replace?: false | undefined): unknown;
11
+ setState(state: SessionStore | ((state: SessionStore) => SessionStore), replace: true): unknown;
12
+ persist: {
13
+ setOptions: (options: Partial<import("zustand/middleware").PersistOptions<SessionStore, SessionStore, unknown>>) => void;
14
+ clearStorage: () => void;
15
+ rehydrate: () => Promise<void> | void;
16
+ hasHydrated: () => boolean;
17
+ onHydrate: (fn: (state: SessionStore) => void) => () => void;
18
+ onFinishHydration: (fn: (state: SessionStore) => void) => () => void;
19
+ getOptions: () => Partial<import("zustand/middleware").PersistOptions<SessionStore, SessionStore, unknown>>;
20
+ };
21
+ }>;
10
22
  export default useSessionStore;
11
23
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/store/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAGxC,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,WAAW,CAAC;AAE5D,UAAU,YAAY;IACpB,aAAa,EAAE,cAAc,CAAC;IAC9B,gBAAgB,EAAE,CAAC,aAAa,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,WAAW,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACvD;AAED,QAAA,MAAM,eAAe,2EASlB,CAAC;AAEJ,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/store/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAGxC,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,WAAW,CAAC;AAE5D,UAAU,YAAY;IACpB,aAAa,EAAE,cAAc,CAAC;IAC9B,gBAAgB,EAAE,CAAC,aAAa,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,WAAW,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACvD;AAKD,QAAA,MAAM,eAAe;;;;;;;;;;;;EAcpB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,6 +1,10 @@
1
1
  import { create } from "zustand";
2
+ import { persist } from "zustand/middleware";
2
3
  import { SessionStatus } from "../types/chat";
3
- const useSessionStore = create((set) => ({
4
+ // Persisted so a page refresh keeps whichever tab/filter the user was on
5
+ // ("all groups" uses a different API than "my messages" filters) instead of
6
+ // always snapping back to the IN_PROCESS default.
7
+ const useSessionStore = create()(persist((set) => ({
4
8
  filterSummary: {
5
9
  status: SessionStatus.IN_PROCESS,
6
10
  tag: undefined,
@@ -8,5 +12,5 @@ const useSessionStore = create((set) => ({
8
12
  setFilterSummary: (filterSummary) => set({ filterSummary, viewMode: "sessions" }),
9
13
  viewMode: "sessions",
10
14
  setViewMode: (viewMode) => set({ viewMode }),
11
- }));
15
+ }), { name: "chat-session-filter" }));
12
16
  export default useSessionStore;
@@ -237,4 +237,15 @@ export interface ICannedResponseItem {
237
237
  createdDate: string;
238
238
  modifiedDate: string;
239
239
  }
240
+ export interface IUploadedFile {
241
+ streamId: string;
242
+ name: string;
243
+ fileName: string;
244
+ baseUrl: string;
245
+ contentType: string;
246
+ fileSize: number;
247
+ width: number;
248
+ height: number;
249
+ publicUrl: string;
250
+ }
240
251
  //# sourceMappingURL=dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dto.d.ts","sourceRoot":"","sources":["../../src/types/dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dto.d.ts","sourceRoot":"","sources":["../../src/types/dto.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { ConversationItem, MessageType } from "@droppii-org/wasm-client-sdk";
2
2
  import { TFunction } from "i18next";
3
3
  import { UrlMetadataInfo } from "../types/chat";
4
4
  import { PeerType } from "../types/conversation";
5
+ export declare const formatMemberLabel: (displayName: string, username?: string) => string;
5
6
  export declare const parseMessageContent: <T>(content?: string) => Partial<T>;
6
7
  export declare const parseUrlMetadata: (ex?: string) => UrlMetadataInfo | undefined;
7
8
  export declare function formatDuration(seconds: number): string;
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAqB,eAAe,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,UAAU,MAAM,KAAG,OAAO,CAAC,CAAC,CAQlE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,eAAe,GAAG,SAQhE,CAAC;AAmCF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAapD;AAED,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,eAAe,GAC1B,OAAO,MAAM,EACb,UAAS,sBAA2B,WAoBrC,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,aAAa,WAAW,EACxB,YAAY,MAAM,EAClB,IAAI,SAAS,EACb,YAAY;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EACpD,aAAa;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,WAwC1D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,YAAY,MAAM,KAAG,OAS5D,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,eAAe,gBAAgB,EAAE,EACjC,OAAO,OAAO,KACb,gBAAgB,EAMlB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,WAAW,MAAM,EACjB,gBAAgB,MAAM,EACtB,IAAI,SAAS,EACb,eAAe;IAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAClE,UAAU;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAE,WAuG5C,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,kBAAc,WA2Cf,CAAC;AAEF,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAqBR;AAED,eAAO,MAAM,QAAQ,QAAkD,CAAC;AAExE,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAqC3D;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,IAOrD,CAAC;AAKF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,OACf,CAAC;AAEnC,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAO9B,CAAC;AAEZ;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgEjD"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAqB,eAAe,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAOhD,eAAO,MAAM,iBAAiB,GAC5B,aAAa,MAAM,EACnB,WAAW,MAAM,KAChB,MAAmE,CAAC;AAEvE,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,UAAU,MAAM,KAAG,OAAO,CAAC,CAAC,CAQlE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,eAAe,GAAG,SAQhE,CAAC;AAmCF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAapD;AAED,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,eAAe,GAC1B,OAAO,MAAM,EACb,UAAS,sBAA2B,WAoBrC,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,aAAa,WAAW,EACxB,YAAY,MAAM,EAClB,IAAI,SAAS,EACb,YAAY;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EACpD,aAAa;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,WAwC1D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,YAAY,MAAM,KAAG,OAS5D,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,eAAe,gBAAgB,EAAE,EACjC,OAAO,OAAO,KACb,gBAAgB,EAMlB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,WAAW,MAAM,EACjB,gBAAgB,MAAM,EACtB,IAAI,SAAS,EACb,eAAe;IAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAClE,UAAU;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAE,WAuG5C,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,kBAAc,WA2Cf,CAAC;AAEF,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAqBR;AAED,eAAO,MAAM,QAAQ,QAAkD,CAAC;AAExE,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAqC3D;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,IAOrD,CAAC;AAKF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,OACf,CAAC;AAEnC,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAO9B,CAAC;AAEZ;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgEjD"}
@@ -4,6 +4,10 @@ import DOMPurify from "dompurify";
4
4
  import { PeerType } from "../types/conversation";
5
5
  import { CustomMessageType } from "../types/customMessage";
6
6
  import { getGroupNotificationText, getSystemLogMessageText } from "./messageLog";
7
+ // Group member pickers (create-group, add-member) can list several
8
+ // candidates that share the same display name — appending the username
9
+ // disambiguates them.
10
+ export const formatMemberLabel = (displayName, username) => (username ? `${displayName} - ${username}` : displayName);
7
11
  export const parseMessageContent = (content) => {
8
12
  if (!content)
9
13
  return {};
@@ -1,5 +1,9 @@
1
1
  import { ConversationItem, SessionType } from "@droppii-org/wasm-client-sdk";
2
2
  export declare const isGroupSession: (sessionType?: SessionType) => boolean;
3
+ export declare const isGroupConversation: (conversation?: {
4
+ peerType?: string;
5
+ conversationType?: SessionType;
6
+ }) => boolean;
3
7
  export declare const conversationSort: (conversationList: ConversationItem[], originalList?: ConversationItem[]) => {
4
8
  conversationID: string;
5
9
  conversationType: SessionType;
@@ -1 +1 @@
1
- {"version":3,"file":"imCommon.d.ts","sourceRoot":"","sources":["../../src/utils/imCommon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG7E,eAAO,MAAM,cAAc,GAAI,cAAc,WAAW,YACO,CAAC;AAEhE,eAAO,MAAM,gBAAgB,GAC3B,kBAAkB,gBAAgB,EAAE,EACpC,eAAe,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;GA+ClC,CAAC"}
1
+ {"version":3,"file":"imCommon.d.ts","sourceRoot":"","sources":["../../src/utils/imCommon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAI7E,eAAO,MAAM,cAAc,GAAI,cAAc,WAAW,YACO,CAAC;AAWhE,eAAO,MAAM,mBAAmB,GAAI,eAAe;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,WAAW,CAAC;CAChC,YAKA,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,kBAAkB,gBAAgB,EAAE,EACpC,eAAe,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;GA+ClC,CAAC"}
@@ -10,7 +10,23 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import { GroupSessionTypes } from "../constants/im";
13
+ import { PeerType } from "../types/conversation";
13
14
  export const isGroupSession = (sessionType) => sessionType ? GroupSessionTypes.includes(sessionType) : false;
15
+ // peerType (BE-assigned, e.g. GROUP/BOT/USER/CUSTOMER) is the source of
16
+ // truth for "is this a real group vs a CX support thread" — a CX session
17
+ // can use SessionType.Group/WorkingGroup under the hood while still being
18
+ // a support conversation (tag/status/Phiên hỗ trợ), not a member-managed
19
+ // group. But peerType isn't set on the instant response from CRM's
20
+ // createGroup() (raw SDK call, no BE round-trip yet) — conversationType
21
+ // (isGroupSession) is the fallback for that brief window, until the
22
+ // conversation gets refetched through a BE-backed path that fills in
23
+ // peerType.
24
+ export const isGroupConversation = (conversation) => {
25
+ if (conversation === null || conversation === void 0 ? void 0 : conversation.peerType) {
26
+ return conversation.peerType === PeerType.GROUP;
27
+ }
28
+ return isGroupSession(conversation === null || conversation === void 0 ? void 0 : conversation.conversationType);
29
+ };
14
30
  export const conversationSort = (conversationList, originalList) => {
15
31
  const listWithIndex = (conversationList === null || conversationList === void 0 ? void 0 : conversationList.map((item, index) => {
16
32
  var _a;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@droppii-org/chat-sdk",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Droppii React Chat SDK",
5
5
  "repository": {
6
6
  "type": "git",