@loafmarkets/ui 0.1.348 → 0.1.350
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/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +46 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +46 -9
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -6419,6 +6419,7 @@ var LoginPopup = ({
|
|
|
6419
6419
|
onClose,
|
|
6420
6420
|
onOpenEarlyAccess,
|
|
6421
6421
|
onWalletLogin,
|
|
6422
|
+
onPasskeyLogin,
|
|
6422
6423
|
isAuthenticated,
|
|
6423
6424
|
currentUser,
|
|
6424
6425
|
onSendEmailCode,
|
|
@@ -6529,6 +6530,20 @@ var LoginPopup = ({
|
|
|
6529
6530
|
onOpenEarlyAccess();
|
|
6530
6531
|
}
|
|
6531
6532
|
};
|
|
6533
|
+
const handlePasskeyLogin = async () => {
|
|
6534
|
+
if (!onPasskeyLogin) return;
|
|
6535
|
+
setError("");
|
|
6536
|
+
setLoading(true);
|
|
6537
|
+
try {
|
|
6538
|
+
await onPasskeyLogin();
|
|
6539
|
+
onClose();
|
|
6540
|
+
} catch (err) {
|
|
6541
|
+
const message = err instanceof Error ? err.message : "Passkey sign-in failed";
|
|
6542
|
+
setError(message);
|
|
6543
|
+
} finally {
|
|
6544
|
+
setLoading(false);
|
|
6545
|
+
}
|
|
6546
|
+
};
|
|
6532
6547
|
const handleEmailClick = (signUp = false) => {
|
|
6533
6548
|
setIsSignUp(signUp);
|
|
6534
6549
|
setView("email");
|
|
@@ -6786,6 +6801,10 @@ var LoginPopup = ({
|
|
|
6786
6801
|
/* @__PURE__ */ jsxs(LoginButton, { onClick: handleWalletLogin, children: [
|
|
6787
6802
|
/* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M21 18v1c0 1.1-.9 2-2 2H5c-1.11 0-2-.9-2-2V5c0-1.1.89-2 2-2h14c1.1 0 2 .9 2 2v1h-9c-1.11 0-2 .9-2 2v8c0 1.1.89 2 2 2h9zm-9-2h10V8H12v8zm4-2.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z" }) }),
|
|
6788
6803
|
"Sign in with Wallet"
|
|
6804
|
+
] }),
|
|
6805
|
+
onPasskeyLogin && /* @__PURE__ */ jsxs(LoginButton, { onClick: handlePasskeyLogin, disabled: loading, children: [
|
|
6806
|
+
/* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M12 2C9.79 2 8 3.79 8 6v4H6c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2h-2V6c0-2.21-1.79-4-4-4zm-2 4c0-1.1.9-2 2-2s2 .9 2 2v4h-4V6zm2 9a2 2 0 100 4 2 2 0 000-4z" }) }),
|
|
6807
|
+
"Sign in with Passkey"
|
|
6789
6808
|
] })
|
|
6790
6809
|
] }),
|
|
6791
6810
|
/* @__PURE__ */ jsx("div", { style: { textAlign: "center", marginTop: "0.5rem", marginBottom: "1rem" }, children: /* @__PURE__ */ jsx(
|
|
@@ -13781,7 +13800,9 @@ function PortfolioActivityPanel({
|
|
|
13781
13800
|
}
|
|
13782
13801
|
};
|
|
13783
13802
|
const mergedOrderHistory = useMemo(() => {
|
|
13784
|
-
if (showSubscriptionsTab || offeringOrders.length === 0)
|
|
13803
|
+
if (showSubscriptionsTab || offeringOrders.length === 0) {
|
|
13804
|
+
return [...orderHistory].sort((a, b) => b.createdAt - a.createdAt);
|
|
13805
|
+
}
|
|
13785
13806
|
const mapped = offeringOrders.map((o, i) => ({
|
|
13786
13807
|
id: o.ipoOrderId ?? -(i + 1),
|
|
13787
13808
|
propertyId: 0,
|
|
@@ -13802,6 +13823,22 @@ function PortfolioActivityPanel({
|
|
|
13802
13823
|
}));
|
|
13803
13824
|
return [...orderHistory, ...mapped].sort((a, b) => b.createdAt - a.createdAt);
|
|
13804
13825
|
}, [showSubscriptionsTab, offeringOrders, orderHistory]);
|
|
13826
|
+
const sortedOpenOrders = useMemo(
|
|
13827
|
+
() => [...openOrders].sort((a, b) => b.createdAt - a.createdAt),
|
|
13828
|
+
[openOrders]
|
|
13829
|
+
);
|
|
13830
|
+
const sortedOfferingOrders = useMemo(
|
|
13831
|
+
() => [...offeringOrders].sort((a, b) => b.createdAt - a.createdAt),
|
|
13832
|
+
[offeringOrders]
|
|
13833
|
+
);
|
|
13834
|
+
const sortedTradeHistory = useMemo(
|
|
13835
|
+
() => [...tradeHistory].sort((a, b) => b.executedAt - a.executedAt),
|
|
13836
|
+
[tradeHistory]
|
|
13837
|
+
);
|
|
13838
|
+
const sortedTransfers = useMemo(
|
|
13839
|
+
() => [...transfers].sort((a, b) => b.createdAt - a.createdAt),
|
|
13840
|
+
[transfers]
|
|
13841
|
+
);
|
|
13805
13842
|
const positionsCount = positions.length;
|
|
13806
13843
|
const openOrdersCount = useMemo(
|
|
13807
13844
|
() => openOrders.filter((o) => o.status === "OPEN" || o.status === "PARTIALLY_FILLED").length,
|
|
@@ -13826,25 +13863,25 @@ function PortfolioActivityPanel({
|
|
|
13826
13863
|
const activeDataLength = (() => {
|
|
13827
13864
|
switch (activeTab) {
|
|
13828
13865
|
case "subscriptions":
|
|
13829
|
-
return
|
|
13866
|
+
return sortedOfferingOrders.length;
|
|
13830
13867
|
case "open-orders":
|
|
13831
|
-
return
|
|
13868
|
+
return sortedOpenOrders.length;
|
|
13832
13869
|
case "orders":
|
|
13833
13870
|
return mergedOrderHistory.length;
|
|
13834
13871
|
case "trades":
|
|
13835
|
-
return
|
|
13872
|
+
return sortedTradeHistory.length;
|
|
13836
13873
|
case "transfers":
|
|
13837
|
-
return
|
|
13874
|
+
return sortedTransfers.length;
|
|
13838
13875
|
default:
|
|
13839
13876
|
return 0;
|
|
13840
13877
|
}
|
|
13841
13878
|
})();
|
|
13842
13879
|
const totalPages = Math.ceil(activeDataLength / pageSize);
|
|
13843
|
-
const pagedOfferingOrders =
|
|
13844
|
-
const pagedOpenOrders =
|
|
13880
|
+
const pagedOfferingOrders = sortedOfferingOrders.slice(currentPage * pageSize, (currentPage + 1) * pageSize);
|
|
13881
|
+
const pagedOpenOrders = sortedOpenOrders.slice(currentPage * pageSize, (currentPage + 1) * pageSize);
|
|
13845
13882
|
const pagedOrderHistory = mergedOrderHistory.slice(currentPage * pageSize, (currentPage + 1) * pageSize);
|
|
13846
|
-
const pagedTradeHistory =
|
|
13847
|
-
const pagedTransfers =
|
|
13883
|
+
const pagedTradeHistory = sortedTradeHistory.slice(currentPage * pageSize, (currentPage + 1) * pageSize);
|
|
13884
|
+
const pagedTransfers = sortedTransfers.slice(currentPage * pageSize, (currentPage + 1) * pageSize);
|
|
13848
13885
|
return /* @__PURE__ */ jsxs(Container2, { className, style, children: [
|
|
13849
13886
|
/* @__PURE__ */ jsx(PanelTitle, { children: "Activity" }),
|
|
13850
13887
|
/* @__PURE__ */ jsxs(TabContainer, { children: [
|