@agg-build/ui 1.2.11 → 1.2.12
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/{chunk-J7K2U44E.mjs → chunk-3JXBOU24.mjs} +110 -60
- package/dist/{chunk-3ZSNHGAB.mjs → chunk-4WBQTUPW.mjs} +314 -58
- package/dist/{chunk-54PCEK6G.mjs → chunk-IBOE7DRY.mjs} +1 -1
- package/dist/{chunk-YP75TIY6.mjs → chunk-J6WELNCX.mjs} +3 -3
- package/dist/{chunk-ENAGASVU.mjs → chunk-U55T5BPE.mjs} +406 -337
- package/dist/{chunk-SJLHOAKK.mjs → chunk-X3KCFWXN.mjs} +936 -650
- package/dist/{chunk-NWJHFGBZ.mjs → chunk-YSW4ULL5.mjs} +1 -1
- package/dist/events.js +1593 -886
- package/dist/events.mjs +3 -3
- package/dist/index.js +4211 -3198
- package/dist/index.mjs +480 -105
- package/dist/modals.js +1164 -923
- package/dist/modals.mjs +3 -3
- package/dist/pages.js +1975 -1492
- package/dist/pages.mjs +6 -6
- package/dist/primitives.js +928 -649
- package/dist/primitives.mjs +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/trading.js +641 -444
- package/dist/trading.mjs +4 -4
- package/dist/types/agg-provider.d.mts +27 -0
- package/dist/types/agg-provider.d.ts +27 -0
- package/dist/types/events/list/event-list-tabs.d.mts +6 -1
- package/dist/types/events/list/event-list-tabs.d.ts +6 -1
- package/dist/types/index.d.mts +2 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/notifications/agg-notification-events-provider.d.mts +35 -0
- package/dist/types/notifications/agg-notification-events-provider.d.ts +35 -0
- package/dist/types/notifications/agg-toast-provider.d.mts +27 -0
- package/dist/types/notifications/agg-toast-provider.d.ts +27 -0
- package/dist/types/notifications/deposit-notification-events.d.mts +10 -0
- package/dist/types/notifications/deposit-notification-events.d.ts +10 -0
- package/dist/types/notifications/index.d.mts +2 -0
- package/dist/types/notifications/index.d.ts +2 -0
- package/dist/types/primitives/button/button.types.d.mts +4 -0
- package/dist/types/primitives/button/button.types.d.ts +4 -0
- package/dist/types/primitives/button/index.d.mts +1 -1
- package/dist/types/primitives/button/index.d.ts +1 -1
- package/dist/types/primitives/icon/registry.d.mts +16 -0
- package/dist/types/primitives/icon/registry.d.ts +16 -0
- package/dist/types/primitives/icon/svg/sort-end-date.d.mts +5 -0
- package/dist/types/primitives/icon/svg/sort-end-date.d.ts +5 -0
- package/dist/types/primitives/icon/svg/sort-top-arbitrage.d.mts +5 -0
- package/dist/types/primitives/icon/svg/sort-top-arbitrage.d.ts +5 -0
- package/dist/types/primitives/icon/svg/sort-volume-24hr.d.mts +5 -0
- package/dist/types/primitives/icon/svg/sort-volume-24hr.d.ts +5 -0
- package/dist/types/primitives/icon/svg/sort-volume.d.mts +5 -0
- package/dist/types/primitives/icon/svg/sort-volume.d.ts +5 -0
- package/dist/types/primitives/select/index.d.mts +1 -1
- package/dist/types/primitives/select/index.d.ts +1 -1
- package/dist/types/primitives/select/select.types.d.mts +9 -0
- package/dist/types/primitives/select/select.types.d.ts +9 -0
- package/dist/types/primitives/toast/toast.types.d.mts +3 -0
- package/dist/types/primitives/toast/toast.types.d.ts +3 -0
- package/dist/types/profile/index.d.mts +1 -1
- package/dist/types/profile/index.d.ts +1 -1
- package/dist/types/profile/profile-modal.constants.d.mts +2 -2
- package/dist/types/profile/profile-modal.constants.d.ts +2 -2
- package/dist/types/profile/tabs/accounts-wallets-tab.d.mts +2 -17
- package/dist/types/profile/tabs/accounts-wallets-tab.d.ts +2 -17
- package/dist/types/profile/tabs/trading-access-tab.d.mts +15 -0
- package/dist/types/profile/tabs/trading-access-tab.d.ts +15 -0
- package/dist/types/trading/place-order/index.place-order.utils.d.mts +1 -1
- package/dist/types/trading/place-order/index.place-order.utils.d.ts +1 -1
- package/package.json +2 -2
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
getTradingValueLabel,
|
|
9
9
|
getTradingVenueLabel,
|
|
10
10
|
resolveOrderEligibilityMessage
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-IBOE7DRY.mjs";
|
|
12
12
|
import {
|
|
13
13
|
GeoBlockBanner
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-YSW4ULL5.mjs";
|
|
15
15
|
import {
|
|
16
16
|
AGG_TERMS_OF_SERVICE_URL,
|
|
17
17
|
Button,
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
formatUsd,
|
|
38
38
|
getMotionClassName,
|
|
39
39
|
skeletonViews
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-X3KCFWXN.mjs";
|
|
41
41
|
|
|
42
42
|
// src/trading/types.ts
|
|
43
43
|
import { Venue, enumGuard, isFiniteNonNeg, safeParse } from "@agg-build/sdk";
|
|
@@ -82,11 +82,11 @@ import {
|
|
|
82
82
|
getWalletAddressFromUserProfile,
|
|
83
83
|
invalidateBalanceQueries,
|
|
84
84
|
invalidatePositionQueries,
|
|
85
|
+
mergeBestPricesPreferringLive,
|
|
85
86
|
requestAggAuthChooserOpen,
|
|
86
87
|
resolveEventTradingState,
|
|
87
88
|
resolveMarketTradingState,
|
|
88
89
|
resolveOrderEligibility,
|
|
89
|
-
TradeSide,
|
|
90
90
|
useAggAuthContext,
|
|
91
91
|
useAggBalanceState,
|
|
92
92
|
useAggClient as useAggClient2,
|
|
@@ -100,7 +100,6 @@ import {
|
|
|
100
100
|
useLiveBestPrices,
|
|
101
101
|
useLiveOutcomePrices,
|
|
102
102
|
useQueryClient,
|
|
103
|
-
mergeBestPricesPreferringLive,
|
|
104
103
|
useSdkUiConfig,
|
|
105
104
|
useSmartRoute
|
|
106
105
|
} from "@agg-build/hooks";
|
|
@@ -1222,6 +1221,19 @@ var VENUE_UNAVAILABLE_ERROR_PATTERN = /\b(unavailable|unreachable|timeout|timed
|
|
|
1222
1221
|
var ALCHEMY_SPONSORSHIP_ERROR_PATTERN = /\bsponsorship failed: sender has no balance of the token for erc20 sponsorship\b/i;
|
|
1223
1222
|
var ALCHEMY_PREPARE_CALLS_ERROR_PATTERN = /\bwallet_prepareCalls\b/i;
|
|
1224
1223
|
var DAG_CHECK_BALANCE_SHORTFALL_PATTERN = /\bInsufficient balance on chain\s+\d+\s+token\s+\S+:/i;
|
|
1224
|
+
var VENUE_CONNECTOR_UNREACHABLE_PATTERN = /\bvenue-connector\s+unreachable\b/i;
|
|
1225
|
+
var POLYMARKET_DEADLINE_TOO_SOON_PATTERN = /\bdeadline too soon\b/i;
|
|
1226
|
+
var SELL_NO_ONCHAIN_POSITION_PATTERN = /don'?t currently hold any on-chain shares/i;
|
|
1227
|
+
var VENUE_QUOTE_UNFILLABLE_PATTERN = /couldn'?t fill this order at the quoted price|no in-tolerance depth|couldn'?t fill this order at the quoted/i;
|
|
1228
|
+
var QUOTED_PRICE_UNAVAILABLE_PATTERN = /Quoted price is no longer available|missing a valid quoted price/i;
|
|
1229
|
+
var VENUE_MIN_ORDER_SIZE_PATTERN = /below (?:the )?(?:venue |Limitless'?s |Polymarket'?s |Hyperliquid'?s |predict\.fun'?s )?(?:0\.01-share )?minimum|Order amount too small/i;
|
|
1230
|
+
var SOURCE_BALANCE_CHANGED_PATTERN = /balance changed since the quote|wallet holds 0 (?:USDC|pUSD|of tokenId)|Polygon balance changed/i;
|
|
1231
|
+
var VENUE_MARKET_RESOLVED_PATTERN = /(?:Limitless|Myriad|Polymarket|Kalshi)?\s*market\s+(?:just\s+)?resolved|market just resolved/i;
|
|
1232
|
+
var DFLOW_WALLET_UNVERIFIED_PATTERN = /(?:wallet\s+needs\s+to\s+be\s+verified\s+with\s+dFlow|dflow\.net\/proof)/i;
|
|
1233
|
+
var VENUE_NO_QUOTE_PATH_PATTERN = /No active quote path/i;
|
|
1234
|
+
var SOLANA_BLOCKHASH_EXPIRED_PATTERN = /\b(blockhash(?:\s+(?:expired|not\s+found))?|TransactionExpiredBlockheightExceeded|transaction\s+expired)\b/i;
|
|
1235
|
+
var VENUE_RATE_LIMITED_PATTERN = /\b(429|rate[\s-]?limit(?:ed)?|too\s+many\s+requests|backoff)\b/i;
|
|
1236
|
+
var SERVICE_BLOCKED_ORDER_PATTERN = /Something on our side blocked this order/i;
|
|
1225
1237
|
var ALCHEMY_BALANCE_REVERT_PATTERN = /\b(transfer amount exceeds balance|transferFrom failed|insufficient balance|insufficient funds)\b/i;
|
|
1226
1238
|
var ALCHEMY_REVERT_DATA_SELECTOR_PATTERN = /\brevertData["']?:?\s*['"]?(0x[0-9a-fA-F]{8})/i;
|
|
1227
1239
|
var REVERT_SELECTOR_MESSAGES = {
|
|
@@ -1255,6 +1267,12 @@ var friendlyTerminatedStatusMessage = (status) => {
|
|
|
1255
1267
|
if (normalized === "rejected") {
|
|
1256
1268
|
return "The venue rejected your order. Please try again.";
|
|
1257
1269
|
}
|
|
1270
|
+
if (normalized === "failed") {
|
|
1271
|
+
return "Order didn't settle on-chain. Please try again.";
|
|
1272
|
+
}
|
|
1273
|
+
if (normalized === "unmatched") {
|
|
1274
|
+
return "No liquidity matched your order at the quoted price. Try a smaller size or re-quote.";
|
|
1275
|
+
}
|
|
1258
1276
|
return "Your order did not fill. Please try again.";
|
|
1259
1277
|
};
|
|
1260
1278
|
var tryParseJsonErrorValue = (value) => {
|
|
@@ -1289,12 +1307,51 @@ var normalizePlaceOrderErrorMessage = ({
|
|
|
1289
1307
|
fallbackMessage,
|
|
1290
1308
|
labels
|
|
1291
1309
|
}) => {
|
|
1292
|
-
var _a, _b;
|
|
1310
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
|
|
1293
1311
|
const extractedMessage = extractPlaceOrderErrorMessage(errorMessage);
|
|
1294
1312
|
if (!extractedMessage) return fallbackMessage;
|
|
1295
1313
|
if (DAG_CHECK_BALANCE_SHORTFALL_PATTERN.test(extractedMessage)) {
|
|
1296
1314
|
return (_a = labels == null ? void 0 : labels.quoteBalanceMismatch) != null ? _a : "Quote balance mismatch. Try a different amount.";
|
|
1297
1315
|
}
|
|
1316
|
+
if (VENUE_CONNECTOR_UNREACHABLE_PATTERN.test(extractedMessage)) {
|
|
1317
|
+
return (_b = labels == null ? void 0 : labels.serviceTemporarilyUnavailable) != null ? _b : "Service temporarily unavailable. Please try again in a moment.";
|
|
1318
|
+
}
|
|
1319
|
+
if (POLYMARKET_DEADLINE_TOO_SOON_PATTERN.test(extractedMessage)) {
|
|
1320
|
+
return (_c = labels == null ? void 0 : labels.orderDeadlineExpiredBeforeSubmission) != null ? _c : "Order deadline expired before submission. Please try again.";
|
|
1321
|
+
}
|
|
1322
|
+
if (DFLOW_WALLET_UNVERIFIED_PATTERN.test(extractedMessage)) {
|
|
1323
|
+
return (_d = labels == null ? void 0 : labels.dflowWalletUnverified) != null ? _d : "Your Solana wallet needs to be verified with dFlow before you can trade Kalshi markets. Verify at https://dflow.net/proof, then try again.";
|
|
1324
|
+
}
|
|
1325
|
+
if (SELL_NO_ONCHAIN_POSITION_PATTERN.test(extractedMessage)) {
|
|
1326
|
+
return (_e = labels == null ? void 0 : labels.sellNoOnchainPosition) != null ? _e : "You don't currently hold any on-chain shares of this outcome. If you just sold or redeemed elsewhere, your position display will refresh shortly \u2014 try again after that.";
|
|
1327
|
+
}
|
|
1328
|
+
if (VENUE_MARKET_RESOLVED_PATTERN.test(extractedMessage)) {
|
|
1329
|
+
return (_f = labels == null ? void 0 : labels.venueMarketResolved) != null ? _f : "This market just resolved. Pick a different market or wait for the next round.";
|
|
1330
|
+
}
|
|
1331
|
+
if (VENUE_NO_QUOTE_PATH_PATTERN.test(extractedMessage)) {
|
|
1332
|
+
return (_g = labels == null ? void 0 : labels.venueNoQuotePath) != null ? _g : "No active quote path for this market right now. Try a different size, or wait a moment and re-quote.";
|
|
1333
|
+
}
|
|
1334
|
+
if (QUOTED_PRICE_UNAVAILABLE_PATTERN.test(extractedMessage)) {
|
|
1335
|
+
return (_h = labels == null ? void 0 : labels.quoteUnavailable) != null ? _h : "Quote temporarily unavailable. Please try again.";
|
|
1336
|
+
}
|
|
1337
|
+
if (VENUE_QUOTE_UNFILLABLE_PATTERN.test(extractedMessage)) {
|
|
1338
|
+
return (_i = labels == null ? void 0 : labels.venueQuoteUnfillable) != null ? _i : "The venue couldn't fill this order at the quoted price right now. Try a smaller size, a higher slippage tolerance, or wait a moment and re-quote.";
|
|
1339
|
+
}
|
|
1340
|
+
if (VENUE_MIN_ORDER_SIZE_PATTERN.test(extractedMessage)) {
|
|
1341
|
+
return (_j = labels == null ? void 0 : labels.venueMinOrderSize) != null ? _j : "Order size is below the venue minimum. Try a larger amount.";
|
|
1342
|
+
}
|
|
1343
|
+
if (SOURCE_BALANCE_CHANGED_PATTERN.test(extractedMessage)) {
|
|
1344
|
+
return (_k = labels == null ? void 0 : labels.sourceBalanceChanged) != null ? _k : "Your balance changed since the quote. Refresh and try again, or pick a smaller amount.";
|
|
1345
|
+
}
|
|
1346
|
+
if (SOLANA_BLOCKHASH_EXPIRED_PATTERN.test(extractedMessage)) {
|
|
1347
|
+
return (_l = labels == null ? void 0 : labels.solanaBlockhashExpired) != null ? _l : "Solana transaction expired before submission. Please re-quote and try again.";
|
|
1348
|
+
}
|
|
1349
|
+
if (VENUE_RATE_LIMITED_PATTERN.test(extractedMessage)) {
|
|
1350
|
+
return (_m = labels == null ? void 0 : labels.venueRateLimited) != null ? _m : "The venue is rate-limiting requests right now. Please wait a moment and try again.";
|
|
1351
|
+
}
|
|
1352
|
+
if (SERVICE_BLOCKED_ORDER_PATTERN.test(extractedMessage)) {
|
|
1353
|
+
return (_n = labels == null ? void 0 : labels.serviceBlockedOrder) != null ? _n : "Something on our side blocked this order. Please contact support if it keeps happening \u2014 retrying with the same quote will hit the same issue.";
|
|
1354
|
+
}
|
|
1298
1355
|
if (ALCHEMY_BALANCE_REVERT_PATTERN.test(extractedMessage)) {
|
|
1299
1356
|
return "Your balance changed since the quote. Please refresh and try again.";
|
|
1300
1357
|
}
|
|
@@ -1313,7 +1370,7 @@ var normalizePlaceOrderErrorMessage = ({
|
|
|
1313
1370
|
}
|
|
1314
1371
|
const terminatedMatch = extractedMessage.match(VENUE_TERMINATED_STATUS_PATTERN);
|
|
1315
1372
|
if (terminatedMatch) {
|
|
1316
|
-
return friendlyTerminatedStatusMessage((
|
|
1373
|
+
return friendlyTerminatedStatusMessage((_o = terminatedMatch[1]) != null ? _o : "");
|
|
1317
1374
|
}
|
|
1318
1375
|
return extractedMessage;
|
|
1319
1376
|
};
|
|
@@ -1862,17 +1919,17 @@ var PlaceOrderSuccessView = ({
|
|
|
1862
1919
|
onDone,
|
|
1863
1920
|
onShare: _onShare
|
|
1864
1921
|
}) => {
|
|
1865
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i
|
|
1922
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
1866
1923
|
const [isExecutionDetailsExpanded, setIsExecutionDetailsExpanded] = useState2(true);
|
|
1867
|
-
const
|
|
1868
|
-
const _shareLabel = (
|
|
1924
|
+
const doneLabel = tradingLabels.orderDone;
|
|
1925
|
+
const _shareLabel = (_a = tradingLabels.orderShare) != null ? _a : "Share";
|
|
1869
1926
|
const potentialReturnLabel = summary.potentialReturnLabel && tradingLabels.potentialReturnBonus ? tradingLabels.potentialReturnBonus(summary.potentialReturnLabel) : summary.potentialReturnLabel ? `+${summary.potentialReturnLabel} Better Payout` : null;
|
|
1870
|
-
const resolvedActionLabel = (
|
|
1871
|
-
const resolvedTradeSide = (
|
|
1872
|
-
const resolvedAmountLabel = (
|
|
1873
|
-
const resolvedToWinLabel = (
|
|
1874
|
-
const executionStepGroups = (
|
|
1875
|
-
const finalStep = (
|
|
1927
|
+
const resolvedActionLabel = (_b = summary.actionLabel) != null ? _b : tradingLabels.orderSuccessTitle;
|
|
1928
|
+
const resolvedTradeSide = (_c = summary.tradeSide) != null ? _c : "buy";
|
|
1929
|
+
const resolvedAmountLabel = (_d = summary.amountLabel) != null ? _d : resolvedTradeSide === "sell" ? summary.shares : summary.estimatedCost;
|
|
1930
|
+
const resolvedToWinLabel = (_e = summary.toWinLabel) != null ? _e : resolvedTradeSide === "sell" ? summary.estimatedCost : resolveBuyToWinLabel(summary.shares);
|
|
1931
|
+
const executionStepGroups = (_f = summary.executionStepGroups) != null ? _f : [];
|
|
1932
|
+
const finalStep = (_g = executionStepGroups.at(-1)) == null ? void 0 : _g[0];
|
|
1876
1933
|
const detailedStepGroups = executionStepGroups.slice(0, -1);
|
|
1877
1934
|
const hasExecutionDetails = detailedStepGroups.length > 0;
|
|
1878
1935
|
const resolveStepIconName = (tone) => {
|
|
@@ -1887,7 +1944,7 @@ var PlaceOrderSuccessView = ({
|
|
|
1887
1944
|
/* @__PURE__ */ jsx3(
|
|
1888
1945
|
RemoteImage,
|
|
1889
1946
|
{
|
|
1890
|
-
src: (
|
|
1947
|
+
src: (_h = summary.eventImage) != null ? _h : null,
|
|
1891
1948
|
alt: "",
|
|
1892
1949
|
className: "h-12 w-12 shrink-0 overflow-hidden rounded-agg-lg object-cover"
|
|
1893
1950
|
}
|
|
@@ -2007,7 +2064,7 @@ var PlaceOrderSuccessView = ({
|
|
|
2007
2064
|
] }),
|
|
2008
2065
|
summary.potentialReturnLabel ? /* @__PURE__ */ jsxs2("div", { className: "flex w-full flex-col items-center justify-center gap-1 overflow-hidden rounded-agg-lg border border-agg-primary/50 bg-gradient-to-b from-agg-primary/8 to-agg-primary/15 p-3 text-center", children: [
|
|
2009
2066
|
/* @__PURE__ */ jsx3("p", { className: "bg-gradient-to-r from-agg-primary to-agg-primary-hover bg-clip-text text-agg-lg font-agg-bold leading-[28px] text-transparent", children: potentialReturnLabel }),
|
|
2010
|
-
/* @__PURE__ */ jsx3("p", { className: "text-agg-xs leading-agg-4 text-agg-foreground", children: (
|
|
2067
|
+
/* @__PURE__ */ jsx3("p", { className: "text-agg-xs leading-agg-4 text-agg-foreground", children: (_i = tradingLabels.withSmartRouting) != null ? _i : "with Smart Routing" })
|
|
2011
2068
|
] }) : null,
|
|
2012
2069
|
/* @__PURE__ */ jsx3("div", { className: "agg-order-success-actions flex gap-3", children: /* @__PURE__ */ jsx3(
|
|
2013
2070
|
Button,
|
|
@@ -2015,9 +2072,9 @@ var PlaceOrderSuccessView = ({
|
|
|
2015
2072
|
variant: "secondary",
|
|
2016
2073
|
size: "large",
|
|
2017
2074
|
className: "flex-1",
|
|
2018
|
-
"aria-label":
|
|
2075
|
+
"aria-label": doneLabel,
|
|
2019
2076
|
onClick: onDone,
|
|
2020
|
-
children:
|
|
2077
|
+
children: doneLabel
|
|
2021
2078
|
}
|
|
2022
2079
|
) })
|
|
2023
2080
|
] }) });
|
|
@@ -2334,17 +2391,10 @@ var PlaceOrderResolvedView = ({
|
|
|
2334
2391
|
resolvedClaim,
|
|
2335
2392
|
className
|
|
2336
2393
|
}) => {
|
|
2337
|
-
var _a, _b, _c, _d, _e
|
|
2394
|
+
var _a, _b, _c, _d, _e;
|
|
2338
2395
|
const labels = useLabels();
|
|
2339
2396
|
const tradingLabels = labels.trading;
|
|
2340
2397
|
const extendedTradingLabels = tradingLabels;
|
|
2341
|
-
const winningOutcomeLabel = (_c = (_b = (_a = tradingState.winningOutcome) == null ? void 0 : _a.label) == null ? void 0 : _b.trim().toLowerCase()) != null ? _c : "";
|
|
2342
|
-
const isPositiveWinningOutcome = ["yes", "up", "buy", "long", "true"].includes(
|
|
2343
|
-
winningOutcomeLabel
|
|
2344
|
-
);
|
|
2345
|
-
const resolvedIconName = isPositiveWinningOutcome ? "success-check" : "close";
|
|
2346
|
-
const resolvedIconToneClassName = isPositiveWinningOutcome ? "text-agg-success" : "text-agg-error";
|
|
2347
|
-
const resolvedIconContainerClassName = isPositiveWinningOutcome ? "bg-agg-success/15" : "bg-agg-error/15";
|
|
2348
2398
|
return /* @__PURE__ */ jsx4(
|
|
2349
2399
|
Card,
|
|
2350
2400
|
{
|
|
@@ -2361,9 +2411,9 @@ var PlaceOrderResolvedView = ({
|
|
|
2361
2411
|
{
|
|
2362
2412
|
className: cn(
|
|
2363
2413
|
"flex h-15 w-15 items-center justify-center rounded-full",
|
|
2364
|
-
|
|
2414
|
+
"bg-agg-primary/15"
|
|
2365
2415
|
),
|
|
2366
|
-
children: /* @__PURE__ */ jsx4(Icon, { name:
|
|
2416
|
+
children: /* @__PURE__ */ jsx4(Icon, { name: "success-check", className: cn("h-6 w-6", "text-agg-primary") })
|
|
2367
2417
|
}
|
|
2368
2418
|
),
|
|
2369
2419
|
/* @__PURE__ */ jsxs3(
|
|
@@ -2383,18 +2433,18 @@ var PlaceOrderResolvedView = ({
|
|
|
2383
2433
|
resolvedClaim ? /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
2384
2434
|
/* @__PURE__ */ jsx4("div", { className: "h-px w-full bg-agg-separator" }),
|
|
2385
2435
|
/* @__PURE__ */ jsxs3("div", { className: "flex w-full flex-col gap-5 p-6", children: [
|
|
2386
|
-
/* @__PURE__ */ jsx4(Typography, { variant: "body-strong", className: "text-center", children: (
|
|
2436
|
+
/* @__PURE__ */ jsx4(Typography, { variant: "body-strong", className: "text-center", children: (_a = extendedTradingLabels.resolvedEarningsTitle) != null ? _a : "Your Earnings" }),
|
|
2387
2437
|
/* @__PURE__ */ jsxs3("div", { className: "flex flex-col gap-3 text-agg-sm leading-agg-5 text-agg-foreground", children: [
|
|
2388
2438
|
resolvedClaim.resolutionDateLabel ? /* @__PURE__ */ jsxs3("div", { className: "flex items-center justify-between gap-4", children: [
|
|
2389
|
-
/* @__PURE__ */ jsx4("span", { children: (
|
|
2439
|
+
/* @__PURE__ */ jsx4("span", { children: (_b = extendedTradingLabels.resolvedResolutionDateLabel) != null ? _b : "Resolution date" }),
|
|
2390
2440
|
/* @__PURE__ */ jsx4("span", { className: "font-agg-bold", children: resolvedClaim.resolutionDateLabel })
|
|
2391
2441
|
] }) : null,
|
|
2392
2442
|
/* @__PURE__ */ jsxs3("div", { className: "flex items-center justify-between gap-4", children: [
|
|
2393
|
-
/* @__PURE__ */ jsx4("span", { children: (
|
|
2443
|
+
/* @__PURE__ */ jsx4("span", { children: (_c = extendedTradingLabels.resolvedSharesLabel) != null ? _c : "Shares" }),
|
|
2394
2444
|
/* @__PURE__ */ jsx4("span", { className: "font-agg-bold", children: resolvedClaim.sharesLabel })
|
|
2395
2445
|
] }),
|
|
2396
2446
|
/* @__PURE__ */ jsxs3("div", { className: "flex items-center justify-between gap-4", children: [
|
|
2397
|
-
/* @__PURE__ */ jsx4("span", { children: (
|
|
2447
|
+
/* @__PURE__ */ jsx4("span", { children: (_d = extendedTradingLabels.resolvedTotalPayoutLabel) != null ? _d : "Total payout" }),
|
|
2398
2448
|
/* @__PURE__ */ jsx4("span", { className: "font-agg-bold", children: resolvedClaim.totalPayoutLabel })
|
|
2399
2449
|
] })
|
|
2400
2450
|
] }),
|
|
@@ -2406,7 +2456,7 @@ var PlaceOrderResolvedView = ({
|
|
|
2406
2456
|
onClick: resolvedClaim.onClaim,
|
|
2407
2457
|
isLoading: resolvedClaim.isClaiming,
|
|
2408
2458
|
disabled: resolvedClaim.isClaiming,
|
|
2409
|
-
children: (
|
|
2459
|
+
children: (_e = extendedTradingLabels.claimWinnings) != null ? _e : "Claim Winnings"
|
|
2410
2460
|
}
|
|
2411
2461
|
) : null
|
|
2412
2462
|
] })
|
|
@@ -3307,6 +3357,7 @@ var PlaceOrder = ({
|
|
|
3307
3357
|
const activeQuoteData = (_B = (_A = selectedRouteCard == null ? void 0 : selectedRouteCard.quoteData) != null ? _A : smartRoute.data) != null ? _B : null;
|
|
3308
3358
|
const visibleRouteCards = orderedRouteCards.length > PLACE_ORDER_ROUTE_COLLAPSED_CARD_COUNT && !isRoutesExpanded ? orderedRouteCards.slice(0, PLACE_ORDER_ROUTE_COLLAPSED_CARD_COUNT) : orderedRouteCards;
|
|
3309
3359
|
const hasEnteredAmount = internalAmount > 0;
|
|
3360
|
+
const isQuoteLoading = hasEnteredAmount && (smartRoute.isFetching || smartRoute.isLoading);
|
|
3310
3361
|
const isInsufficientBalance = !isSell && isAuthenticated && hasEnteredAmount && !isBalanceLoading && internalAmount > totalBalance;
|
|
3311
3362
|
const isBelowMinimum = !isSell && hasEnteredAmount && internalAmount < MIN_BUY_ORDER_AMOUNT;
|
|
3312
3363
|
const quoteStatus = useMemo2(() => {
|
|
@@ -3449,33 +3500,23 @@ var PlaceOrder = ({
|
|
|
3449
3500
|
}, [selectedRouteCard, geoBlockedVenuesFromWarnings]);
|
|
3450
3501
|
const shouldShowGeoBlockBanner = isTradingBlocked || selectedRouteGeoBlocked || isPrimaryVenueGeoBlocked;
|
|
3451
3502
|
const actionLabel = `${internalTab === "buy" ? tradingLabels.buy : tradingLabels.sell} ${selectedOutcomeLabel}`.trim();
|
|
3452
|
-
const isActionDisabled = isPrimaryActionDisabled || !orderEligibility.canPlaceOrder || isActionLoading || !hasEnteredAmount || !scopedSelectedMarket || isInsufficientBalance || isBelowMinimum || !selectedRouteCard || !selectedRouteCard.quoteData.quoteId || selectedRouteGeoBlocked || !isAuthenticated || quoteStatus !== void 0;
|
|
3503
|
+
const isActionDisabled = isPrimaryActionDisabled || !orderEligibility.canPlaceOrder || isActionLoading || !hasEnteredAmount || !scopedSelectedMarket || isInsufficientBalance || isBelowMinimum || isQuoteLoading || !selectedRouteCard || !selectedRouteCard.quoteData.quoteId || selectedRouteGeoBlocked || !isAuthenticated || quoteStatus !== void 0;
|
|
3453
3504
|
const shouldShowSmartRouting = orderEligibility.canPlaceOrder && hasEnteredAmount && (orderedRouteCards.length > 0 || smartRoute.isFetching);
|
|
3454
|
-
const shouldShowRouteToggle = orderedRouteCards.length > PLACE_ORDER_ROUTE_COLLAPSED_CARD_COUNT;
|
|
3455
|
-
const
|
|
3505
|
+
const shouldShowRouteToggle = !isQuoteLoading && orderedRouteCards.length > PLACE_ORDER_ROUTE_COLLAPSED_CARD_COUNT;
|
|
3506
|
+
const handleReturnToOrderForm = useCallback2(() => {
|
|
3456
3507
|
const submittedSelection = submittedSelectionRef.current;
|
|
3457
3508
|
submittedSelectionRef.current = null;
|
|
3458
3509
|
setSubmissionProgressState(null);
|
|
3459
3510
|
setSubmissionFeedback(null);
|
|
3460
|
-
setInternalAmount(PLACE_ORDER_DEFAULT_AMOUNT);
|
|
3461
|
-
setSellFilledForOutcomeId(null);
|
|
3462
|
-
setInternalSlippage(DEFAULT_SLIPPAGE_VALUE);
|
|
3463
|
-
setInternalTab("buy");
|
|
3464
|
-
tradingContext == null ? void 0 : tradingContext.setTradeSide(TradeSide.Buy);
|
|
3465
3511
|
setIsRoutesExpanded(false);
|
|
3466
3512
|
setSelectedRouteCardId(null);
|
|
3467
|
-
onAmountChange == null ? void 0 : onAmountChange(PLACE_ORDER_DEFAULT_AMOUNT);
|
|
3468
|
-
onSlippageChange == null ? void 0 : onSlippageChange(formatPercentageValue(DEFAULT_SLIPPAGE_VALUE));
|
|
3469
|
-
onTabChange == null ? void 0 : onTabChange("buy");
|
|
3470
3513
|
if (submittedSelection && tradingContext) {
|
|
3471
3514
|
tradingContext.selectMarketAndOutcome(
|
|
3472
3515
|
submittedSelection.marketId,
|
|
3473
3516
|
submittedSelection.outcomeId
|
|
3474
3517
|
);
|
|
3475
|
-
} else if (scopedSelectedEvent) {
|
|
3476
|
-
tradingContext == null ? void 0 : tradingContext.initializeFromEvent(scopedSelectedEvent);
|
|
3477
3518
|
}
|
|
3478
|
-
}, [
|
|
3519
|
+
}, [tradingContext]);
|
|
3479
3520
|
const handleShareTrade = () => {
|
|
3480
3521
|
var _a2, _b2;
|
|
3481
3522
|
const shareText = (_b2 = (_a2 = submissionProgressState == null ? void 0 : submissionProgressState.summary) == null ? void 0 : _a2.shareText) == null ? void 0 : _b2.trim();
|
|
@@ -3615,8 +3656,8 @@ var PlaceOrder = ({
|
|
|
3615
3656
|
]);
|
|
3616
3657
|
const handleRetrySubmission = useCallback2(() => __async(null, null, function* () {
|
|
3617
3658
|
var _a2, _b2, _c2;
|
|
3618
|
-
if (!orderEligibility.canPlaceOrder) {
|
|
3619
|
-
|
|
3659
|
+
if (!orderEligibility.canPlaceOrder || (failureSummary == null ? void 0 : failureSummary.kind) === "generic") {
|
|
3660
|
+
handleReturnToOrderForm();
|
|
3620
3661
|
return;
|
|
3621
3662
|
}
|
|
3622
3663
|
setSubmissionFeedback(null);
|
|
@@ -3688,7 +3729,7 @@ var PlaceOrder = ({
|
|
|
3688
3729
|
executionProgress.terminalOrderEvents,
|
|
3689
3730
|
failureSummary == null ? void 0 : failureSummary.kind,
|
|
3690
3731
|
handleExecuteQuote,
|
|
3691
|
-
|
|
3732
|
+
handleReturnToOrderForm,
|
|
3692
3733
|
internalAmount,
|
|
3693
3734
|
internalTab,
|
|
3694
3735
|
isSell,
|
|
@@ -3719,7 +3760,7 @@ var PlaceOrder = ({
|
|
|
3719
3760
|
className: resolvedStatusClassName,
|
|
3720
3761
|
summary: submissionProgressState.summary,
|
|
3721
3762
|
tradingLabels,
|
|
3722
|
-
onDone:
|
|
3763
|
+
onDone: handleReturnToOrderForm,
|
|
3723
3764
|
onShare: handleShareTrade
|
|
3724
3765
|
}
|
|
3725
3766
|
);
|
|
@@ -3733,7 +3774,7 @@ var PlaceOrder = ({
|
|
|
3733
3774
|
summary: failureSummary,
|
|
3734
3775
|
tradingLabels,
|
|
3735
3776
|
onRetry: handleRetrySubmission,
|
|
3736
|
-
onDone:
|
|
3777
|
+
onDone: handleReturnToOrderForm,
|
|
3737
3778
|
onSkip: handleSkipToSuccess
|
|
3738
3779
|
}
|
|
3739
3780
|
);
|
|
@@ -4064,7 +4105,19 @@ var PlaceOrder = ({
|
|
|
4064
4105
|
}
|
|
4065
4106
|
) : null
|
|
4066
4107
|
] }),
|
|
4067
|
-
/* @__PURE__ */ jsx4("div", { className: "agg-route-list flex flex-col gap-2", children:
|
|
4108
|
+
/* @__PURE__ */ jsx4("div", { className: "agg-route-list flex flex-col gap-2", children: isQuoteLoading ? /* @__PURE__ */ jsxs3(
|
|
4109
|
+
"div",
|
|
4110
|
+
{
|
|
4111
|
+
className: "agg-route-loading flex flex-col gap-2",
|
|
4112
|
+
role: "status",
|
|
4113
|
+
"aria-label": labels.common.loading,
|
|
4114
|
+
"aria-live": "polite",
|
|
4115
|
+
children: [
|
|
4116
|
+
/* @__PURE__ */ jsx4(PlaceOrderRouteCardSkeleton, {}),
|
|
4117
|
+
/* @__PURE__ */ jsx4(PlaceOrderRouteCardSkeleton, {})
|
|
4118
|
+
]
|
|
4119
|
+
}
|
|
4120
|
+
) : visibleRouteCards.length > 0 ? visibleRouteCards.map((card) => {
|
|
4068
4121
|
return /* @__PURE__ */ jsx4(Fragment, { children: renderRouteCard({
|
|
4069
4122
|
card,
|
|
4070
4123
|
enableAnimations,
|
|
@@ -4073,12 +4126,9 @@ var PlaceOrder = ({
|
|
|
4073
4126
|
onSelect: handleRouteCardSelect,
|
|
4074
4127
|
tradingLabels
|
|
4075
4128
|
}) }, card.id);
|
|
4076
|
-
}) :
|
|
4077
|
-
/* @__PURE__ */ jsx4(PlaceOrderRouteCardSkeleton, {}),
|
|
4078
|
-
/* @__PURE__ */ jsx4(PlaceOrderRouteCardSkeleton, {})
|
|
4079
|
-
] }) : null })
|
|
4129
|
+
}) : null })
|
|
4080
4130
|
] }) : null,
|
|
4081
|
-
hasEnteredAmount && selectedRouteCard && orderEligibility.canPlaceOrder ? /* @__PURE__ */ jsxs3("div", { className: "agg-order-summary flex items-start justify-between gap-4", children: [
|
|
4131
|
+
hasEnteredAmount && selectedRouteCard && !isQuoteLoading && orderEligibility.canPlaceOrder ? /* @__PURE__ */ jsxs3("div", { className: "agg-order-summary flex items-start justify-between gap-4", children: [
|
|
4082
4132
|
/* @__PURE__ */ jsxs3("div", { className: "agg-order-summary-meta flex flex-col", children: [
|
|
4083
4133
|
/* @__PURE__ */ jsx4("p", { className: "agg-order-summary-label text-agg-base font-agg-bold leading-agg-6 text-agg-foreground", children: tradingLabels.toWin(internalTab) }),
|
|
4084
4134
|
/* @__PURE__ */ jsx4("p", { className: "agg-order-summary-hint text-agg-sm leading-agg-5 text-agg-muted-foreground", children: displayedToWinHint })
|