@fluid-app/portal-sdk 0.1.190 → 0.1.192
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ContactsScreen-Dw9G8Q3n.mjs → ContactsScreen-BtBNMZzG.mjs} +68 -71
- package/dist/ContactsScreen-BtBNMZzG.mjs.map +1 -0
- package/dist/{ContactsScreen-Euvu6Y8H.cjs → ContactsScreen-Cheiwaxn.cjs} +3 -4
- package/dist/{ContactsScreen-D2rOJ9Ra.cjs → ContactsScreen-DvohvoOE.cjs} +67 -70
- package/dist/ContactsScreen-DvohvoOE.cjs.map +1 -0
- package/dist/{FluidProvider-bZ4dm-UF.cjs → FluidProvider-BWBEdHQQ.cjs} +30 -2
- package/dist/{FluidProvider-bZ4dm-UF.cjs.map → FluidProvider-BWBEdHQQ.cjs.map} +1 -1
- package/dist/{FluidProvider-ClxrzJDf.mjs → FluidProvider-dp9q6oRM.mjs} +30 -2
- package/dist/FluidProvider-dp9q6oRM.mjs.map +1 -0
- package/dist/InfiniteScrollSentinel-CU801UfD.cjs +36 -0
- package/dist/InfiniteScrollSentinel-CU801UfD.cjs.map +1 -0
- package/dist/InfiniteScrollSentinel-MgF-ldXy.mjs +30 -0
- package/dist/InfiniteScrollSentinel-MgF-ldXy.mjs.map +1 -0
- package/dist/{MessagingScreen-Bu8KvZrz.mjs → MessagingScreen-BNsaLpzu.mjs} +2 -2
- package/dist/{MessagingScreen-Bu8KvZrz.mjs.map → MessagingScreen-BNsaLpzu.mjs.map} +1 -1
- package/dist/{MessagingScreen-CZIMNXUy.cjs → MessagingScreen-CJ3p3ZHq.cjs} +2 -2
- package/dist/{MessagingScreen-B4OtJ908.cjs → MessagingScreen-DX8A0ahD.cjs} +2 -2
- package/dist/{MessagingScreen-B4OtJ908.cjs.map → MessagingScreen-DX8A0ahD.cjs.map} +1 -1
- package/dist/{OrdersScreen-DtO4r_th.mjs → OrdersScreen-BgyMsZpn.mjs} +245 -84
- package/dist/OrdersScreen-BgyMsZpn.mjs.map +1 -0
- package/dist/{OrdersScreen-DlCLRqEK.cjs → OrdersScreen-CCVPgVWa.cjs} +244 -83
- package/dist/OrdersScreen-CCVPgVWa.cjs.map +1 -0
- package/dist/{OrdersScreen-CV6umNnp.cjs → OrdersScreen-DWNylH_i.cjs} +3 -2
- package/dist/{PortalContentApiProvider-DGkP0Vk6.mjs → PortalContentApiProvider-Bwi7FOTs.mjs} +72 -75
- package/dist/PortalContentApiProvider-Bwi7FOTs.mjs.map +1 -0
- package/dist/{PortalContentApiProvider-CH87-pE5.cjs → PortalContentApiProvider-Cb-DGxBo.cjs} +72 -75
- package/dist/PortalContentApiProvider-Cb-DGxBo.cjs.map +1 -0
- package/dist/{PortalProductsApiProvider-CTLKKRqy.cjs → PortalProductsApiProvider-CRN-i8Rh.cjs} +2 -2
- package/dist/{PortalProductsApiProvider-CTLKKRqy.cjs.map → PortalProductsApiProvider-CRN-i8Rh.cjs.map} +1 -1
- package/dist/{PortalProductsApiProvider-CY6CUq6x.mjs → PortalProductsApiProvider-D0jul2Fh.mjs} +2 -2
- package/dist/{PortalProductsApiProvider-CY6CUq6x.mjs.map → PortalProductsApiProvider-D0jul2Fh.mjs.map} +1 -1
- package/dist/{ProductsScreen-a1Bcvc3U.cjs → ProductsScreen-BQqP8-N9.cjs} +3 -3
- package/dist/{ProductsScreen-a1Bcvc3U.cjs.map → ProductsScreen-BQqP8-N9.cjs.map} +1 -1
- package/dist/{ProductsScreen-DWpcieDU.mjs → ProductsScreen-Cd8hpH-3.mjs} +3 -3
- package/dist/{ProductsScreen-DWpcieDU.mjs.map → ProductsScreen-Cd8hpH-3.mjs.map} +1 -1
- package/dist/{ProductsScreen-DLrDpYau.mjs → ProductsScreen-CdbwRM5O.mjs} +4 -4
- package/dist/{ProductsScreen-DmhLYjZD.cjs → ProductsScreen-DgPjO-HY.cjs} +4 -4
- package/dist/{ProfileScreen-Dx8KAKbU.cjs → ProfileScreen-BsjuHCor.cjs} +2 -2
- package/dist/{ProfileScreen-Dx8KAKbU.cjs.map → ProfileScreen-BsjuHCor.cjs.map} +1 -1
- package/dist/{ProfileScreen-BCDSo1pW.cjs → ProfileScreen-DL-C2R6R.cjs} +2 -2
- package/dist/{ProfileScreen-DoCcIaDI.mjs → ProfileScreen-eJvfI2YW.mjs} +2 -2
- package/dist/{ProfileScreen-DoCcIaDI.mjs.map → ProfileScreen-eJvfI2YW.mjs.map} +1 -1
- package/dist/{ShareablesScreen-B-OPO65F.cjs → ShareablesScreen-BEm7wQaI.cjs} +4 -4
- package/dist/{ShareablesScreen-CXchqCpx.mjs → ShareablesScreen-BUuuUpDS.mjs} +3 -3
- package/dist/{ShareablesScreen-CXchqCpx.mjs.map → ShareablesScreen-BUuuUpDS.mjs.map} +1 -1
- package/dist/{ShareablesScreen-D8tsuynn.cjs → ShareablesScreen-C1PQmDVa.cjs} +3 -3
- package/dist/{ShareablesScreen-D8tsuynn.cjs.map → ShareablesScreen-C1PQmDVa.cjs.map} +1 -1
- package/dist/{ShareablesScreen-Bvx2nkO5.mjs → ShareablesScreen-DoJ8EIDG.mjs} +4 -4
- package/dist/{ShopScreen-D__IvAj7.mjs → ShopScreen-5AXTCtLQ.mjs} +3 -3
- package/dist/{ShopScreen-D__IvAj7.mjs.map → ShopScreen-5AXTCtLQ.mjs.map} +1 -1
- package/dist/{ShopScreen-D6YHqL2Z.cjs → ShopScreen-DEFhDrcd.cjs} +3 -3
- package/dist/{ShopScreen-CcmvJ3mF.cjs → ShopScreen-X802gHEX.cjs} +3 -3
- package/dist/{ShopScreen-CcmvJ3mF.cjs.map → ShopScreen-X802gHEX.cjs.map} +1 -1
- package/dist/{SubscriptionsScreen-CshfzE9Z.mjs → SubscriptionsScreen-BwRoXYF8.mjs} +44 -34
- package/dist/SubscriptionsScreen-BwRoXYF8.mjs.map +1 -0
- package/dist/{SubscriptionsScreen-CEiVF1iQ.cjs → SubscriptionsScreen-DbcnEDD0.cjs} +43 -33
- package/dist/SubscriptionsScreen-DbcnEDD0.cjs.map +1 -0
- package/dist/{SubscriptionsScreen-C32rbhAZ.cjs → SubscriptionsScreen-mhTl7OIp.cjs} +3 -3
- package/dist/{dist-Ib6pM5r3.cjs → dist-bL3uiYn3.cjs} +1 -1
- package/dist/{dist-Ib6pM5r3.cjs.map → dist-bL3uiYn3.cjs.map} +1 -1
- package/dist/{dist-DhOQb8en.mjs → dist-wzcShuuv.mjs} +1 -1
- package/dist/{dist-DhOQb8en.mjs.map → dist-wzcShuuv.mjs.map} +1 -1
- package/dist/index.cjs +30 -30
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +30 -30
- package/dist/{order-status-badge-DvZns1LY.cjs → order-status-badge-Crk9UGpl.cjs} +23 -151
- package/dist/order-status-badge-Crk9UGpl.cjs.map +1 -0
- package/dist/{order-status-badge-DK9GG8H-.mjs → order-status-badge-DiQDwwSp.mjs} +28 -150
- package/dist/order-status-badge-DiQDwwSp.mjs.map +1 -0
- package/dist/{portal_tenant-BrihTN41.mjs → portal_tenant-CWKHVgID.mjs} +14 -4
- package/dist/portal_tenant-CWKHVgID.mjs.map +1 -0
- package/dist/{portal_tenant-DjN8hwJb.cjs → portal_tenant-pozf8Ht6.cjs} +19 -3
- package/dist/portal_tenant-pozf8Ht6.cjs.map +1 -0
- package/package.json +18 -18
- package/dist/ContactsScreen-D2rOJ9Ra.cjs.map +0 -1
- package/dist/ContactsScreen-Dw9G8Q3n.mjs.map +0 -1
- package/dist/FluidProvider-ClxrzJDf.mjs.map +0 -1
- package/dist/OrdersScreen-DlCLRqEK.cjs.map +0 -1
- package/dist/OrdersScreen-DtO4r_th.mjs.map +0 -1
- package/dist/PortalContentApiProvider-CH87-pE5.cjs.map +0 -1
- package/dist/PortalContentApiProvider-DGkP0Vk6.mjs.map +0 -1
- package/dist/SubscriptionsScreen-CEiVF1iQ.cjs.map +0 -1
- package/dist/SubscriptionsScreen-CshfzE9Z.mjs.map +0 -1
- package/dist/order-status-badge-DK9GG8H-.mjs.map +0 -1
- package/dist/order-status-badge-DvZns1LY.cjs.map +0 -1
- package/dist/portal_tenant-BrihTN41.mjs.map +0 -1
- package/dist/portal_tenant-DjN8hwJb.cjs.map +0 -1
- package/dist/src-DOYe5GAF.cjs +0 -3
- package/dist/src-HUkXWdaF.mjs +0 -3
|
@@ -4,10 +4,9 @@ require("./src-D57IFKXU.cjs");
|
|
|
4
4
|
require("./scroll-arrows-CzWtSS8l.cjs");
|
|
5
5
|
require("./ScreenHeaderContext-BXgWydjB.cjs");
|
|
6
6
|
require("./dist-CN_rfvBt.cjs");
|
|
7
|
-
const require_ContactsScreen = require("./ContactsScreen-
|
|
7
|
+
const require_ContactsScreen = require("./ContactsScreen-DvohvoOE.cjs");
|
|
8
8
|
require("./SearchSort-CUDMZIkf.cjs");
|
|
9
|
-
require("./
|
|
10
|
-
require("./
|
|
11
|
-
require("./dist-Ib6pM5r3.cjs");
|
|
9
|
+
require("./InfiniteScrollSentinel-CU801UfD.cjs");
|
|
10
|
+
require("./dist-bL3uiYn3.cjs");
|
|
12
11
|
exports.ContactsScreen = require_ContactsScreen.ContactsScreen;
|
|
13
12
|
exports.contactsScreenPropertySchema = require_ContactsScreen.contactsScreenPropertySchema;
|
|
@@ -6,8 +6,8 @@ const require_src = require("./src-D57IFKXU.cjs");
|
|
|
6
6
|
const require_ScreenHeaderContext = require("./ScreenHeaderContext-BXgWydjB.cjs");
|
|
7
7
|
const require_dist = require("./dist-CN_rfvBt.cjs");
|
|
8
8
|
const require_SearchSort = require("./SearchSort-CUDMZIkf.cjs");
|
|
9
|
-
const
|
|
10
|
-
const require_dist$1 = require("./dist-
|
|
9
|
+
const require_InfiniteScrollSentinel = require("./InfiniteScrollSentinel-CU801UfD.cjs");
|
|
10
|
+
const require_dist$1 = require("./dist-bL3uiYn3.cjs");
|
|
11
11
|
let react = require("react");
|
|
12
12
|
react = require_chunk.__toESM(react);
|
|
13
13
|
let _tanstack_react_query = require("@tanstack/react-query");
|
|
@@ -15,32 +15,6 @@ let react_jsx_runtime = require("react/jsx-runtime");
|
|
|
15
15
|
let lucide_react = require("lucide-react");
|
|
16
16
|
let react_hook_form = require("react-hook-form");
|
|
17
17
|
let zod = require("zod");
|
|
18
|
-
//#region ../../contacts/ui/src/shared/components/contacts/statusBadge.tsx
|
|
19
|
-
const statusStyles = {
|
|
20
|
-
new: "border-[var(--status-new-border)] bg-[var(--status-new)] text-[var(--status-new-foreground)]",
|
|
21
|
-
active: "border-[var(--status-active-border)] bg-[var(--status-active)] text-[var(--status-active-foreground)]",
|
|
22
|
-
inactive: "border-border bg-muted text-muted-foreground",
|
|
23
|
-
lead: "border-[var(--status-lead-border)] bg-[var(--status-lead)] text-[var(--status-lead-foreground)]",
|
|
24
|
-
customer: "border-[var(--status-customer-border)] bg-[var(--status-customer)] text-[var(--status-customer-foreground)]",
|
|
25
|
-
success: "border-[var(--badge-success-border)] bg-[var(--badge-success)] text-[var(--badge-success-foreground)]",
|
|
26
|
-
warning: "border-[var(--badge-warning-border)] bg-[var(--badge-warning)] text-[var(--badge-warning-foreground)]",
|
|
27
|
-
danger: "border-[var(--badge-danger-border)] bg-[var(--badge-danger)] text-[var(--badge-danger-foreground)]",
|
|
28
|
-
info: "border-[var(--badge-info-border)] bg-[var(--badge-info)] text-[var(--badge-info-foreground)]",
|
|
29
|
-
neutral: "border-border bg-muted text-muted-foreground",
|
|
30
|
-
notice: "border-[var(--badge-notice-border)] bg-[var(--badge-notice)] text-[var(--badge-notice-foreground)]",
|
|
31
|
-
accent: "border-[var(--badge-accent-border)] bg-[var(--badge-accent)] text-[var(--badge-accent-foreground)]"
|
|
32
|
-
};
|
|
33
|
-
const defaultStyle = "border-border bg-muted text-muted-foreground";
|
|
34
|
-
function getStatusStyle(status) {
|
|
35
|
-
return statusStyles[status] ?? defaultStyle;
|
|
36
|
-
}
|
|
37
|
-
function StatusBadge({ status, label, className }) {
|
|
38
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
39
|
-
className: require_src.cn("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold capitalize", getStatusStyle(status), className),
|
|
40
|
-
children: label ?? status
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
//#endregion
|
|
44
18
|
//#region ../../contacts/core/src/contacts-api-context.ts
|
|
45
19
|
const ContactsApiContext = (0, react.createContext)(null);
|
|
46
20
|
const ContactsApiProvider = ContactsApiContext.Provider;
|
|
@@ -102,6 +76,51 @@ const contactsKeys = {
|
|
|
102
76
|
groups: () => ["portal-contacts", "groups"]
|
|
103
77
|
};
|
|
104
78
|
//#endregion
|
|
79
|
+
//#region ../../contacts/core/src/hooks/use-infinite-contacts.ts
|
|
80
|
+
function useInfiniteContacts(params) {
|
|
81
|
+
const api = useContactsCrud();
|
|
82
|
+
return (0, _tanstack_react_query.useInfiniteQuery)({
|
|
83
|
+
queryKey: [...CONTACTS_QUERY_KEYS.list("contacts"), params],
|
|
84
|
+
queryFn: ({ pageParam }) => api.listContacts({
|
|
85
|
+
...params,
|
|
86
|
+
page: pageParam
|
|
87
|
+
}),
|
|
88
|
+
getNextPageParam: (lastPage) => {
|
|
89
|
+
const currentPage = lastPage.meta.current_page;
|
|
90
|
+
if (currentPage == null) return void 0;
|
|
91
|
+
if (lastPage.meta.next_cursor) return currentPage + 1;
|
|
92
|
+
if (lastPage.meta.total_pages != null && currentPage < lastPage.meta.total_pages) return currentPage + 1;
|
|
93
|
+
},
|
|
94
|
+
initialPageParam: 1
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region ../../contacts/ui/src/shared/components/contacts/statusBadge.tsx
|
|
99
|
+
const statusStyles = {
|
|
100
|
+
new: "border-[var(--status-new-border)] bg-[var(--status-new)] text-[var(--status-new-foreground)]",
|
|
101
|
+
active: "border-[var(--status-active-border)] bg-[var(--status-active)] text-[var(--status-active-foreground)]",
|
|
102
|
+
inactive: "border-border bg-muted text-muted-foreground",
|
|
103
|
+
lead: "border-[var(--status-lead-border)] bg-[var(--status-lead)] text-[var(--status-lead-foreground)]",
|
|
104
|
+
customer: "border-[var(--status-customer-border)] bg-[var(--status-customer)] text-[var(--status-customer-foreground)]",
|
|
105
|
+
success: "border-[var(--badge-success-border)] bg-[var(--badge-success)] text-[var(--badge-success-foreground)]",
|
|
106
|
+
warning: "border-[var(--badge-warning-border)] bg-[var(--badge-warning)] text-[var(--badge-warning-foreground)]",
|
|
107
|
+
danger: "border-[var(--badge-danger-border)] bg-[var(--badge-danger)] text-[var(--badge-danger-foreground)]",
|
|
108
|
+
info: "border-[var(--badge-info-border)] bg-[var(--badge-info)] text-[var(--badge-info-foreground)]",
|
|
109
|
+
neutral: "border-border bg-muted text-muted-foreground",
|
|
110
|
+
notice: "border-[var(--badge-notice-border)] bg-[var(--badge-notice)] text-[var(--badge-notice-foreground)]",
|
|
111
|
+
accent: "border-[var(--badge-accent-border)] bg-[var(--badge-accent)] text-[var(--badge-accent-foreground)]"
|
|
112
|
+
};
|
|
113
|
+
const defaultStyle = "border-border bg-muted text-muted-foreground";
|
|
114
|
+
function getStatusStyle(status) {
|
|
115
|
+
return statusStyles[status] ?? defaultStyle;
|
|
116
|
+
}
|
|
117
|
+
function StatusBadge({ status, label, className }) {
|
|
118
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
119
|
+
className: require_src.cn("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold capitalize", getStatusStyle(status), className),
|
|
120
|
+
children: label ?? status
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
//#endregion
|
|
105
124
|
//#region ../../contacts/ui/src/shared/components/contacts/allContacts/contactsTable.tsx
|
|
106
125
|
function getInitials(fullName) {
|
|
107
126
|
const trimmed = fullName?.trim();
|
|
@@ -315,7 +334,7 @@ const CONTACT_SORT_COLUMNS = [{
|
|
|
315
334
|
id: "email",
|
|
316
335
|
name: "Email"
|
|
317
336
|
}];
|
|
318
|
-
function ContactsTable({
|
|
337
|
+
function ContactsTable({ setSelectedContacts, setOpenDeleteModal, onEditContact, onRowClick, resetKey, tableLayout }) {
|
|
319
338
|
const isMemberLayout = tableLayout === "members";
|
|
320
339
|
const groupsApi = useGroupsApi();
|
|
321
340
|
const { data: availableGroups = [] } = (0, _tanstack_react_query.useQuery)({
|
|
@@ -329,7 +348,6 @@ function ContactsTable({ listContacts, queryKeyPrefix, setSelectedContacts, setO
|
|
|
329
348
|
for (const group of availableGroups) map.set(group.name, group);
|
|
330
349
|
return map;
|
|
331
350
|
}, [availableGroups]);
|
|
332
|
-
const [currentPage, setCurrentPage] = (0, react.useState)(1);
|
|
333
351
|
const [searchTerm, setSearchTerm] = (0, react.useState)("");
|
|
334
352
|
const [sortValue, setSortValue] = (0, react.useState)("name_asc");
|
|
335
353
|
const [selectedIds, setSelectedIds] = (0, react.useState)(/* @__PURE__ */ new Set());
|
|
@@ -341,32 +359,18 @@ function ContactsTable({ listContacts, queryKeyPrefix, setSelectedContacts, setO
|
|
|
341
359
|
};
|
|
342
360
|
}, [sortValue]);
|
|
343
361
|
(0, react.useEffect)(() => {
|
|
344
|
-
setCurrentPage(1);
|
|
345
362
|
setSelectedIds(/* @__PURE__ */ new Set());
|
|
346
363
|
}, [searchTerm, sortValue]);
|
|
347
|
-
(0, react.useEffect)(() => {
|
|
348
|
-
setSelectedIds(/* @__PURE__ */ new Set());
|
|
349
|
-
}, [currentPage]);
|
|
350
364
|
(0, react.useEffect)(() => {
|
|
351
365
|
setSelectedIds(/* @__PURE__ */ new Set());
|
|
352
366
|
}, [resetKey]);
|
|
353
|
-
const { data, isLoading } = (
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
sortDesc: parsedSort.desc
|
|
359
|
-
}],
|
|
360
|
-
queryFn: () => listContacts({
|
|
361
|
-
search_query: searchTerm || void 0,
|
|
362
|
-
page: currentPage,
|
|
363
|
-
per_page: PAGE_SIZE,
|
|
364
|
-
sort_by: parsedSort.id,
|
|
365
|
-
sort_direction: parsedSort.desc ? "desc" : "asc"
|
|
366
|
-
}),
|
|
367
|
-
placeholderData: _tanstack_react_query.keepPreviousData
|
|
367
|
+
const { data, isLoading, fetchNextPage, hasNextPage, isFetchingNextPage } = useInfiniteContacts({
|
|
368
|
+
search_query: searchTerm || void 0,
|
|
369
|
+
per_page: PAGE_SIZE,
|
|
370
|
+
sort_by: parsedSort.id,
|
|
371
|
+
sort_direction: parsedSort.desc ? "desc" : "asc"
|
|
368
372
|
});
|
|
369
|
-
const items = (0, react.useMemo)(() => data?.contacts ?? [], [data?.
|
|
373
|
+
const items = (0, react.useMemo)(() => data?.pages.flatMap((p) => p.contacts) ?? [], [data?.pages]);
|
|
370
374
|
const displayItems = (0, react.useMemo)(() => {
|
|
371
375
|
const sortField = parsedSort.id;
|
|
372
376
|
const sortDir = parsedSort.desc ? "desc" : "asc";
|
|
@@ -377,8 +381,6 @@ function ContactsTable({ listContacts, queryKeyPrefix, setSelectedContacts, setO
|
|
|
377
381
|
return sortDir === "asc" ? cmp : -cmp;
|
|
378
382
|
});
|
|
379
383
|
}, [items, parsedSort]);
|
|
380
|
-
const totalItems = data?.meta?.total_count ?? 0;
|
|
381
|
-
const totalPages = Math.max(1, Math.ceil(totalItems / PAGE_SIZE));
|
|
382
384
|
const allSelected = displayItems.length > 0 && displayItems.every((c) => selectedIds.has(c.id));
|
|
383
385
|
const someSelected = selectedIds.size > 0 && !allSelected;
|
|
384
386
|
const selectAllRef = (0, react.useRef)(null);
|
|
@@ -737,19 +739,17 @@ function ContactsTable({ listContacts, queryKeyPrefix, setSelectedContacts, setO
|
|
|
737
739
|
]
|
|
738
740
|
})
|
|
739
741
|
})] }),
|
|
740
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
totalItems,
|
|
745
|
-
onPageChange: setCurrentPage
|
|
742
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_InfiniteScrollSentinel.InfiniteScrollSentinel, {
|
|
743
|
+
onLoadMore: fetchNextPage,
|
|
744
|
+
hasMore: !!hasNextPage,
|
|
745
|
+
isLoading: isFetchingNextPage
|
|
746
746
|
})
|
|
747
747
|
]
|
|
748
748
|
});
|
|
749
749
|
}
|
|
750
750
|
//#endregion
|
|
751
751
|
//#region ../../contacts/ui/src/shared/components/contacts/allContacts/contactsPage.tsx
|
|
752
|
-
function ContactsPage({
|
|
752
|
+
function ContactsPage({ deleteContacts, header, onEditContact, onRowClick, tableLayout }) {
|
|
753
753
|
const [openDeleteModal, setOpenDeleteModal] = (0, react.useState)(false);
|
|
754
754
|
const [selectedContacts, setSelectedContacts] = (0, react.useState)([]);
|
|
755
755
|
const [resetKey, setResetKey] = (0, react.useState)(0);
|
|
@@ -762,7 +762,7 @@ function ContactsPage({ listContacts, deleteContacts, queryKeyPrefix, header, on
|
|
|
762
762
|
title: "Contacts deleted successfully",
|
|
763
763
|
type: "success"
|
|
764
764
|
});
|
|
765
|
-
queryClient.invalidateQueries({ queryKey: CONTACTS_QUERY_KEYS.all(
|
|
765
|
+
queryClient.invalidateQueries({ queryKey: CONTACTS_QUERY_KEYS.all("contacts") });
|
|
766
766
|
},
|
|
767
767
|
onError: (error) => {
|
|
768
768
|
require_src.fluidToast({
|
|
@@ -782,8 +782,6 @@ function ContactsPage({ listContacts, deleteContacts, queryKeyPrefix, header, on
|
|
|
782
782
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
783
783
|
className: "mx-auto max-w-7xl space-y-6 px-4 py-4 md:px-10 md:py-8",
|
|
784
784
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ContactsTable, {
|
|
785
|
-
listContacts,
|
|
786
|
-
queryKeyPrefix,
|
|
787
785
|
setSelectedContacts,
|
|
788
786
|
setOpenDeleteModal,
|
|
789
787
|
onEditContact,
|
|
@@ -810,7 +808,7 @@ function ContactsPage({ listContacts, deleteContacts, queryKeyPrefix, header, on
|
|
|
810
808
|
}
|
|
811
809
|
//#endregion
|
|
812
810
|
//#region ../../contacts/ui/src/screens/ContactsListScreen.tsx
|
|
813
|
-
function ContactsListScreen({
|
|
811
|
+
function ContactsListScreen({ deleteContacts, onEditContact, onRowClick, onAddContact, tableLayout, header }) {
|
|
814
812
|
require_ScreenHeaderContext.useScreenHeaderActions((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
|
|
815
813
|
onClick: onAddContact,
|
|
816
814
|
size: "sm",
|
|
@@ -824,9 +822,7 @@ function ContactsListScreen({ listContacts, deleteContacts, onEditContact, onRow
|
|
|
824
822
|
}) })
|
|
825
823
|
}) }), []));
|
|
826
824
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ContactsPage, {
|
|
827
|
-
listContacts,
|
|
828
825
|
deleteContacts,
|
|
829
|
-
queryKeyPrefix,
|
|
830
826
|
tableLayout,
|
|
831
827
|
header,
|
|
832
828
|
onEditContact,
|
|
@@ -4202,16 +4198,19 @@ async function contacts_tasks_destroy(client, contact_id, id) {
|
|
|
4202
4198
|
const EMPTY_META = {
|
|
4203
4199
|
total_count: 0,
|
|
4204
4200
|
total_pages: 0,
|
|
4205
|
-
current_page: 1
|
|
4201
|
+
current_page: 1,
|
|
4202
|
+
next_cursor: null
|
|
4206
4203
|
};
|
|
4207
4204
|
function paginationFromBff(meta, itemCount, currentPage, pageSize) {
|
|
4208
4205
|
if (!meta) return EMPTY_META;
|
|
4209
|
-
const
|
|
4206
|
+
const nextCursor = meta.pagination?.next_cursor ?? null;
|
|
4207
|
+
const hasNext = !!nextCursor;
|
|
4210
4208
|
const totalCount = meta.total_count ?? (hasNext ? (currentPage + 1) * pageSize : (currentPage - 1) * pageSize + itemCount);
|
|
4211
4209
|
return {
|
|
4212
4210
|
total_count: totalCount,
|
|
4213
4211
|
total_pages: Math.max(1, Math.ceil(totalCount / pageSize)),
|
|
4214
4212
|
current_page: currentPage,
|
|
4213
|
+
next_cursor: nextCursor,
|
|
4215
4214
|
request_id: meta.request_id ?? void 0,
|
|
4216
4215
|
timestamp: meta.timestamp ?? void 0
|
|
4217
4216
|
};
|
|
@@ -4420,9 +4419,7 @@ function ContactListView({ onNavigate, onContactSelect }) {
|
|
|
4420
4419
|
});
|
|
4421
4420
|
}, [onNavigate, onContactSelect]);
|
|
4422
4421
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ContactsListScreen, {
|
|
4423
|
-
listContacts: (0, react.useCallback)((params) => api.listContacts(params), [api]),
|
|
4424
4422
|
deleteContacts: (0, react.useCallback)((ids) => api.bulkDeleteContacts(ids), [api]),
|
|
4425
|
-
queryKeyPrefix: QUERY_KEY_PREFIX,
|
|
4426
4423
|
tableLayout: "members",
|
|
4427
4424
|
onEditContact: handleSelectContact,
|
|
4428
4425
|
onRowClick: handleSelectContact,
|
|
@@ -4607,4 +4604,4 @@ Object.defineProperty(exports, "contactsScreenPropertySchema", {
|
|
|
4607
4604
|
}
|
|
4608
4605
|
});
|
|
4609
4606
|
|
|
4610
|
-
//# sourceMappingURL=ContactsScreen-
|
|
4607
|
+
//# sourceMappingURL=ContactsScreen-DvohvoOE.cjs.map
|