@droppii-org/chat-sdk 0.0.43 → 0.0.44

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 (33) hide show
  1. package/dist/assets/conversationBg.png +0 -0
  2. package/dist/hooks/collection/useMediaCollection.d.ts +229 -0
  3. package/dist/hooks/collection/useMediaCollection.d.ts.map +1 -0
  4. package/dist/hooks/collection/useMediaCollection.js +66 -0
  5. package/dist/hooks/conversation/useConversationStore.d.ts +3 -2
  6. package/dist/hooks/conversation/useConversationStore.d.ts.map +1 -1
  7. package/dist/hooks/search/useSearchConversation.d.ts +2 -0
  8. package/dist/hooks/search/useSearchConversation.d.ts.map +1 -0
  9. package/dist/hooks/search/useSearchConversation.js +1 -0
  10. package/dist/hooks/session/useGetSessionByTagOrStatus.d.ts +220 -0
  11. package/dist/hooks/session/useGetSessionByTagOrStatus.d.ts.map +1 -0
  12. package/dist/hooks/session/useGetSessionByTagOrStatus.js +72 -0
  13. package/package.json +1 -1
  14. package/dist/assets/openIM.wasm +0 -0
  15. package/dist/components/ChatBubble.d.ts +0 -10
  16. package/dist/components/ChatBubble.d.ts.map +0 -1
  17. package/dist/components/ChatBubble.js +0 -28
  18. package/dist/components/message/MessageItem.d.ts +0 -7
  19. package/dist/components/message/MessageItem.d.ts.map +0 -1
  20. package/dist/components/message/MessageItem.js +0 -21
  21. package/dist/components/message/footer/BottomSection.d.ts +0 -3
  22. package/dist/components/message/footer/BottomSection.d.ts.map +0 -1
  23. package/dist/components/message/footer/BottomSection.js +0 -6
  24. package/dist/screens/desk-message/index.d.ts +0 -3
  25. package/dist/screens/desk-message/index.d.ts.map +0 -1
  26. package/dist/screens/desk-message/index.js +0 -15
  27. package/dist/tsconfig.tsbuildinfo +0 -1
  28. package/dist/types/index.d.ts +0 -1
  29. package/dist/types/index.d.ts.map +0 -1
  30. package/dist/types/index.js +0 -1
  31. package/dist/types/sdk.d.ts +0 -1
  32. package/dist/types/sdk.d.ts.map +0 -1
  33. package/dist/types/sdk.js +0 -1
Binary file
@@ -0,0 +1,229 @@
1
+ import { MessageType } from "@openim/wasm-client-sdk";
2
+ import { MediaCollectionItem, MediaCollectionResponse } from "../../types/dto";
3
+ export declare const useMediaCollection: ({ recvID, contentType, }: {
4
+ recvID: string;
5
+ contentType: MessageType;
6
+ }) => {
7
+ error: Error;
8
+ isError: true;
9
+ isPending: false;
10
+ isLoadingError: false;
11
+ isRefetchError: true;
12
+ isSuccess: false;
13
+ isPlaceholderData: false;
14
+ status: "error";
15
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
16
+ hasPreviousPage: boolean;
17
+ isFetchNextPageError: boolean;
18
+ isFetchPreviousPageError: boolean;
19
+ isFetchingPreviousPage: boolean;
20
+ dataUpdatedAt: number;
21
+ errorUpdatedAt: number;
22
+ failureCount: number;
23
+ failureReason: Error | null;
24
+ errorUpdateCount: number;
25
+ isFetched: boolean;
26
+ isFetchedAfterMount: boolean;
27
+ isFetching: boolean;
28
+ isInitialLoading: boolean;
29
+ isPaused: boolean;
30
+ isRefetching: boolean;
31
+ isStale: boolean;
32
+ isEnabled: boolean;
33
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
34
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
35
+ promise: Promise<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>>;
36
+ data: import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown> | undefined;
37
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
38
+ hasNextPage: boolean;
39
+ isFetchingNextPage: boolean;
40
+ isLoading: boolean;
41
+ groupedData: Record<string, MediaCollectionItem[]>;
42
+ dataFlatten: MediaCollectionItem[];
43
+ } | {
44
+ error: null;
45
+ isError: false;
46
+ isPending: false;
47
+ isLoadingError: false;
48
+ isRefetchError: false;
49
+ isFetchNextPageError: false;
50
+ isFetchPreviousPageError: false;
51
+ isSuccess: true;
52
+ isPlaceholderData: false;
53
+ status: "success";
54
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
55
+ hasPreviousPage: boolean;
56
+ isFetchingPreviousPage: boolean;
57
+ dataUpdatedAt: number;
58
+ errorUpdatedAt: number;
59
+ failureCount: number;
60
+ failureReason: Error | null;
61
+ errorUpdateCount: number;
62
+ isFetched: boolean;
63
+ isFetchedAfterMount: boolean;
64
+ isFetching: boolean;
65
+ isInitialLoading: boolean;
66
+ isPaused: boolean;
67
+ isRefetching: boolean;
68
+ isStale: boolean;
69
+ isEnabled: boolean;
70
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
71
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
72
+ promise: Promise<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>>;
73
+ data: import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown> | undefined;
74
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
75
+ hasNextPage: boolean;
76
+ isFetchingNextPage: boolean;
77
+ isLoading: boolean;
78
+ groupedData: Record<string, MediaCollectionItem[]>;
79
+ dataFlatten: MediaCollectionItem[];
80
+ } | {
81
+ error: Error;
82
+ isError: true;
83
+ isPending: false;
84
+ isLoadingError: true;
85
+ isRefetchError: false;
86
+ isFetchNextPageError: false;
87
+ isFetchPreviousPageError: false;
88
+ isSuccess: false;
89
+ isPlaceholderData: false;
90
+ status: "error";
91
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
92
+ hasPreviousPage: boolean;
93
+ isFetchingPreviousPage: boolean;
94
+ dataUpdatedAt: number;
95
+ errorUpdatedAt: number;
96
+ failureCount: number;
97
+ failureReason: Error | null;
98
+ errorUpdateCount: number;
99
+ isFetched: boolean;
100
+ isFetchedAfterMount: boolean;
101
+ isFetching: boolean;
102
+ isInitialLoading: boolean;
103
+ isPaused: boolean;
104
+ isRefetching: boolean;
105
+ isStale: boolean;
106
+ isEnabled: boolean;
107
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
108
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
109
+ promise: Promise<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>>;
110
+ data: import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown> | undefined;
111
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
112
+ hasNextPage: boolean;
113
+ isFetchingNextPage: boolean;
114
+ isLoading: boolean;
115
+ groupedData: Record<string, MediaCollectionItem[]>;
116
+ dataFlatten: MediaCollectionItem[];
117
+ } | {
118
+ error: null;
119
+ isError: false;
120
+ isPending: true;
121
+ isLoadingError: false;
122
+ isRefetchError: false;
123
+ isFetchNextPageError: false;
124
+ isFetchPreviousPageError: false;
125
+ isSuccess: false;
126
+ isPlaceholderData: false;
127
+ status: "pending";
128
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
129
+ hasPreviousPage: boolean;
130
+ isFetchingPreviousPage: boolean;
131
+ dataUpdatedAt: number;
132
+ errorUpdatedAt: number;
133
+ failureCount: number;
134
+ failureReason: Error | null;
135
+ errorUpdateCount: number;
136
+ isFetched: boolean;
137
+ isFetchedAfterMount: boolean;
138
+ isFetching: boolean;
139
+ isInitialLoading: boolean;
140
+ isPaused: boolean;
141
+ isRefetching: boolean;
142
+ isStale: boolean;
143
+ isEnabled: boolean;
144
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
145
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
146
+ promise: Promise<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>>;
147
+ data: import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown> | undefined;
148
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
149
+ hasNextPage: boolean;
150
+ isFetchingNextPage: boolean;
151
+ isLoading: boolean;
152
+ groupedData: Record<string, MediaCollectionItem[]>;
153
+ dataFlatten: MediaCollectionItem[];
154
+ } | {
155
+ error: null;
156
+ isError: false;
157
+ isPending: true;
158
+ isLoadingError: false;
159
+ isRefetchError: false;
160
+ isFetchNextPageError: false;
161
+ isFetchPreviousPageError: false;
162
+ isSuccess: false;
163
+ isPlaceholderData: false;
164
+ status: "pending";
165
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
166
+ hasPreviousPage: boolean;
167
+ isFetchingPreviousPage: boolean;
168
+ dataUpdatedAt: number;
169
+ errorUpdatedAt: number;
170
+ failureCount: number;
171
+ failureReason: Error | null;
172
+ errorUpdateCount: number;
173
+ isFetched: boolean;
174
+ isFetchedAfterMount: boolean;
175
+ isFetching: boolean;
176
+ isInitialLoading: boolean;
177
+ isPaused: boolean;
178
+ isRefetching: boolean;
179
+ isStale: boolean;
180
+ isEnabled: boolean;
181
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
182
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
183
+ promise: Promise<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>>;
184
+ data: import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown> | undefined;
185
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
186
+ hasNextPage: boolean;
187
+ isFetchingNextPage: boolean;
188
+ isLoading: boolean;
189
+ groupedData: Record<string, MediaCollectionItem[]>;
190
+ dataFlatten: MediaCollectionItem[];
191
+ } | {
192
+ isError: false;
193
+ error: null;
194
+ isPending: false;
195
+ isLoadingError: false;
196
+ isRefetchError: false;
197
+ isSuccess: true;
198
+ isPlaceholderData: true;
199
+ isFetchNextPageError: false;
200
+ isFetchPreviousPageError: false;
201
+ status: "success";
202
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
203
+ hasPreviousPage: boolean;
204
+ isFetchingPreviousPage: boolean;
205
+ dataUpdatedAt: number;
206
+ errorUpdatedAt: number;
207
+ failureCount: number;
208
+ failureReason: Error | null;
209
+ errorUpdateCount: number;
210
+ isFetched: boolean;
211
+ isFetchedAfterMount: boolean;
212
+ isFetching: boolean;
213
+ isInitialLoading: boolean;
214
+ isPaused: boolean;
215
+ isRefetching: boolean;
216
+ isStale: boolean;
217
+ isEnabled: boolean;
218
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
219
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
220
+ promise: Promise<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>>;
221
+ data: import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown> | undefined;
222
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<MediaCollectionResponse, unknown>, Error>>;
223
+ hasNextPage: boolean;
224
+ isFetchingNextPage: boolean;
225
+ isLoading: boolean;
226
+ groupedData: Record<string, MediaCollectionItem[]>;
227
+ dataFlatten: MediaCollectionItem[];
228
+ };
229
+ //# sourceMappingURL=useMediaCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMediaCollection.d.ts","sourceRoot":"","sources":["../../../src/hooks/collection/useMediaCollection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAIzB,eAAO,MAAM,kBAAkB,GAAI,0BAGhC;IACD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;CAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEA,CAAC"}
@@ -0,0 +1,66 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { useInfiniteQuery } from "@tanstack/react-query";
13
+ import { QUERY_KEYS } from "../../services/query";
14
+ import { apiInstance } from "../../services/api";
15
+ import { ENDPOINTS } from "../../services/routes";
16
+ import { useMemo } from "react";
17
+ import dayjs from "dayjs";
18
+ export const useMediaCollection = ({ recvID, contentType, }) => {
19
+ const _a = useInfiniteQuery({
20
+ initialPageParam: 1,
21
+ queryKey: [QUERY_KEYS.GET_IMAGE_COLLECTION, recvID, contentType],
22
+ queryFn: async ({ pageParam = 1 }) => {
23
+ const params = {
24
+ contentType,
25
+ recvID,
26
+ page: pageParam,
27
+ pageSize: 50,
28
+ };
29
+ const res = await apiInstance.post(ENDPOINTS.chatService.getMediaCollection, params);
30
+ return res.data;
31
+ },
32
+ getNextPageParam: (lastPage) => {
33
+ var _a, _b;
34
+ const currentPage = (_a = lastPage === null || lastPage === void 0 ? void 0 : lastPage.pageable) === null || _a === void 0 ? void 0 : _a.pageNumber;
35
+ const totalPages = (_b = lastPage === null || lastPage === void 0 ? void 0 : lastPage.pageable) === null || _b === void 0 ? void 0 : _b.totalPages;
36
+ return currentPage + 1 < totalPages ? currentPage + 1 : undefined;
37
+ },
38
+ enabled: !!recvID,
39
+ }), { data, fetchNextPage, hasNextPage, isFetchingNextPage, isLoading } = _a, rest = __rest(_a, ["data", "fetchNextPage", "hasNextPage", "isFetchingNextPage", "isLoading"]);
40
+ const { groupedData, dataFlatten } = useMemo(() => {
41
+ if (!data)
42
+ return {
43
+ groupedData: {},
44
+ dataFlatten: [],
45
+ };
46
+ const allItems = data.pages.flatMap((page) => page.data);
47
+ const mGroupeddata = allItems.reduce((acc, item) => {
48
+ const dateKey = dayjs(item.chatLog.sendTime).format("YYYY-MM-DD");
49
+ if (!acc[dateKey])
50
+ acc[dateKey] = [];
51
+ acc[dateKey].push(item);
52
+ return acc;
53
+ }, {});
54
+ return {
55
+ groupedData: mGroupeddata,
56
+ dataFlatten: allItems,
57
+ };
58
+ }, [data]);
59
+ return Object.assign({ data,
60
+ fetchNextPage,
61
+ hasNextPage,
62
+ isFetchingNextPage,
63
+ isLoading,
64
+ groupedData,
65
+ dataFlatten }, rest);
66
+ };
@@ -1,6 +1,7 @@
1
+ import { ConversationItem } from "@openim/wasm-client-sdk";
1
2
  interface ConversationStore {
2
- conversationData: any;
3
- setConversationData: (data: any) => void;
3
+ conversationData: ConversationItem | null;
4
+ setConversationData: (data: ConversationItem) => void;
4
5
  selectedThreadId: string;
5
6
  selectedSourceId: string;
6
7
  setSelectedThreadId: (threadId: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useConversationStore.d.ts","sourceRoot":"","sources":["../../../src/hooks/conversation/useConversationStore.ts"],"names":[],"mappings":"AAEA,UAAU,iBAAiB;IACzB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,QAAA,MAAM,oBAAoB,gFAOvB,CAAC;AAEJ,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"useConversationStore.d.ts","sourceRoot":"","sources":["../../../src/hooks/conversation/useConversationStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,UAAU,iBAAiB;IACzB,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,mBAAmB,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,QAAA,MAAM,oBAAoB,gFAOvB,CAAC;AAEJ,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const useSearchConversationAsUsers: () => void;
2
+ //# sourceMappingURL=useSearchConversation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSearchConversation.d.ts","sourceRoot":"","sources":["../../../src/hooks/search/useSearchConversation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,YAAW,CAAC"}
@@ -0,0 +1 @@
1
+ export const useSearchConversationAsUsers = () => { };
@@ -0,0 +1,220 @@
1
+ import { BaseResponse } from "../../types/dto";
2
+ import { IFilterSummary, ISessionByStatus } from "../../store/type";
3
+ export declare const useGetSessionByTagOrStatus: (filter: IFilterSummary) => {
4
+ error: Error;
5
+ isError: true;
6
+ isPending: false;
7
+ isLoadingError: false;
8
+ isRefetchError: true;
9
+ isSuccess: false;
10
+ isPlaceholderData: false;
11
+ status: "error";
12
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
13
+ hasPreviousPage: boolean;
14
+ isFetchNextPageError: boolean;
15
+ isFetchPreviousPageError: boolean;
16
+ isFetchingPreviousPage: boolean;
17
+ dataUpdatedAt: number;
18
+ errorUpdatedAt: number;
19
+ failureCount: number;
20
+ failureReason: Error | null;
21
+ errorUpdateCount: number;
22
+ isFetched: boolean;
23
+ isFetchedAfterMount: boolean;
24
+ isFetching: boolean;
25
+ isInitialLoading: boolean;
26
+ isPaused: boolean;
27
+ isRefetching: boolean;
28
+ isStale: boolean;
29
+ isEnabled: boolean;
30
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
31
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
32
+ promise: Promise<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>>;
33
+ data: import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown> | undefined;
34
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
35
+ hasNextPage: boolean;
36
+ isFetchingNextPage: boolean;
37
+ isLoading: boolean;
38
+ dataFlatten: ISessionByStatus[];
39
+ } | {
40
+ error: null;
41
+ isError: false;
42
+ isPending: false;
43
+ isLoadingError: false;
44
+ isRefetchError: false;
45
+ isFetchNextPageError: false;
46
+ isFetchPreviousPageError: false;
47
+ isSuccess: true;
48
+ isPlaceholderData: false;
49
+ status: "success";
50
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
51
+ hasPreviousPage: boolean;
52
+ isFetchingPreviousPage: boolean;
53
+ dataUpdatedAt: number;
54
+ errorUpdatedAt: number;
55
+ failureCount: number;
56
+ failureReason: Error | null;
57
+ errorUpdateCount: number;
58
+ isFetched: boolean;
59
+ isFetchedAfterMount: boolean;
60
+ isFetching: boolean;
61
+ isInitialLoading: boolean;
62
+ isPaused: boolean;
63
+ isRefetching: boolean;
64
+ isStale: boolean;
65
+ isEnabled: boolean;
66
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
67
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
68
+ promise: Promise<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>>;
69
+ data: import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown> | undefined;
70
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
71
+ hasNextPage: boolean;
72
+ isFetchingNextPage: boolean;
73
+ isLoading: boolean;
74
+ dataFlatten: ISessionByStatus[];
75
+ } | {
76
+ error: Error;
77
+ isError: true;
78
+ isPending: false;
79
+ isLoadingError: true;
80
+ isRefetchError: false;
81
+ isFetchNextPageError: false;
82
+ isFetchPreviousPageError: false;
83
+ isSuccess: false;
84
+ isPlaceholderData: false;
85
+ status: "error";
86
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
87
+ hasPreviousPage: boolean;
88
+ isFetchingPreviousPage: boolean;
89
+ dataUpdatedAt: number;
90
+ errorUpdatedAt: number;
91
+ failureCount: number;
92
+ failureReason: Error | null;
93
+ errorUpdateCount: number;
94
+ isFetched: boolean;
95
+ isFetchedAfterMount: boolean;
96
+ isFetching: boolean;
97
+ isInitialLoading: boolean;
98
+ isPaused: boolean;
99
+ isRefetching: boolean;
100
+ isStale: boolean;
101
+ isEnabled: boolean;
102
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
103
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
104
+ promise: Promise<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>>;
105
+ data: import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown> | undefined;
106
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
107
+ hasNextPage: boolean;
108
+ isFetchingNextPage: boolean;
109
+ isLoading: boolean;
110
+ dataFlatten: ISessionByStatus[];
111
+ } | {
112
+ error: null;
113
+ isError: false;
114
+ isPending: true;
115
+ isLoadingError: false;
116
+ isRefetchError: false;
117
+ isFetchNextPageError: false;
118
+ isFetchPreviousPageError: false;
119
+ isSuccess: false;
120
+ isPlaceholderData: false;
121
+ status: "pending";
122
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
123
+ hasPreviousPage: boolean;
124
+ isFetchingPreviousPage: boolean;
125
+ dataUpdatedAt: number;
126
+ errorUpdatedAt: number;
127
+ failureCount: number;
128
+ failureReason: Error | null;
129
+ errorUpdateCount: number;
130
+ isFetched: boolean;
131
+ isFetchedAfterMount: boolean;
132
+ isFetching: boolean;
133
+ isInitialLoading: boolean;
134
+ isPaused: boolean;
135
+ isRefetching: boolean;
136
+ isStale: boolean;
137
+ isEnabled: boolean;
138
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
139
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
140
+ promise: Promise<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>>;
141
+ data: import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown> | undefined;
142
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
143
+ hasNextPage: boolean;
144
+ isFetchingNextPage: boolean;
145
+ isLoading: boolean;
146
+ dataFlatten: ISessionByStatus[];
147
+ } | {
148
+ error: null;
149
+ isError: false;
150
+ isPending: true;
151
+ isLoadingError: false;
152
+ isRefetchError: false;
153
+ isFetchNextPageError: false;
154
+ isFetchPreviousPageError: false;
155
+ isSuccess: false;
156
+ isPlaceholderData: false;
157
+ status: "pending";
158
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
159
+ hasPreviousPage: boolean;
160
+ isFetchingPreviousPage: boolean;
161
+ dataUpdatedAt: number;
162
+ errorUpdatedAt: number;
163
+ failureCount: number;
164
+ failureReason: Error | null;
165
+ errorUpdateCount: number;
166
+ isFetched: boolean;
167
+ isFetchedAfterMount: boolean;
168
+ isFetching: boolean;
169
+ isInitialLoading: boolean;
170
+ isPaused: boolean;
171
+ isRefetching: boolean;
172
+ isStale: boolean;
173
+ isEnabled: boolean;
174
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
175
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
176
+ promise: Promise<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>>;
177
+ data: import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown> | undefined;
178
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
179
+ hasNextPage: boolean;
180
+ isFetchingNextPage: boolean;
181
+ isLoading: boolean;
182
+ dataFlatten: ISessionByStatus[];
183
+ } | {
184
+ isError: false;
185
+ error: null;
186
+ isPending: false;
187
+ isLoadingError: false;
188
+ isRefetchError: false;
189
+ isSuccess: true;
190
+ isPlaceholderData: true;
191
+ isFetchNextPageError: false;
192
+ isFetchPreviousPageError: false;
193
+ status: "success";
194
+ fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
195
+ hasPreviousPage: boolean;
196
+ isFetchingPreviousPage: boolean;
197
+ dataUpdatedAt: number;
198
+ errorUpdatedAt: number;
199
+ failureCount: number;
200
+ failureReason: Error | null;
201
+ errorUpdateCount: number;
202
+ isFetched: boolean;
203
+ isFetchedAfterMount: boolean;
204
+ isFetching: boolean;
205
+ isInitialLoading: boolean;
206
+ isPaused: boolean;
207
+ isRefetching: boolean;
208
+ isStale: boolean;
209
+ isEnabled: boolean;
210
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
211
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
212
+ promise: Promise<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>>;
213
+ data: import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown> | undefined;
214
+ fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<BaseResponse<ISessionByStatus[]>, unknown>, Error>>;
215
+ hasNextPage: boolean;
216
+ isFetchingNextPage: boolean;
217
+ isLoading: boolean;
218
+ dataFlatten: ISessionByStatus[];
219
+ };
220
+ //# sourceMappingURL=useGetSessionByTagOrStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGetSessionByTagOrStatus.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetSessionByTagOrStatus.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAA+B,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKpE,eAAO,MAAM,0BAA0B,GAAI,QAAQ,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EhE,CAAC"}
@@ -0,0 +1,72 @@
1
+ "use client";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ import { useInfiniteQuery } from "@tanstack/react-query";
14
+ import { apiInstance } from "../../services/api";
15
+ import { ENDPOINTS } from "../../services/routes";
16
+ import { QUERY_KEYS } from "../../services/query";
17
+ import { useMemo } from "react";
18
+ import useConversationStore from "../../store/conversation";
19
+ import { DChatSDK } from "../../constants/sdk";
20
+ export const useGetSessionByTagOrStatus = (filter) => {
21
+ const _a = useInfiniteQuery({
22
+ initialPageParam: 1,
23
+ queryKey: [QUERY_KEYS.GET_SESSION_BY_TAG_OR_STATUS, filter],
24
+ queryFn: async ({ pageParam = 1 }) => {
25
+ var _a, _b;
26
+ const params = {
27
+ applicationType: "OBEFE",
28
+ tag: filter.tag,
29
+ status: filter.status,
30
+ page: pageParam,
31
+ pageSize: 100,
32
+ };
33
+ const res = await apiInstance.post(ENDPOINTS.chatService.getSessionsByTagOrStatus, params);
34
+ //FIND NEW CONVERSATIONS
35
+ const conversationList = useConversationStore.getState().conversationList;
36
+ const newConversations = (_b = (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.filter((session) => {
37
+ return !conversationList.some((conversation) => conversation.conversationID === session.conversationId);
38
+ });
39
+ if (newConversations === null || newConversations === void 0 ? void 0 : newConversations.length) {
40
+ DChatSDK.getMultipleConversation(newConversations.map((session) => session.conversationId)).then((res) => {
41
+ useConversationStore
42
+ .getState()
43
+ .updateConversationList(res.data, "filter");
44
+ });
45
+ }
46
+ return res.data;
47
+ },
48
+ getNextPageParam: (lastPage) => {
49
+ var _a, _b;
50
+ const currentPage = ((_a = lastPage === null || lastPage === void 0 ? void 0 : lastPage.pageable) === null || _a === void 0 ? void 0 : _a.pageNumber) || 1;
51
+ const totalPages = ((_b = lastPage === null || lastPage === void 0 ? void 0 : lastPage.pageable) === null || _b === void 0 ? void 0 : _b.totalPages) || 1;
52
+ return currentPage + 1 < totalPages ? currentPage + 1 : undefined;
53
+ },
54
+ enabled: !!filter.tag || !!filter.status,
55
+ }), { data, fetchNextPage, hasNextPage, isFetchingNextPage, isLoading } = _a, rest = __rest(_a, ["data", "fetchNextPage", "hasNextPage", "isFetchingNextPage", "isLoading"]);
56
+ const { dataFlatten } = useMemo(() => {
57
+ if (!data)
58
+ return {
59
+ dataFlatten: [],
60
+ };
61
+ const allItems = data.pages.flatMap((page) => page.data);
62
+ return {
63
+ dataFlatten: allItems,
64
+ };
65
+ }, [data]);
66
+ return Object.assign({ data,
67
+ fetchNextPage,
68
+ hasNextPage,
69
+ isFetchingNextPage,
70
+ isLoading,
71
+ dataFlatten }, rest);
72
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@droppii-org/chat-sdk",
3
- "version": "0.0.43",
3
+ "version": "0.0.44",
4
4
  "description": "Droppii React Chat SDK",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
Binary file
@@ -1,10 +0,0 @@
1
- import { SessionType } from "@openim/wasm-client-sdk";
2
- interface ChatBubbleProps {
3
- conversationId: string;
4
- sourceID: string;
5
- sessionType: SessionType;
6
- className?: string;
7
- }
8
- declare const ChatBubble: ({ conversationId, sourceID, sessionType, className, }: ChatBubbleProps) => import("react/jsx-runtime").JSX.Element;
9
- export default ChatBubble;
10
- //# sourceMappingURL=ChatBubble.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatBubble.d.ts","sourceRoot":"","sources":["../../src/components/ChatBubble.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,UAAU,eAAe;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,UAAU,GAAI,uDAKjB,eAAe,4CAmDjB,CAAC;AAEF,eAAe,UAAU,CAAC"}