@fluid-app/portal-sdk 0.1.56 → 0.1.57
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/{AppDownloadScreen-8nMV5KuQ.cjs → AppDownloadScreen-B3e3QH3E.cjs} +1 -1
- package/dist/{AppDownloadScreen-DL0cL6Hp.mjs → AppDownloadScreen-COuwjUfa.mjs} +1 -1
- package/dist/{AppDownloadScreen-DL0cL6Hp.mjs.map → AppDownloadScreen-COuwjUfa.mjs.map} +1 -1
- package/dist/{AppDownloadScreen-D9xFGiXb.mjs → AppDownloadScreen-DMTYrxWg.mjs} +1 -1
- package/dist/{AppDownloadScreen-BuxFOvdk.cjs → AppDownloadScreen-yDs-QtRS.cjs} +1 -1
- package/dist/{AppDownloadScreen-BuxFOvdk.cjs.map → AppDownloadScreen-yDs-QtRS.cjs.map} +1 -1
- package/dist/{ContactsScreen-uBuFHvAZ.mjs → ContactsScreen-1q6YYzXK.mjs} +190 -94
- package/dist/ContactsScreen-1q6YYzXK.mjs.map +1 -0
- package/dist/{ContactsScreen-DrfjJQRJ.cjs → ContactsScreen-BocpRIYk.cjs} +5 -3
- package/dist/{ContactsScreen-CsxYVQl_.cjs → ContactsScreen-EaQc1fQf.cjs} +190 -94
- package/dist/ContactsScreen-EaQc1fQf.cjs.map +1 -0
- package/dist/{ContactsScreen-BisspUdZ.mjs → ContactsScreen-U_UzEe8A.mjs} +5 -3
- package/dist/{MySiteScreen-BXotJdL4.cjs → MySiteScreen-BQDG1MIf.cjs} +3 -2
- package/dist/{MySiteScreen-DUTxskBE.mjs → MySiteScreen-BWE6kZNh.mjs} +24 -6
- package/dist/{MySiteScreen-DUTxskBE.mjs.map → MySiteScreen-BWE6kZNh.mjs.map} +1 -1
- package/dist/{MySiteScreen-C2M1r6n2.mjs → MySiteScreen-CMbbIem9.mjs} +3 -2
- package/dist/{MySiteScreen-DYtd8N1P.cjs → MySiteScreen-Dq34cH33.cjs} +23 -5
- package/dist/MySiteScreen-Dq34cH33.cjs.map +1 -0
- package/dist/{OrdersScreen-Cs6cia9e.mjs → OrdersScreen-Bez4E8IX.mjs} +3 -2
- package/dist/{OrdersScreen-2wR8W6ga.cjs → OrdersScreen-DFIm1noJ.cjs} +3 -2
- package/dist/{OrdersScreen-aJSG8C3f.mjs → OrdersScreen-DkMmE8c3.mjs} +79 -30
- package/dist/OrdersScreen-DkMmE8c3.mjs.map +1 -0
- package/dist/{OrdersScreen-BR7xTUEo.cjs → OrdersScreen-DvtDjt3L.cjs} +80 -31
- package/dist/OrdersScreen-DvtDjt3L.cjs.map +1 -0
- package/dist/{ProductsScreen-BiRq2hq5.cjs → ProductsScreen-BFsfS9XW.cjs} +5 -4
- package/dist/{ProductsScreen-C8rWxWSG.mjs → ProductsScreen-CNnlXg_I.mjs} +2 -2
- package/dist/{ProductsScreen-C8rWxWSG.mjs.map → ProductsScreen-CNnlXg_I.mjs.map} +1 -1
- package/dist/{ProductsScreen-C01TYRnt.mjs → ProductsScreen-CnywvrZt.mjs} +5 -4
- package/dist/{ProductsScreen-C2-Gmgf1.cjs → ProductsScreen-DO54qQyx.cjs} +2 -2
- package/dist/{ProductsScreen-C2-Gmgf1.cjs.map → ProductsScreen-DO54qQyx.cjs.map} +1 -1
- package/dist/{ProfileScreen-DC2pOZLZ.mjs → ProfileScreen-8nnWzPcP.mjs} +2 -1
- package/dist/{ProfileScreen-BHi41b6m.cjs → ProfileScreen-B6SwwR14.cjs} +2 -1
- package/dist/{ProfileScreen-DavG-OrZ.mjs → ProfileScreen-D4x5J95V.mjs} +10 -2
- package/dist/{ProfileScreen-DavG-OrZ.mjs.map → ProfileScreen-D4x5J95V.mjs.map} +1 -1
- package/dist/{ProfileScreen-BUQUWmWq.cjs → ProfileScreen-D5_7MMej.cjs} +9 -1
- package/dist/{ProfileScreen-BUQUWmWq.cjs.map → ProfileScreen-D5_7MMej.cjs.map} +1 -1
- package/dist/ScreenHeaderContext-CrdfLGKk.mjs +85 -0
- package/dist/ScreenHeaderContext-CrdfLGKk.mjs.map +1 -0
- package/dist/ScreenHeaderContext-eyKPyDoQ.cjs +109 -0
- package/dist/ScreenHeaderContext-eyKPyDoQ.cjs.map +1 -0
- package/dist/{ShareablesScreen-C_3E2Pgn.mjs → ShareablesScreen-2smGe_qj.mjs} +5 -4
- package/dist/{ShareablesScreen-BKPaCLC0.cjs → ShareablesScreen-CH9044d8.cjs} +3 -3
- package/dist/{ShareablesScreen-BKPaCLC0.cjs.map → ShareablesScreen-CH9044d8.cjs.map} +1 -1
- package/dist/{ShareablesScreen-BWrujM32.mjs → ShareablesScreen-DfGkgR72.mjs} +3 -3
- package/dist/{ShareablesScreen-BWrujM32.mjs.map → ShareablesScreen-DfGkgR72.mjs.map} +1 -1
- package/dist/{ShareablesScreen-BhcfHM0D.cjs → ShareablesScreen-vrbI04Hy.cjs} +5 -4
- package/dist/{ShopScreen-DwS8lZAC.cjs → ShopScreen-CHvoeAxg.cjs} +2 -1
- package/dist/{ShopScreen-DrRNRm1t.mjs → ShopScreen-CJY1sx1J.mjs} +2 -1
- package/dist/{ShopScreen-BvK9eQIi.cjs → ShopScreen-CrbD5rZR.cjs} +10 -2
- package/dist/{ShopScreen-BvK9eQIi.cjs.map → ShopScreen-CrbD5rZR.cjs.map} +1 -1
- package/dist/{ShopScreen-CG9l5JrT.mjs → ShopScreen-DwtVHSml.mjs} +11 -3
- package/dist/{ShopScreen-CG9l5JrT.mjs.map → ShopScreen-DwtVHSml.mjs.map} +1 -1
- package/dist/{SubscriptionsScreen-DV1yVAAc.mjs → SubscriptionsScreen-5NaNwpQ1.mjs} +108 -60
- package/dist/SubscriptionsScreen-5NaNwpQ1.mjs.map +1 -0
- package/dist/{SubscriptionsScreen-BB_c_4Q-.cjs → SubscriptionsScreen-BMVXP9cv.cjs} +4 -2
- package/dist/{SubscriptionsScreen-C4BJWeWK.mjs → SubscriptionsScreen-BmtUMKkL.mjs} +4 -2
- package/dist/{SubscriptionsScreen-DPOQbKs6.cjs → SubscriptionsScreen-vcSqCDso.cjs} +111 -63
- package/dist/SubscriptionsScreen-vcSqCDso.cjs.map +1 -0
- package/dist/{UpgradeScreen-D0WA4npm.cjs → UpgradeScreen-BbP-0Pcg.cjs} +1 -1
- package/dist/{UpgradeScreen-D0WA4npm.cjs.map → UpgradeScreen-BbP-0Pcg.cjs.map} +1 -1
- package/dist/{UpgradeScreen-N5cE1bG7.mjs → UpgradeScreen-D7LfdVSJ.mjs} +1 -1
- package/dist/{UpgradeScreen-N5cE1bG7.mjs.map → UpgradeScreen-D7LfdVSJ.mjs.map} +1 -1
- package/dist/{UpgradeScreen-C_rLnLD1.cjs → UpgradeScreen-DJKNVL-O.cjs} +1 -1
- package/dist/{dist-CayuD99K.mjs → dist-Cl4FsM3V.mjs} +1 -1
- package/dist/{dist-CayuD99K.mjs.map → dist-Cl4FsM3V.mjs.map} +1 -1
- package/dist/{dist-CSYoMydt.cjs → dist-Cs6PV1Tf.cjs} +1 -1
- package/dist/{dist-CSYoMydt.cjs.map → dist-Cs6PV1Tf.cjs.map} +1 -1
- package/dist/{dist-DxvUzsnh.cjs → dist-oTn1xy1Z.cjs} +1 -1
- package/dist/{dist-DxvUzsnh.cjs.map → dist-oTn1xy1Z.cjs.map} +1 -1
- package/dist/index.cjs +38 -36
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +36 -34
- package/dist/index.mjs.map +1 -1
- package/dist/{src-BZnlJmdg.mjs → order-detail-DkMYJvzl.mjs} +1 -1
- package/dist/order-detail-DkMYJvzl.mjs.map +1 -0
- package/dist/{src-DIkOTlgf.cjs → order-detail-JVq0-ps1.cjs} +1 -1
- package/dist/order-detail-JVq0-ps1.cjs.map +1 -0
- package/dist/{products-B3q5DFx1.cjs → products-BtHCYNv6.cjs} +1 -1
- package/dist/{products-B3q5DFx1.cjs.map → products-BtHCYNv6.cjs.map} +1 -1
- package/dist/{products-Dkwd_Bh0.mjs → products-DCO1hF_Q.mjs} +1 -1
- package/dist/{products-Dkwd_Bh0.mjs.map → products-DCO1hF_Q.mjs.map} +1 -1
- package/dist/{sortable.esm-DFTEWOHN.mjs → sortable.esm-DreCqRxJ.mjs} +1 -1
- package/dist/{sortable.esm-DFTEWOHN.mjs.map → sortable.esm-DreCqRxJ.mjs.map} +1 -1
- package/dist/{src-B7MRMtgx.cjs → src-BYyxE-aF.cjs} +1 -1
- package/dist/{src-B7MRMtgx.cjs.map → src-BYyxE-aF.cjs.map} +1 -1
- package/dist/src-BakNjVTk.mjs +1 -0
- package/dist/{src-CEouYGbQ.mjs → src-CzK-t4_m.mjs} +192 -245
- package/dist/src-CzK-t4_m.mjs.map +1 -0
- package/dist/{src-DdlLVUFj.cjs → src-D1poJLOQ.cjs} +197 -262
- package/dist/src-D1poJLOQ.cjs.map +1 -0
- package/dist/src-DL_WTpu5.cjs +1 -0
- package/dist/{src-MTAap-Xx.mjs → src-sa7B0kBg.mjs} +1 -1
- package/dist/{src-MTAap-Xx.mjs.map → src-sa7B0kBg.mjs.map} +1 -1
- package/dist/{use-customer-account-D0zro9w6.cjs → use-customer-account-BRdjIAmX.cjs} +1 -1
- package/dist/{use-customer-account-D0zro9w6.cjs.map → use-customer-account-BRdjIAmX.cjs.map} +1 -1
- package/dist/{use-customer-account-CT3yrTXm.mjs → use-customer-account-CgmmbLJd.mjs} +1 -1
- package/dist/{use-customer-account-CT3yrTXm.mjs.map → use-customer-account-CgmmbLJd.mjs.map} +1 -1
- package/package.json +11 -11
- package/dist/ContactsScreen-CsxYVQl_.cjs.map +0 -1
- package/dist/ContactsScreen-uBuFHvAZ.mjs.map +0 -1
- package/dist/MySiteScreen-DYtd8N1P.cjs.map +0 -1
- package/dist/OrdersScreen-BR7xTUEo.cjs.map +0 -1
- package/dist/OrdersScreen-aJSG8C3f.mjs.map +0 -1
- package/dist/SubscriptionsScreen-DPOQbKs6.cjs.map +0 -1
- package/dist/SubscriptionsScreen-DV1yVAAc.mjs.map +0 -1
- package/dist/src-BZnlJmdg.mjs.map +0 -1
- package/dist/src-CEouYGbQ.mjs.map +0 -1
- package/dist/src-DIkOTlgf.cjs.map +0 -1
- package/dist/src-DdlLVUFj.cjs.map +0 -1
|
@@ -1,9 +1,39 @@
|
|
|
1
1
|
require("./chunk-DAgNkxik.cjs");
|
|
2
|
+
const require_src = require("./src-DqIS-4ns.cjs");
|
|
2
3
|
const require_use_account_clients = require("./use-account-clients-vZftsKdf.cjs");
|
|
4
|
+
const require_ScreenHeaderContext = require("./ScreenHeaderContext-eyKPyDoQ.cjs");
|
|
3
5
|
const require_AppNavigationContext = require("./AppNavigationContext-B88_pXjo.cjs");
|
|
4
|
-
const
|
|
5
|
-
const require_use_customer_account = require("./use-customer-account-
|
|
6
|
+
const require_order_detail = require("./order-detail-JVq0-ps1.cjs");
|
|
7
|
+
const require_use_customer_account = require("./use-customer-account-BRdjIAmX.cjs");
|
|
8
|
+
let react = require("react");
|
|
6
9
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
|
+
//#region ../../orders/ui/src/screens/OrdersListScreen.tsx
|
|
11
|
+
function OrdersListScreen$1({ customerId, onOrderClick, onSubscriptionClick, t, isLoadingCustomer }) {
|
|
12
|
+
require_ScreenHeaderContext.useScreenHeaderBreadcrumbs((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Breadcrumb, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbList, {
|
|
13
|
+
className: "text-lg",
|
|
14
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbPage, {
|
|
15
|
+
className: "font-semibold",
|
|
16
|
+
children: "Orders"
|
|
17
|
+
}) })
|
|
18
|
+
}) }), []));
|
|
19
|
+
if (isLoadingCustomer) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
20
|
+
className: "mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8",
|
|
21
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
22
|
+
className: "space-y-3",
|
|
23
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "bg-muted h-10 animate-pulse rounded" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "bg-muted h-64 animate-pulse rounded" })]
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
27
|
+
className: "mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8",
|
|
28
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_order_detail.OrdersList, {
|
|
29
|
+
customerId,
|
|
30
|
+
onOrderClick,
|
|
31
|
+
onSubscriptionClick,
|
|
32
|
+
t
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
7
37
|
//#region src/screens/OrdersListScreen.tsx
|
|
8
38
|
const translations = {
|
|
9
39
|
search_orders: "Search orders...",
|
|
@@ -32,23 +62,44 @@ function OrdersListScreen({ customerId, isLoadingCustomer }) {
|
|
|
32
62
|
const handleSubscriptionClick = (subscriptionToken) => {
|
|
33
63
|
navigate(`subscriptions/${subscriptionToken}`);
|
|
34
64
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.
|
|
38
|
-
|
|
39
|
-
|
|
65
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_order_detail.OrdersCoreProvider, {
|
|
66
|
+
client: ordersClient,
|
|
67
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(OrdersListScreen$1, {
|
|
68
|
+
customerId,
|
|
69
|
+
isLoadingCustomer,
|
|
70
|
+
onOrderClick: handleOrderClick,
|
|
71
|
+
onSubscriptionClick: handleSubscriptionClick,
|
|
72
|
+
t: (key) => translations[key] ?? key
|
|
40
73
|
})
|
|
41
74
|
});
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
//#region ../../orders/ui/src/screens/OrderDetailScreen.tsx
|
|
78
|
+
function OrderDetailScreen$1({ token, onNavigateToList, onNotFound, onError }) {
|
|
79
|
+
require_ScreenHeaderContext.useScreenHeaderBreadcrumbs((0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Breadcrumb, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.BreadcrumbList, {
|
|
80
|
+
className: "text-lg",
|
|
81
|
+
children: [
|
|
82
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbLink, {
|
|
83
|
+
href: "#",
|
|
84
|
+
onClick: (e) => {
|
|
85
|
+
e.preventDefault();
|
|
86
|
+
onNavigateToList();
|
|
87
|
+
},
|
|
88
|
+
children: "Orders"
|
|
89
|
+
}) }),
|
|
90
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbSeparator, {}),
|
|
91
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.BreadcrumbPage, {
|
|
92
|
+
className: "font-semibold",
|
|
93
|
+
children: ["Order #", token]
|
|
94
|
+
}) })
|
|
95
|
+
]
|
|
96
|
+
}) }), [token, onNavigateToList]));
|
|
97
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
98
|
+
className: "mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8",
|
|
99
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_order_detail.OrderDetail, {
|
|
100
|
+
token,
|
|
101
|
+
onNotFound,
|
|
102
|
+
onError
|
|
52
103
|
})
|
|
53
104
|
});
|
|
54
105
|
}
|
|
@@ -57,20 +108,18 @@ function OrdersListScreen({ customerId, isLoadingCustomer }) {
|
|
|
57
108
|
function OrderDetailScreen({ token, onToast }) {
|
|
58
109
|
const client = require_use_account_clients.useOrdersClient();
|
|
59
110
|
const { navigate } = require_AppNavigationContext.useAppNavigation();
|
|
60
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
111
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_order_detail.OrdersCoreProvider, {
|
|
61
112
|
client,
|
|
62
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
})
|
|
113
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(OrderDetailScreen$1, {
|
|
114
|
+
token,
|
|
115
|
+
onNavigateToList: () => navigate("orders"),
|
|
116
|
+
onNotFound: () => {
|
|
117
|
+
onToast("Order not found", "warning");
|
|
118
|
+
navigate("orders");
|
|
119
|
+
},
|
|
120
|
+
onError: (err) => {
|
|
121
|
+
onToast(`Failed to load order: ${err instanceof Error ? err.message : "An error occurred"}`, "error");
|
|
122
|
+
}
|
|
74
123
|
})
|
|
75
124
|
});
|
|
76
125
|
}
|
|
@@ -131,4 +180,4 @@ Object.defineProperty(exports, "ordersScreenPropertySchema", {
|
|
|
131
180
|
}
|
|
132
181
|
});
|
|
133
182
|
|
|
134
|
-
//# sourceMappingURL=OrdersScreen-
|
|
183
|
+
//# sourceMappingURL=OrdersScreen-DvtDjt3L.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrdersScreen-DvtDjt3L.cjs","names":["OrdersListScreen","Breadcrumb","BreadcrumbList","BreadcrumbItem","BreadcrumbPage","OrdersList","useOrdersClient","useAppNavigation","OrdersCoreProvider","OrdersListScreenContent","OrderDetailScreen","Breadcrumb","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","BreadcrumbSeparator","BreadcrumbPage","OrderDetail","useOrdersClient","useAppNavigation","OrdersCoreProvider","OrderDetailScreenContent","useAppNavigation","useCustomerAccount"],"sources":["../../../orders/ui/src/screens/OrdersListScreen.tsx","../src/screens/OrdersListScreen.tsx","../../../orders/ui/src/screens/OrderDetailScreen.tsx","../src/screens/OrderDetailScreen.tsx","../src/screens/OrdersScreen.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { orders } from \"@fluid-app/orders-api-client\";\nimport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbPage,\n} from \"@fluid-app/ui-primitives\";\nimport { useScreenHeaderBreadcrumbs } from \"@fluid-app/portal-react/shell/ScreenHeaderContext\";\nimport { OrdersList } from \"../components/orders-list\";\n\nexport interface OrdersListScreenProps {\n customerId: number | undefined;\n onOrderClick: (order: orders.ListOrder) => void;\n onSubscriptionClick?: (subscriptionToken: string) => void;\n t: (key: string) => string;\n isLoadingCustomer?: boolean;\n}\n\nexport function OrdersListScreen({\n customerId,\n onOrderClick,\n onSubscriptionClick,\n t,\n isLoadingCustomer,\n}: OrdersListScreenProps) {\n const headerBreadcrumbs = useMemo(\n () => (\n <Breadcrumb>\n <BreadcrumbList className=\"text-lg\">\n <BreadcrumbItem>\n <BreadcrumbPage className=\"font-semibold\">Orders</BreadcrumbPage>\n </BreadcrumbItem>\n </BreadcrumbList>\n </Breadcrumb>\n ),\n [],\n );\n useScreenHeaderBreadcrumbs(headerBreadcrumbs);\n\n if (isLoadingCustomer) {\n return (\n <div className=\"mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8\">\n <div className=\"space-y-3\">\n <div className=\"bg-muted h-10 animate-pulse rounded\" />\n <div className=\"bg-muted h-64 animate-pulse rounded\" />\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8\">\n <OrdersList\n customerId={customerId}\n onOrderClick={onOrderClick}\n onSubscriptionClick={onSubscriptionClick}\n t={t}\n />\n </div>\n );\n}\n","import { OrdersCoreProvider } from \"@fluid-app/orders-core\";\nimport { OrdersListScreen as OrdersListScreenContent } from \"@fluid-app/orders-ui/screens/OrdersListScreen\";\nimport type { orders } from \"@fluid-app/orders-api-client\";\nimport { useOrdersClient } from \"../account/use-account-clients\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\n\nconst translations: Record<string, string> = {\n search_orders: \"Search orders...\",\n order_number: \"Order #\",\n date: \"Date\",\n status: \"Status\",\n product: \"Product\",\n no_orders_found: \"No orders found\",\n no_matching_orders: \"No matching orders\",\n no_image_available: \"No image available\",\n this_product_no_longer_exists: \"This product no longer exists\",\n subscription: \"Subscription\",\n view_subscription: \"View Subscription\",\n total: \"Total\",\n results: \"results\",\n previous: \"Previous\",\n next: \"Next\",\n pagination: \"Pagination\",\n};\n\ninterface OrdersListScreenProps {\n customerId: number | undefined;\n isLoadingCustomer: boolean;\n}\n\nexport function OrdersListScreen({\n customerId,\n isLoadingCustomer,\n}: OrdersListScreenProps): React.JSX.Element {\n const ordersClient = useOrdersClient();\n const { navigate } = useAppNavigation();\n\n const handleOrderClick = (order: orders.ListOrder) => {\n navigate(`orders/${order.token}`);\n };\n\n const handleSubscriptionClick = (subscriptionToken: string) => {\n navigate(`subscriptions/${subscriptionToken}`);\n };\n\n return (\n <OrdersCoreProvider client={ordersClient}>\n <OrdersListScreenContent\n customerId={customerId}\n isLoadingCustomer={isLoadingCustomer}\n onOrderClick={handleOrderClick}\n onSubscriptionClick={handleSubscriptionClick}\n t={(key) => translations[key] ?? key}\n />\n </OrdersCoreProvider>\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@fluid-app/ui-primitives\";\nimport { useScreenHeaderBreadcrumbs } from \"@fluid-app/portal-react/shell/ScreenHeaderContext\";\nimport { OrderDetail } from \"../components/order-detail\";\n\nexport interface OrderDetailScreenProps {\n token: string;\n onNavigateToList: () => void;\n onNotFound?: () => void;\n onError?: (error: Error) => void;\n}\n\nexport function OrderDetailScreen({\n token,\n onNavigateToList,\n onNotFound,\n onError,\n}: OrderDetailScreenProps) {\n const headerBreadcrumbs = useMemo(\n () => (\n <Breadcrumb>\n <BreadcrumbList className=\"text-lg\">\n <BreadcrumbItem>\n <BreadcrumbLink\n href=\"#\"\n onClick={(e) => {\n e.preventDefault();\n onNavigateToList();\n }}\n >\n Orders\n </BreadcrumbLink>\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n <BreadcrumbItem>\n <BreadcrumbPage className=\"font-semibold\">\n Order #{token}\n </BreadcrumbPage>\n </BreadcrumbItem>\n </BreadcrumbList>\n </Breadcrumb>\n ),\n [token, onNavigateToList],\n );\n useScreenHeaderBreadcrumbs(headerBreadcrumbs);\n\n return (\n <div className=\"mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8\">\n <OrderDetail token={token} onNotFound={onNotFound} onError={onError} />\n </div>\n );\n}\n","import { OrdersCoreProvider } from \"@fluid-app/orders-core\";\nimport { OrderDetailScreen as OrderDetailScreenContent } from \"@fluid-app/orders-ui/screens/OrderDetailScreen\";\nimport { useOrdersClient } from \"../account/use-account-clients\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\n\ninterface OrderDetailScreenProps {\n token: string;\n onToast: (message: string, type: \"success\" | \"error\" | \"warning\") => void;\n}\n\nexport function OrderDetailScreen({\n token,\n onToast,\n}: OrderDetailScreenProps): React.JSX.Element {\n const client = useOrdersClient();\n const { navigate } = useAppNavigation();\n\n return (\n <OrdersCoreProvider client={client}>\n <OrderDetailScreenContent\n token={token}\n onNavigateToList={() => navigate(\"orders\")}\n onNotFound={() => {\n onToast(\"Order not found\", \"warning\");\n navigate(\"orders\");\n }}\n onError={(err) => {\n const message =\n err instanceof Error ? err.message : \"An error occurred\";\n onToast(`Failed to load order: ${message}`, \"error\");\n }}\n />\n </OrdersCoreProvider>\n );\n}\n","import type { ComponentProps } from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n PaddingOptions,\n} from \"../types\";\nimport type { WidgetPropertySchema } from \"../registries/property-schema-types\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\nimport { useCustomerAccount } from \"../account/use-customer-account\";\nimport { OrdersListScreen } from \"./OrdersListScreen\";\nimport { OrderDetailScreen } from \"./OrderDetailScreen\";\n\ntype OrdersScreenProps = ComponentProps<\"div\"> & {\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n onToast?: (message: string, type: \"success\" | \"error\" | \"warning\") => void;\n};\n\nfunction defaultToast(message: string, type: \"success\" | \"error\" | \"warning\") {\n if (type === \"error\" || type === \"warning\") {\n console.warn(\"[Orders]\", message);\n } else {\n console.info(\"[Orders]\", message);\n }\n}\n\nexport function OrdersScreen({\n onToast,\n /* eslint-disable @typescript-eslint/no-unused-vars -- destructured to exclude from divProps spread */\n background,\n textColor,\n accentColor,\n padding,\n borderRadius,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...divProps\n}: OrdersScreenProps): React.JSX.Element {\n const { currentSlug } = useAppNavigation();\n const effectiveToast = onToast ?? defaultToast;\n\n // Parse slug: \"orders\" → list, \"orders/{token}\" → detail\n const detailToken = currentSlug.split(\"/\")[1];\n const isDetailView = detailToken !== undefined;\n\n const { customerId, isLoadingCustomer, isCustomerError } = useCustomerAccount(\n { enabled: !isDetailView },\n );\n\n if (isDetailView) {\n return (\n <div {...divProps}>\n <OrderDetailScreen token={detailToken} onToast={effectiveToast} />\n </div>\n );\n }\n\n if (isCustomerError && !isLoadingCustomer) {\n return (\n <div {...divProps}>\n <div className=\"text-muted-foreground px-4 py-8 text-center text-sm\">\n Unable to load account data. Please try again later.\n </div>\n </div>\n );\n }\n\n return (\n <div {...divProps}>\n <OrdersListScreen\n customerId={customerId}\n isLoadingCustomer={isLoadingCustomer}\n />\n </div>\n );\n}\n\nexport const ordersScreenPropertySchema: WidgetPropertySchema = {\n widgetType: \"OrdersScreen\",\n displayName: \"Orders Screen\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":"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"}
|
|
@@ -32,11 +32,12 @@ require("./SpacerWidget-Br2IZFFv.cjs");
|
|
|
32
32
|
require("./TableWidget-Vcxw-se8.cjs");
|
|
33
33
|
require("./ToDoWidget-Bv6POc5R.cjs");
|
|
34
34
|
require("./VideoWidget-7Q2eqHFn.cjs");
|
|
35
|
-
require("./
|
|
35
|
+
require("./ScreenHeaderContext-eyKPyDoQ.cjs");
|
|
36
36
|
require("./dist-NpiIdjkL.cjs");
|
|
37
37
|
require("./es-qN_AsxTa.cjs");
|
|
38
|
-
require("./dist-
|
|
39
|
-
require("./
|
|
40
|
-
|
|
38
|
+
require("./dist-Cs6PV1Tf.cjs");
|
|
39
|
+
require("./src-D1poJLOQ.cjs");
|
|
40
|
+
require("./dist-oTn1xy1Z.cjs");
|
|
41
|
+
const require_ProductsScreen = require("./ProductsScreen-DO54qQyx.cjs");
|
|
41
42
|
exports.ProductsScreen = require_ProductsScreen.ProductsScreen;
|
|
42
43
|
exports.productsScreenPropertySchema = require_ProductsScreen.productsScreenPropertySchema;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as useSdkClient } from "./use-account-clients-yghkzBH9.mjs";
|
|
2
|
-
import { i as ShareablesCoreProvider, r as ShareablesUIProvider, t as ProductsApp } from "./src-CEouYGbQ.mjs";
|
|
3
2
|
import { n as useCurrentUser } from "./use-current-user-D_gOoHWA.mjs";
|
|
4
3
|
import { n as useAppNavigation } from "./AppNavigationContext-DJeNcP4Y.mjs";
|
|
4
|
+
import { i as ShareablesCoreProvider, r as ShareablesUIProvider, t as ProductsApp } from "./src-CzK-t4_m.mjs";
|
|
5
5
|
import { useCallback, useMemo } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
7
|
//#region src/screens/ProductsScreen.tsx
|
|
@@ -65,4 +65,4 @@ const productsScreenPropertySchema = {
|
|
|
65
65
|
//#endregion
|
|
66
66
|
export { productsScreenPropertySchema as n, ProductsScreen as t };
|
|
67
67
|
|
|
68
|
-
//# sourceMappingURL=ProductsScreen-
|
|
68
|
+
//# sourceMappingURL=ProductsScreen-CNnlXg_I.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductsScreen-
|
|
1
|
+
{"version":3,"file":"ProductsScreen-CNnlXg_I.mjs","names":[],"sources":["../src/screens/ProductsScreen.tsx"],"sourcesContent":["import { useCallback, useMemo, type ComponentProps } from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n PaddingOptions,\n} from \"../types\";\nimport type { WidgetPropertySchema } from \"../registries/property-schema-types\";\nimport { ShareablesCoreProvider } from \"@fluid-app/shareables-core\";\nimport { ShareablesUIProvider, ProductsApp } from \"@fluid-app/shareables-ui\";\nimport { useCurrentUser } from \"../hooks/use-current-user\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\nimport { useSdkClient } from \"../account/use-account-clients\";\n\ntype ProductsScreenProps = ComponentProps<\"div\"> & {\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n};\n\nexport function ProductsScreen({\n /* eslint-disable @typescript-eslint/no-unused-vars -- destructured to exclude from divProps spread */\n background,\n textColor,\n accentColor,\n padding,\n borderRadius,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...divProps\n}: ProductsScreenProps): React.JSX.Element {\n const domainClient = useSdkClient();\n const { data: userData } = useCurrentUser();\n const { currentSlug, navigate } = useAppNavigation();\n\n // Extract product ID from slug: \"products/123\" → \"123\"\n const productId = useMemo(() => {\n const match = currentSlug.match(/^products\\/(.+)/);\n return match?.[1] ?? null;\n }, [currentSlug]);\n\n const handleSelectProduct = useCallback(\n (id: string) => {\n navigate(`products/${id}`);\n },\n [navigate],\n );\n\n const handleBack = useCallback(() => {\n navigate(\"products\");\n }, [navigate]);\n\n const coreConfig = useMemo(\n () => ({\n client: domainClient,\n user: userData ? { id: userData.id } : null,\n }),\n [domainClient, userData],\n );\n\n const uiConfig = useMemo(\n () => ({\n user: userData\n ? {\n id: userData.id,\n company: userData.company\n ? { logo_url: userData.company.logo_url }\n : null,\n }\n : undefined,\n basePath: \"\",\n navigate: (path: string) => {\n navigate(path);\n },\n showToast: (opts: {\n title: string;\n type: \"success\" | \"error\" | \"warning\";\n }) => {\n console.log(`[Products] ${opts.type}: ${opts.title}`);\n },\n }),\n [userData, navigate],\n );\n\n return (\n <div {...divProps} className={`h-full ${divProps.className ?? \"\"}`}>\n <ShareablesCoreProvider config={coreConfig}>\n <ShareablesUIProvider config={uiConfig}>\n <ProductsApp\n countryCode={userData?.country?.iso}\n companyLogoUrl={userData?.company?.logo_url}\n productId={productId}\n onSelectProduct={handleSelectProduct}\n onBack={handleBack}\n />\n </ShareablesUIProvider>\n </ShareablesCoreProvider>\n </div>\n );\n}\n\nexport const productsScreenPropertySchema: WidgetPropertySchema = {\n widgetType: \"ProductsScreen\",\n displayName: \"Products Screen\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":";;;;;;;AAsBA,SAAgB,eAAe,EAE7B,YACA,WACA,aACA,SACA,cAEA,GAAG,YACsC;CACzC,MAAM,eAAe,cAAc;CACnC,MAAM,EAAE,MAAM,aAAa,gBAAgB;CAC3C,MAAM,EAAE,aAAa,aAAa,kBAAkB;CAGpD,MAAM,YAAY,cAAc;AAE9B,SADc,YAAY,MAAM,kBAAkB,GACnC,MAAM;IACpB,CAAC,YAAY,CAAC;CAEjB,MAAM,sBAAsB,aACzB,OAAe;AACd,WAAS,YAAY,KAAK;IAE5B,CAAC,SAAS,CACX;CAED,MAAM,aAAa,kBAAkB;AACnC,WAAS,WAAW;IACnB,CAAC,SAAS,CAAC;CAEd,MAAM,aAAa,eACV;EACL,QAAQ;EACR,MAAM,WAAW,EAAE,IAAI,SAAS,IAAI,GAAG;EACxC,GACD,CAAC,cAAc,SAAS,CACzB;CAED,MAAM,WAAW,eACR;EACL,MAAM,WACF;GACE,IAAI,SAAS;GACb,SAAS,SAAS,UACd,EAAE,UAAU,SAAS,QAAQ,UAAU,GACvC;GACL,GACD,KAAA;EACJ,UAAU;EACV,WAAW,SAAiB;AAC1B,YAAS,KAAK;;EAEhB,YAAY,SAGN;AACJ,WAAQ,IAAI,cAAc,KAAK,KAAK,IAAI,KAAK,QAAQ;;EAExD,GACD,CAAC,UAAU,SAAS,CACrB;AAED,QACE,oBAAC,OAAD;EAAK,GAAI;EAAU,WAAW,UAAU,SAAS,aAAa;YAC5D,oBAAC,wBAAD;GAAwB,QAAQ;aAC9B,oBAAC,sBAAD;IAAsB,QAAQ;cAC5B,oBAAC,aAAD;KACE,aAAa,UAAU,SAAS;KAChC,gBAAgB,UAAU,SAAS;KACxB;KACX,iBAAiB;KACjB,QAAQ;KACR,CAAA;IACmB,CAAA;GACA,CAAA;EACrB,CAAA;;AAIV,MAAa,+BAAqD;CAChE,YAAY;CACZ,aAAa;CACb,YAAY,CAAC;EAAE,IAAI;EAAW,OAAO;EAAW,CAAC;CACjD,QAAQ,EAAE;CACX"}
|
|
@@ -31,10 +31,11 @@ import "./SpacerWidget-DgVU58BC.mjs";
|
|
|
31
31
|
import "./TableWidget-CK5jQxjz.mjs";
|
|
32
32
|
import "./ToDoWidget-Cmvf7I6c.mjs";
|
|
33
33
|
import "./VideoWidget-ho9fGQ3V.mjs";
|
|
34
|
-
import "./
|
|
34
|
+
import "./ScreenHeaderContext-CrdfLGKk.mjs";
|
|
35
35
|
import "./dist-CMGXkSgZ.mjs";
|
|
36
36
|
import "./es-CrIkZTQ3.mjs";
|
|
37
|
-
import "./dist-
|
|
38
|
-
import "./
|
|
39
|
-
import
|
|
37
|
+
import "./dist-Cl4FsM3V.mjs";
|
|
38
|
+
import "./src-CzK-t4_m.mjs";
|
|
39
|
+
import "./sortable.esm-DreCqRxJ.mjs";
|
|
40
|
+
import { n as productsScreenPropertySchema, t as ProductsScreen } from "./ProductsScreen-CNnlXg_I.mjs";
|
|
40
41
|
export { ProductsScreen, productsScreenPropertySchema };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
require("./chunk-DAgNkxik.cjs");
|
|
2
2
|
const require_use_account_clients = require("./use-account-clients-vZftsKdf.cjs");
|
|
3
|
-
const require_src = require("./src-DdlLVUFj.cjs");
|
|
4
3
|
const require_use_current_user = require("./use-current-user-437rXIp0.cjs");
|
|
5
4
|
const require_AppNavigationContext = require("./AppNavigationContext-B88_pXjo.cjs");
|
|
5
|
+
const require_src = require("./src-D1poJLOQ.cjs");
|
|
6
6
|
let react = require("react");
|
|
7
7
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
8
|
//#region src/screens/ProductsScreen.tsx
|
|
@@ -77,4 +77,4 @@ Object.defineProperty(exports, "productsScreenPropertySchema", {
|
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
79
|
|
|
80
|
-
//# sourceMappingURL=ProductsScreen-
|
|
80
|
+
//# sourceMappingURL=ProductsScreen-DO54qQyx.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductsScreen-
|
|
1
|
+
{"version":3,"file":"ProductsScreen-DO54qQyx.cjs","names":["useSdkClient","useCurrentUser","useAppNavigation","ShareablesCoreProvider","ShareablesUIProvider","ProductsApp"],"sources":["../src/screens/ProductsScreen.tsx"],"sourcesContent":["import { useCallback, useMemo, type ComponentProps } from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n PaddingOptions,\n} from \"../types\";\nimport type { WidgetPropertySchema } from \"../registries/property-schema-types\";\nimport { ShareablesCoreProvider } from \"@fluid-app/shareables-core\";\nimport { ShareablesUIProvider, ProductsApp } from \"@fluid-app/shareables-ui\";\nimport { useCurrentUser } from \"../hooks/use-current-user\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\nimport { useSdkClient } from \"../account/use-account-clients\";\n\ntype ProductsScreenProps = ComponentProps<\"div\"> & {\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n};\n\nexport function ProductsScreen({\n /* eslint-disable @typescript-eslint/no-unused-vars -- destructured to exclude from divProps spread */\n background,\n textColor,\n accentColor,\n padding,\n borderRadius,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...divProps\n}: ProductsScreenProps): React.JSX.Element {\n const domainClient = useSdkClient();\n const { data: userData } = useCurrentUser();\n const { currentSlug, navigate } = useAppNavigation();\n\n // Extract product ID from slug: \"products/123\" → \"123\"\n const productId = useMemo(() => {\n const match = currentSlug.match(/^products\\/(.+)/);\n return match?.[1] ?? null;\n }, [currentSlug]);\n\n const handleSelectProduct = useCallback(\n (id: string) => {\n navigate(`products/${id}`);\n },\n [navigate],\n );\n\n const handleBack = useCallback(() => {\n navigate(\"products\");\n }, [navigate]);\n\n const coreConfig = useMemo(\n () => ({\n client: domainClient,\n user: userData ? { id: userData.id } : null,\n }),\n [domainClient, userData],\n );\n\n const uiConfig = useMemo(\n () => ({\n user: userData\n ? {\n id: userData.id,\n company: userData.company\n ? { logo_url: userData.company.logo_url }\n : null,\n }\n : undefined,\n basePath: \"\",\n navigate: (path: string) => {\n navigate(path);\n },\n showToast: (opts: {\n title: string;\n type: \"success\" | \"error\" | \"warning\";\n }) => {\n console.log(`[Products] ${opts.type}: ${opts.title}`);\n },\n }),\n [userData, navigate],\n );\n\n return (\n <div {...divProps} className={`h-full ${divProps.className ?? \"\"}`}>\n <ShareablesCoreProvider config={coreConfig}>\n <ShareablesUIProvider config={uiConfig}>\n <ProductsApp\n countryCode={userData?.country?.iso}\n companyLogoUrl={userData?.company?.logo_url}\n productId={productId}\n onSelectProduct={handleSelectProduct}\n onBack={handleBack}\n />\n </ShareablesUIProvider>\n </ShareablesCoreProvider>\n </div>\n );\n}\n\nexport const productsScreenPropertySchema: WidgetPropertySchema = {\n widgetType: \"ProductsScreen\",\n displayName: \"Products Screen\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":";;;;;;;;AAsBA,SAAgB,eAAe,EAE7B,YACA,WACA,aACA,SACA,cAEA,GAAG,YACsC;CACzC,MAAM,eAAeA,4BAAAA,cAAc;CACnC,MAAM,EAAE,MAAM,aAAaC,yBAAAA,gBAAgB;CAC3C,MAAM,EAAE,aAAa,aAAaC,6BAAAA,kBAAkB;CAGpD,MAAM,aAAA,GAAA,MAAA,eAA0B;AAE9B,SADc,YAAY,MAAM,kBAAkB,GACnC,MAAM;IACpB,CAAC,YAAY,CAAC;CAEjB,MAAM,uBAAA,GAAA,MAAA,cACH,OAAe;AACd,WAAS,YAAY,KAAK;IAE5B,CAAC,SAAS,CACX;CAED,MAAM,cAAA,GAAA,MAAA,mBAA+B;AACnC,WAAS,WAAW;IACnB,CAAC,SAAS,CAAC;CAEd,MAAM,cAAA,GAAA,MAAA,gBACG;EACL,QAAQ;EACR,MAAM,WAAW,EAAE,IAAI,SAAS,IAAI,GAAG;EACxC,GACD,CAAC,cAAc,SAAS,CACzB;CAED,MAAM,YAAA,GAAA,MAAA,gBACG;EACL,MAAM,WACF;GACE,IAAI,SAAS;GACb,SAAS,SAAS,UACd,EAAE,UAAU,SAAS,QAAQ,UAAU,GACvC;GACL,GACD,KAAA;EACJ,UAAU;EACV,WAAW,SAAiB;AAC1B,YAAS,KAAK;;EAEhB,YAAY,SAGN;AACJ,WAAQ,IAAI,cAAc,KAAK,KAAK,IAAI,KAAK,QAAQ;;EAExD,GACD,CAAC,UAAU,SAAS,CACrB;AAED,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,GAAI;EAAU,WAAW,UAAU,SAAS,aAAa;YAC5D,iBAAA,GAAA,kBAAA,KAACC,YAAAA,wBAAD;GAAwB,QAAQ;aAC9B,iBAAA,GAAA,kBAAA,KAACC,YAAAA,sBAAD;IAAsB,QAAQ;cAC5B,iBAAA,GAAA,kBAAA,KAACC,YAAAA,aAAD;KACE,aAAa,UAAU,SAAS;KAChC,gBAAgB,UAAU,SAAS;KACxB;KACX,iBAAiB;KACjB,QAAQ;KACR,CAAA;IACmB,CAAA;GACA,CAAA;EACrB,CAAA;;AAIV,MAAa,+BAAqD;CAChE,YAAY;CACZ,aAAa;CACb,YAAY,CAAC;EAAE,IAAI;EAAW,OAAO;EAAW,CAAC;CACjD,QAAQ,EAAE;CACX"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./FluidProvider-uMkUIfAA.mjs";
|
|
2
|
-
import { n as profileScreenPropertySchema, t as ProfileScreen } from "./ProfileScreen-
|
|
2
|
+
import { n as profileScreenPropertySchema, t as ProfileScreen } from "./ProfileScreen-D4x5J95V.mjs";
|
|
3
3
|
import "./error-state-BGEvTYIh.mjs";
|
|
4
4
|
import "./PointsWidget-DjSC-B2i.mjs";
|
|
5
5
|
import "./ScreenRenderer-CnxT7sYF.mjs";
|
|
@@ -32,4 +32,5 @@ import "./SpacerWidget-DgVU58BC.mjs";
|
|
|
32
32
|
import "./TableWidget-CK5jQxjz.mjs";
|
|
33
33
|
import "./ToDoWidget-Cmvf7I6c.mjs";
|
|
34
34
|
import "./VideoWidget-ho9fGQ3V.mjs";
|
|
35
|
+
import "./ScreenHeaderContext-CrdfLGKk.mjs";
|
|
35
36
|
export { ProfileScreen, profileScreenPropertySchema };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require("./chunk-DAgNkxik.cjs");
|
|
2
2
|
require("./FluidProvider-DDcsxdbL.cjs");
|
|
3
|
-
const require_ProfileScreen = require("./ProfileScreen-
|
|
3
|
+
const require_ProfileScreen = require("./ProfileScreen-D5_7MMej.cjs");
|
|
4
4
|
require("./error-state-CGCSDJIJ.cjs");
|
|
5
5
|
require("./PointsWidget-Bs74dyFl.cjs");
|
|
6
6
|
require("./ScreenRenderer-D-vpSa-G.cjs");
|
|
@@ -33,5 +33,6 @@ require("./SpacerWidget-Br2IZFFv.cjs");
|
|
|
33
33
|
require("./TableWidget-Vcxw-se8.cjs");
|
|
34
34
|
require("./ToDoWidget-Bv6POc5R.cjs");
|
|
35
35
|
require("./VideoWidget-7Q2eqHFn.cjs");
|
|
36
|
+
require("./ScreenHeaderContext-eyKPyDoQ.cjs");
|
|
36
37
|
exports.ProfileScreen = require_ProfileScreen.ProfileScreen;
|
|
37
38
|
exports.profileScreenPropertySchema = require_ProfileScreen.profileScreenPropertySchema;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { G as updateCustomer, W as fetchCustomerAccount, n as useFluidContext } from "./FluidProvider-uMkUIfAA.mjs";
|
|
2
2
|
import { t as parseApiErrors } from "./parse-api-errors-Dy2gL1eC.mjs";
|
|
3
|
-
import { $t as Avatar, A as SelectContent, G as Label, I as Input, J as DropdownMenuItem, K as DropdownMenu, M as SelectTrigger, N as SelectValue, X as DropdownMenuSeparator, _n as AccordionTrigger, at as DialogFooter, dn as Button, en as AvatarFallback, et as DropdownMenuTrigger, gn as AccordionItem, hn as AccordionContent, j as SelectItem, k as Select, lt as DialogTitle, mn as Accordion, nt as DialogClose, ot as DialogHeader, q as DropdownMenuContent, rt as DialogContent, tt as Dialog, x as Skeleton, y as fluidToast, yn as cn } from "./src-Bh-9OV8i.mjs";
|
|
3
|
+
import { $t as Avatar, A as SelectContent, G as Label, I as Input, J as DropdownMenuItem, K as DropdownMenu, Kt as Breadcrumb, M as SelectTrigger, N as SelectValue, X as DropdownMenuSeparator, Xt as BreadcrumbPage, Yt as BreadcrumbList, _n as AccordionTrigger, at as DialogFooter, dn as Button, en as AvatarFallback, et as DropdownMenuTrigger, gn as AccordionItem, hn as AccordionContent, j as SelectItem, k as Select, lt as DialogTitle, mn as Accordion, nt as DialogClose, ot as DialogHeader, q as DropdownMenuContent, qt as BreadcrumbItem, rt as DialogContent, tt as Dialog, x as Skeleton, y as fluidToast, yn as cn } from "./src-Bh-9OV8i.mjs";
|
|
4
4
|
import { i as useSdkClient, n as useFluidPayClient, o as useFluidAuth, t as API_VERSION } from "./use-account-clients-yghkzBH9.mjs";
|
|
5
|
+
import { r as useScreenHeaderBreadcrumbs } from "./ScreenHeaderContext-CrdfLGKk.mjs";
|
|
5
6
|
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
6
7
|
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
7
8
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -2737,6 +2738,13 @@ function ProfileScreen({ onToast, background, textColor, accentColor, padding, b
|
|
|
2737
2738
|
const { config } = useFluidContext();
|
|
2738
2739
|
const effectiveToast = onToast ?? defaultToast;
|
|
2739
2740
|
const countryIso = config.countryIso ?? "US";
|
|
2741
|
+
useScreenHeaderBreadcrumbs(useMemo(() => /* @__PURE__ */ jsx(Breadcrumb, { children: /* @__PURE__ */ jsx(BreadcrumbList, {
|
|
2742
|
+
className: "text-lg",
|
|
2743
|
+
children: /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbPage, {
|
|
2744
|
+
className: "font-semibold",
|
|
2745
|
+
children: "Profile"
|
|
2746
|
+
}) })
|
|
2747
|
+
}) }), []));
|
|
2740
2748
|
return /* @__PURE__ */ jsx("div", {
|
|
2741
2749
|
...divProps,
|
|
2742
2750
|
children: /* @__PURE__ */ jsx(ProfileContentScreen, {
|
|
@@ -2757,4 +2765,4 @@ const profileScreenPropertySchema = {
|
|
|
2757
2765
|
//#endregion
|
|
2758
2766
|
export { profileScreenPropertySchema as n, ProfileScreen as t };
|
|
2759
2767
|
|
|
2760
|
-
//# sourceMappingURL=ProfileScreen-
|
|
2768
|
+
//# sourceMappingURL=ProfileScreen-D4x5J95V.mjs.map
|