@agg-build/ui 2.7.1 → 2.7.3
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-BVNXMHSL.mjs → chunk-7DM45TMO.mjs} +34 -1
- package/dist/{chunk-KFNTS2TV.mjs → chunk-MZBYIXYA.mjs} +11 -4
- package/dist/events.js +34 -1
- package/dist/events.mjs +1 -1
- package/dist/index.js +44 -4
- package/dist/index.mjs +2 -2
- package/dist/pages.js +44 -4
- package/dist/pages.mjs +2 -2
- package/package.json +3 -3
|
@@ -1068,6 +1068,17 @@ var matchesSelectedOutcomeLabel = (outcome, selectedOutcomeLabel) => {
|
|
|
1068
1068
|
return normalizedCandidate === normalizedSelectedLabel || toSemanticOutcomeLabel(candidate) === semanticSelectedLabel;
|
|
1069
1069
|
});
|
|
1070
1070
|
};
|
|
1071
|
+
var isTeamFramedMarket = (market) => {
|
|
1072
|
+
var _a;
|
|
1073
|
+
const outcomes = (_a = market.venueMarketOutcomes) != null ? _a : [];
|
|
1074
|
+
if (outcomes.length < 2) return false;
|
|
1075
|
+
return outcomes.every(
|
|
1076
|
+
(outcome) => getOutcomeLabelCandidates(outcome).some((candidate) => {
|
|
1077
|
+
const semanticCandidate = toSemanticOutcomeLabel(candidate);
|
|
1078
|
+
return semanticCandidate !== "" && semanticCandidate !== "yes" && semanticCandidate !== "no";
|
|
1079
|
+
})
|
|
1080
|
+
);
|
|
1081
|
+
};
|
|
1071
1082
|
var isValidLevel = (level) => {
|
|
1072
1083
|
return level != null && Number.isFinite(level.price) && Number.isFinite(level.size) && level.price >= 0 && level.price <= 1 && level.size > 0;
|
|
1073
1084
|
};
|
|
@@ -1212,6 +1223,7 @@ var collectEligibleVenueOutcomes = ({
|
|
|
1212
1223
|
const seenMarketIds = /* @__PURE__ */ new Set();
|
|
1213
1224
|
const seenOutcomeIds = /* @__PURE__ */ new Set();
|
|
1214
1225
|
const result = [];
|
|
1226
|
+
let selectedAnchorMarket = null;
|
|
1215
1227
|
if (selectedOutcomeId) {
|
|
1216
1228
|
for (const market of venueMarkets) {
|
|
1217
1229
|
const outcome = market.venueMarketOutcomes.find((o) => o.id === selectedOutcomeId);
|
|
@@ -1265,6 +1277,16 @@ var collectEligibleVenueOutcomes = ({
|
|
|
1265
1277
|
});
|
|
1266
1278
|
return result;
|
|
1267
1279
|
}
|
|
1280
|
+
selectedAnchorMarket = market;
|
|
1281
|
+
seenMarketIds.add(market.id);
|
|
1282
|
+
seenOutcomeIds.add(outcome.id);
|
|
1283
|
+
result.push({
|
|
1284
|
+
venue: market.venue,
|
|
1285
|
+
market,
|
|
1286
|
+
outcome,
|
|
1287
|
+
outcomeId: outcome.id,
|
|
1288
|
+
semanticLabel
|
|
1289
|
+
});
|
|
1268
1290
|
break;
|
|
1269
1291
|
}
|
|
1270
1292
|
}
|
|
@@ -1307,10 +1329,18 @@ var collectEligibleVenueOutcomes = ({
|
|
|
1307
1329
|
}
|
|
1308
1330
|
for (const market of venueMarkets) {
|
|
1309
1331
|
if (seenMarketIds.has(market.id)) continue;
|
|
1332
|
+
if (selectedAnchorMarket && result.some(
|
|
1333
|
+
(entry) => entry.venue === market.venue && entry.market.question.trim() !== market.question.trim()
|
|
1334
|
+
)) {
|
|
1335
|
+
continue;
|
|
1336
|
+
}
|
|
1310
1337
|
const matchedOutcome = sortOutcomes(market.venueMarketOutcomes).find(
|
|
1311
1338
|
(outcome) => matchesSelectedOutcomeLabel(outcome, selectedOutcomeLabel)
|
|
1312
1339
|
);
|
|
1313
1340
|
if (!matchedOutcome || seenOutcomeIds.has(matchedOutcome.id)) continue;
|
|
1341
|
+
if (selectedAnchorMarket && isTeamFramedMarket(market) !== isTeamFramedMarket(selectedAnchorMarket)) {
|
|
1342
|
+
continue;
|
|
1343
|
+
}
|
|
1314
1344
|
const candidateRefs = (_c = matchedOutcome.matchedVenueMarketOutcomes) != null ? _c : [];
|
|
1315
1345
|
if (candidateRefs.length > 0) {
|
|
1316
1346
|
const sharesAnchor = candidateRefs.some(
|
|
@@ -4911,7 +4941,10 @@ var MarketDetailsList = ({
|
|
|
4911
4941
|
status: MarketStatus.open,
|
|
4912
4942
|
// Keep in lockstep with useEnrichedVenueEvent: limit is part of the React
|
|
4913
4943
|
// Query key, so a mismatch would fork the shared cache into two requests.
|
|
4914
|
-
limit
|
|
4944
|
+
// fetchAll drains every page — events can exceed any single-page limit
|
|
4945
|
+
// (e.g. 80 open markets on one staging event).
|
|
4946
|
+
limit: 100,
|
|
4947
|
+
fetchAll: true
|
|
4915
4948
|
// No explicit sortBy: event-scoped /venue-markets sorts by the event's
|
|
4916
4949
|
// type-aware order (structureOrderBy), matching the home-card top-3 and the
|
|
4917
4950
|
// markets-under-an-event ordering. Passing sortBy here would override it.
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
isErrorWithStatus,
|
|
11
11
|
useEventListTabs,
|
|
12
12
|
useEventListTabsHeaderOverflow
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-7DM45TMO.mjs";
|
|
14
14
|
import {
|
|
15
15
|
DEPOSIT_MODAL_OPEN_EVENT,
|
|
16
16
|
PlaceOrder,
|
|
@@ -790,14 +790,21 @@ var resolveSportsSectionMarkets = ({
|
|
|
790
790
|
if (tab.kind !== "game_lines") return filteredSectionMarkets;
|
|
791
791
|
const dedupeEventMarketsOfType = (type) => {
|
|
792
792
|
const dedupedMarkets = [];
|
|
793
|
-
const
|
|
793
|
+
const keptIndexByKey = /* @__PURE__ */ new Map();
|
|
794
794
|
for (const market of eventMarkets) {
|
|
795
795
|
if (normalizeSportsMarketType(market.sportsMarketType) !== type || resolveMarketSectionTabKey(market) !== "game_lines") {
|
|
796
796
|
continue;
|
|
797
797
|
}
|
|
798
798
|
const key = resolveSportsMarketAggKey(market) || market.id;
|
|
799
|
-
|
|
800
|
-
|
|
799
|
+
const keptIndex = keptIndexByKey.get(key);
|
|
800
|
+
if (keptIndex !== void 0) {
|
|
801
|
+
const kept = dedupedMarkets[keptIndex];
|
|
802
|
+
if (!hasTeamTitledOutcomes(kept) && hasTeamTitledOutcomes(market)) {
|
|
803
|
+
dedupedMarkets[keptIndex] = market;
|
|
804
|
+
}
|
|
805
|
+
continue;
|
|
806
|
+
}
|
|
807
|
+
keptIndexByKey.set(key, dedupedMarkets.length);
|
|
801
808
|
dedupedMarkets.push(market);
|
|
802
809
|
}
|
|
803
810
|
return dropDecomposedLegsMergedIntoSingle(dedupedMarkets);
|
package/dist/events.js
CHANGED
|
@@ -9251,6 +9251,17 @@ var matchesSelectedOutcomeLabel = (outcome, selectedOutcomeLabel) => {
|
|
|
9251
9251
|
return normalizedCandidate === normalizedSelectedLabel || toSemanticOutcomeLabel(candidate) === semanticSelectedLabel;
|
|
9252
9252
|
});
|
|
9253
9253
|
};
|
|
9254
|
+
var isTeamFramedMarket = (market) => {
|
|
9255
|
+
var _a;
|
|
9256
|
+
const outcomes = (_a = market.venueMarketOutcomes) != null ? _a : [];
|
|
9257
|
+
if (outcomes.length < 2) return false;
|
|
9258
|
+
return outcomes.every(
|
|
9259
|
+
(outcome) => getOutcomeLabelCandidates(outcome).some((candidate) => {
|
|
9260
|
+
const semanticCandidate = toSemanticOutcomeLabel(candidate);
|
|
9261
|
+
return semanticCandidate !== "" && semanticCandidate !== "yes" && semanticCandidate !== "no";
|
|
9262
|
+
})
|
|
9263
|
+
);
|
|
9264
|
+
};
|
|
9254
9265
|
var isValidLevel = (level) => {
|
|
9255
9266
|
return level != null && Number.isFinite(level.price) && Number.isFinite(level.size) && level.price >= 0 && level.price <= 1 && level.size > 0;
|
|
9256
9267
|
};
|
|
@@ -9395,6 +9406,7 @@ var collectEligibleVenueOutcomes = ({
|
|
|
9395
9406
|
const seenMarketIds = /* @__PURE__ */ new Set();
|
|
9396
9407
|
const seenOutcomeIds = /* @__PURE__ */ new Set();
|
|
9397
9408
|
const result = [];
|
|
9409
|
+
let selectedAnchorMarket = null;
|
|
9398
9410
|
if (selectedOutcomeId) {
|
|
9399
9411
|
for (const market of venueMarkets) {
|
|
9400
9412
|
const outcome = market.venueMarketOutcomes.find((o) => o.id === selectedOutcomeId);
|
|
@@ -9448,6 +9460,16 @@ var collectEligibleVenueOutcomes = ({
|
|
|
9448
9460
|
});
|
|
9449
9461
|
return result;
|
|
9450
9462
|
}
|
|
9463
|
+
selectedAnchorMarket = market;
|
|
9464
|
+
seenMarketIds.add(market.id);
|
|
9465
|
+
seenOutcomeIds.add(outcome.id);
|
|
9466
|
+
result.push({
|
|
9467
|
+
venue: market.venue,
|
|
9468
|
+
market,
|
|
9469
|
+
outcome,
|
|
9470
|
+
outcomeId: outcome.id,
|
|
9471
|
+
semanticLabel
|
|
9472
|
+
});
|
|
9451
9473
|
break;
|
|
9452
9474
|
}
|
|
9453
9475
|
}
|
|
@@ -9490,10 +9512,18 @@ var collectEligibleVenueOutcomes = ({
|
|
|
9490
9512
|
}
|
|
9491
9513
|
for (const market of venueMarkets) {
|
|
9492
9514
|
if (seenMarketIds.has(market.id)) continue;
|
|
9515
|
+
if (selectedAnchorMarket && result.some(
|
|
9516
|
+
(entry) => entry.venue === market.venue && entry.market.question.trim() !== market.question.trim()
|
|
9517
|
+
)) {
|
|
9518
|
+
continue;
|
|
9519
|
+
}
|
|
9493
9520
|
const matchedOutcome = sortOutcomes(market.venueMarketOutcomes).find(
|
|
9494
9521
|
(outcome) => matchesSelectedOutcomeLabel(outcome, selectedOutcomeLabel)
|
|
9495
9522
|
);
|
|
9496
9523
|
if (!matchedOutcome || seenOutcomeIds.has(matchedOutcome.id)) continue;
|
|
9524
|
+
if (selectedAnchorMarket && isTeamFramedMarket(market) !== isTeamFramedMarket(selectedAnchorMarket)) {
|
|
9525
|
+
continue;
|
|
9526
|
+
}
|
|
9497
9527
|
const candidateRefs = (_c = matchedOutcome.matchedVenueMarketOutcomes) != null ? _c : [];
|
|
9498
9528
|
if (candidateRefs.length > 0) {
|
|
9499
9529
|
const sharesAnchor = candidateRefs.some(
|
|
@@ -13709,7 +13739,10 @@ var MarketDetailsList = ({
|
|
|
13709
13739
|
status: import_hooks43.MarketStatus.open,
|
|
13710
13740
|
// Keep in lockstep with useEnrichedVenueEvent: limit is part of the React
|
|
13711
13741
|
// Query key, so a mismatch would fork the shared cache into two requests.
|
|
13712
|
-
limit
|
|
13742
|
+
// fetchAll drains every page — events can exceed any single-page limit
|
|
13743
|
+
// (e.g. 80 open markets on one staging event).
|
|
13744
|
+
limit: 100,
|
|
13745
|
+
fetchAll: true
|
|
13713
13746
|
// No explicit sortBy: event-scoped /venue-markets sorts by the event's
|
|
13714
13747
|
// type-aware order (structureOrderBy), matching the home-card top-3 and the
|
|
13715
13748
|
// markets-under-an-event ordering. Passing sortBy here would override it.
|
package/dist/events.mjs
CHANGED
package/dist/index.js
CHANGED
|
@@ -13134,6 +13134,17 @@ var matchesSelectedOutcomeLabel = (outcome, selectedOutcomeLabel) => {
|
|
|
13134
13134
|
return normalizedCandidate === normalizedSelectedLabel || toSemanticOutcomeLabel(candidate) === semanticSelectedLabel;
|
|
13135
13135
|
});
|
|
13136
13136
|
};
|
|
13137
|
+
var isTeamFramedMarket = (market) => {
|
|
13138
|
+
var _a;
|
|
13139
|
+
const outcomes = (_a = market.venueMarketOutcomes) != null ? _a : [];
|
|
13140
|
+
if (outcomes.length < 2) return false;
|
|
13141
|
+
return outcomes.every(
|
|
13142
|
+
(outcome) => getOutcomeLabelCandidates(outcome).some((candidate) => {
|
|
13143
|
+
const semanticCandidate = toSemanticOutcomeLabel(candidate);
|
|
13144
|
+
return semanticCandidate !== "" && semanticCandidate !== "yes" && semanticCandidate !== "no";
|
|
13145
|
+
})
|
|
13146
|
+
);
|
|
13147
|
+
};
|
|
13137
13148
|
var isValidLevel = (level) => {
|
|
13138
13149
|
return level != null && Number.isFinite(level.price) && Number.isFinite(level.size) && level.price >= 0 && level.price <= 1 && level.size > 0;
|
|
13139
13150
|
};
|
|
@@ -13278,6 +13289,7 @@ var collectEligibleVenueOutcomes = ({
|
|
|
13278
13289
|
const seenMarketIds = /* @__PURE__ */ new Set();
|
|
13279
13290
|
const seenOutcomeIds = /* @__PURE__ */ new Set();
|
|
13280
13291
|
const result = [];
|
|
13292
|
+
let selectedAnchorMarket = null;
|
|
13281
13293
|
if (selectedOutcomeId) {
|
|
13282
13294
|
for (const market of venueMarkets) {
|
|
13283
13295
|
const outcome = market.venueMarketOutcomes.find((o) => o.id === selectedOutcomeId);
|
|
@@ -13331,6 +13343,16 @@ var collectEligibleVenueOutcomes = ({
|
|
|
13331
13343
|
});
|
|
13332
13344
|
return result;
|
|
13333
13345
|
}
|
|
13346
|
+
selectedAnchorMarket = market;
|
|
13347
|
+
seenMarketIds.add(market.id);
|
|
13348
|
+
seenOutcomeIds.add(outcome.id);
|
|
13349
|
+
result.push({
|
|
13350
|
+
venue: market.venue,
|
|
13351
|
+
market,
|
|
13352
|
+
outcome,
|
|
13353
|
+
outcomeId: outcome.id,
|
|
13354
|
+
semanticLabel
|
|
13355
|
+
});
|
|
13334
13356
|
break;
|
|
13335
13357
|
}
|
|
13336
13358
|
}
|
|
@@ -13373,10 +13395,18 @@ var collectEligibleVenueOutcomes = ({
|
|
|
13373
13395
|
}
|
|
13374
13396
|
for (const market of venueMarkets) {
|
|
13375
13397
|
if (seenMarketIds.has(market.id)) continue;
|
|
13398
|
+
if (selectedAnchorMarket && result.some(
|
|
13399
|
+
(entry) => entry.venue === market.venue && entry.market.question.trim() !== market.question.trim()
|
|
13400
|
+
)) {
|
|
13401
|
+
continue;
|
|
13402
|
+
}
|
|
13376
13403
|
const matchedOutcome = sortOutcomes(market.venueMarketOutcomes).find(
|
|
13377
13404
|
(outcome) => matchesSelectedOutcomeLabel(outcome, selectedOutcomeLabel)
|
|
13378
13405
|
);
|
|
13379
13406
|
if (!matchedOutcome || seenOutcomeIds.has(matchedOutcome.id)) continue;
|
|
13407
|
+
if (selectedAnchorMarket && isTeamFramedMarket(market) !== isTeamFramedMarket(selectedAnchorMarket)) {
|
|
13408
|
+
continue;
|
|
13409
|
+
}
|
|
13380
13410
|
const candidateRefs = (_c = matchedOutcome.matchedVenueMarketOutcomes) != null ? _c : [];
|
|
13381
13411
|
if (candidateRefs.length > 0) {
|
|
13382
13412
|
const sharesAnchor = candidateRefs.some(
|
|
@@ -17651,7 +17681,10 @@ var MarketDetailsList = ({
|
|
|
17651
17681
|
status: import_hooks51.MarketStatus.open,
|
|
17652
17682
|
// Keep in lockstep with useEnrichedVenueEvent: limit is part of the React
|
|
17653
17683
|
// Query key, so a mismatch would fork the shared cache into two requests.
|
|
17654
|
-
limit
|
|
17684
|
+
// fetchAll drains every page — events can exceed any single-page limit
|
|
17685
|
+
// (e.g. 80 open markets on one staging event).
|
|
17686
|
+
limit: 100,
|
|
17687
|
+
fetchAll: true
|
|
17655
17688
|
// No explicit sortBy: event-scoped /venue-markets sorts by the event's
|
|
17656
17689
|
// type-aware order (structureOrderBy), matching the home-card top-3 and the
|
|
17657
17690
|
// markets-under-an-event ordering. Passing sortBy here would override it.
|
|
@@ -26073,14 +26106,21 @@ var resolveSportsSectionMarkets = ({
|
|
|
26073
26106
|
if (tab.kind !== "game_lines") return filteredSectionMarkets;
|
|
26074
26107
|
const dedupeEventMarketsOfType = (type) => {
|
|
26075
26108
|
const dedupedMarkets = [];
|
|
26076
|
-
const
|
|
26109
|
+
const keptIndexByKey = /* @__PURE__ */ new Map();
|
|
26077
26110
|
for (const market of eventMarkets) {
|
|
26078
26111
|
if (normalizeSportsMarketType(market.sportsMarketType) !== type || resolveMarketSectionTabKey(market) !== "game_lines") {
|
|
26079
26112
|
continue;
|
|
26080
26113
|
}
|
|
26081
26114
|
const key = resolveSportsMarketAggKey(market) || market.id;
|
|
26082
|
-
|
|
26083
|
-
|
|
26115
|
+
const keptIndex = keptIndexByKey.get(key);
|
|
26116
|
+
if (keptIndex !== void 0) {
|
|
26117
|
+
const kept = dedupedMarkets[keptIndex];
|
|
26118
|
+
if (!hasTeamTitledOutcomes(kept) && hasTeamTitledOutcomes(market)) {
|
|
26119
|
+
dedupedMarkets[keptIndex] = market;
|
|
26120
|
+
}
|
|
26121
|
+
continue;
|
|
26122
|
+
}
|
|
26123
|
+
keptIndexByKey.set(key, dedupedMarkets.length);
|
|
26084
26124
|
dedupedMarkets.push(market);
|
|
26085
26125
|
}
|
|
26086
26126
|
return dropDecomposedLegsMergedIntoSingle(dedupedMarkets);
|
package/dist/index.mjs
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
UserProfilePage,
|
|
12
12
|
buildAggTxExplorerHref,
|
|
13
13
|
useHomePageModals
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-MZBYIXYA.mjs";
|
|
15
15
|
import {
|
|
16
16
|
EventList,
|
|
17
17
|
EventListItem,
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
orderbookRowLimitDefault,
|
|
29
29
|
resolveEventDetailsSyncKey,
|
|
30
30
|
useCenterOrderbookSpread
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-7DM45TMO.mjs";
|
|
32
32
|
import {
|
|
33
33
|
CARD_NETWORK_OPTIONS,
|
|
34
34
|
DepositModal,
|
package/dist/pages.js
CHANGED
|
@@ -11722,6 +11722,17 @@ var matchesSelectedOutcomeLabel = (outcome, selectedOutcomeLabel) => {
|
|
|
11722
11722
|
return normalizedCandidate === normalizedSelectedLabel || toSemanticOutcomeLabel(candidate) === semanticSelectedLabel;
|
|
11723
11723
|
});
|
|
11724
11724
|
};
|
|
11725
|
+
var isTeamFramedMarket = (market) => {
|
|
11726
|
+
var _a;
|
|
11727
|
+
const outcomes = (_a = market.venueMarketOutcomes) != null ? _a : [];
|
|
11728
|
+
if (outcomes.length < 2) return false;
|
|
11729
|
+
return outcomes.every(
|
|
11730
|
+
(outcome) => getOutcomeLabelCandidates(outcome).some((candidate) => {
|
|
11731
|
+
const semanticCandidate = toSemanticOutcomeLabel(candidate);
|
|
11732
|
+
return semanticCandidate !== "" && semanticCandidate !== "yes" && semanticCandidate !== "no";
|
|
11733
|
+
})
|
|
11734
|
+
);
|
|
11735
|
+
};
|
|
11725
11736
|
var isValidLevel = (level) => {
|
|
11726
11737
|
return level != null && Number.isFinite(level.price) && Number.isFinite(level.size) && level.price >= 0 && level.price <= 1 && level.size > 0;
|
|
11727
11738
|
};
|
|
@@ -11866,6 +11877,7 @@ var collectEligibleVenueOutcomes = ({
|
|
|
11866
11877
|
const seenMarketIds = /* @__PURE__ */ new Set();
|
|
11867
11878
|
const seenOutcomeIds = /* @__PURE__ */ new Set();
|
|
11868
11879
|
const result = [];
|
|
11880
|
+
let selectedAnchorMarket = null;
|
|
11869
11881
|
if (selectedOutcomeId) {
|
|
11870
11882
|
for (const market of venueMarkets) {
|
|
11871
11883
|
const outcome = market.venueMarketOutcomes.find((o) => o.id === selectedOutcomeId);
|
|
@@ -11919,6 +11931,16 @@ var collectEligibleVenueOutcomes = ({
|
|
|
11919
11931
|
});
|
|
11920
11932
|
return result;
|
|
11921
11933
|
}
|
|
11934
|
+
selectedAnchorMarket = market;
|
|
11935
|
+
seenMarketIds.add(market.id);
|
|
11936
|
+
seenOutcomeIds.add(outcome.id);
|
|
11937
|
+
result.push({
|
|
11938
|
+
venue: market.venue,
|
|
11939
|
+
market,
|
|
11940
|
+
outcome,
|
|
11941
|
+
outcomeId: outcome.id,
|
|
11942
|
+
semanticLabel
|
|
11943
|
+
});
|
|
11922
11944
|
break;
|
|
11923
11945
|
}
|
|
11924
11946
|
}
|
|
@@ -11961,10 +11983,18 @@ var collectEligibleVenueOutcomes = ({
|
|
|
11961
11983
|
}
|
|
11962
11984
|
for (const market of venueMarkets) {
|
|
11963
11985
|
if (seenMarketIds.has(market.id)) continue;
|
|
11986
|
+
if (selectedAnchorMarket && result.some(
|
|
11987
|
+
(entry) => entry.venue === market.venue && entry.market.question.trim() !== market.question.trim()
|
|
11988
|
+
)) {
|
|
11989
|
+
continue;
|
|
11990
|
+
}
|
|
11964
11991
|
const matchedOutcome = sortOutcomes(market.venueMarketOutcomes).find(
|
|
11965
11992
|
(outcome) => matchesSelectedOutcomeLabel(outcome, selectedOutcomeLabel)
|
|
11966
11993
|
);
|
|
11967
11994
|
if (!matchedOutcome || seenOutcomeIds.has(matchedOutcome.id)) continue;
|
|
11995
|
+
if (selectedAnchorMarket && isTeamFramedMarket(market) !== isTeamFramedMarket(selectedAnchorMarket)) {
|
|
11996
|
+
continue;
|
|
11997
|
+
}
|
|
11968
11998
|
const candidateRefs = (_c = matchedOutcome.matchedVenueMarketOutcomes) != null ? _c : [];
|
|
11969
11999
|
if (candidateRefs.length > 0) {
|
|
11970
12000
|
const sharesAnchor = candidateRefs.some(
|
|
@@ -16216,7 +16246,10 @@ var MarketDetailsList = ({
|
|
|
16216
16246
|
status: import_hooks49.MarketStatus.open,
|
|
16217
16247
|
// Keep in lockstep with useEnrichedVenueEvent: limit is part of the React
|
|
16218
16248
|
// Query key, so a mismatch would fork the shared cache into two requests.
|
|
16219
|
-
limit
|
|
16249
|
+
// fetchAll drains every page — events can exceed any single-page limit
|
|
16250
|
+
// (e.g. 80 open markets on one staging event).
|
|
16251
|
+
limit: 100,
|
|
16252
|
+
fetchAll: true
|
|
16220
16253
|
// No explicit sortBy: event-scoped /venue-markets sorts by the event's
|
|
16221
16254
|
// type-aware order (structureOrderBy), matching the home-card top-3 and the
|
|
16222
16255
|
// markets-under-an-event ordering. Passing sortBy here would override it.
|
|
@@ -23852,14 +23885,21 @@ var resolveSportsSectionMarkets = ({
|
|
|
23852
23885
|
if (tab.kind !== "game_lines") return filteredSectionMarkets;
|
|
23853
23886
|
const dedupeEventMarketsOfType = (type) => {
|
|
23854
23887
|
const dedupedMarkets = [];
|
|
23855
|
-
const
|
|
23888
|
+
const keptIndexByKey = /* @__PURE__ */ new Map();
|
|
23856
23889
|
for (const market of eventMarkets) {
|
|
23857
23890
|
if (normalizeSportsMarketType(market.sportsMarketType) !== type || resolveMarketSectionTabKey(market) !== "game_lines") {
|
|
23858
23891
|
continue;
|
|
23859
23892
|
}
|
|
23860
23893
|
const key = resolveSportsMarketAggKey(market) || market.id;
|
|
23861
|
-
|
|
23862
|
-
|
|
23894
|
+
const keptIndex = keptIndexByKey.get(key);
|
|
23895
|
+
if (keptIndex !== void 0) {
|
|
23896
|
+
const kept = dedupedMarkets[keptIndex];
|
|
23897
|
+
if (!hasTeamTitledOutcomes(kept) && hasTeamTitledOutcomes(market)) {
|
|
23898
|
+
dedupedMarkets[keptIndex] = market;
|
|
23899
|
+
}
|
|
23900
|
+
continue;
|
|
23901
|
+
}
|
|
23902
|
+
keptIndexByKey.set(key, dedupedMarkets.length);
|
|
23863
23903
|
dedupedMarkets.push(market);
|
|
23864
23904
|
}
|
|
23865
23905
|
return dropDecomposedLegsMergedIntoSingle(dedupedMarkets);
|
package/dist/pages.mjs
CHANGED
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
UserProfilePage,
|
|
9
9
|
buildAggTxExplorerHref,
|
|
10
10
|
useHomePageModals
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-MZBYIXYA.mjs";
|
|
12
|
+
import "./chunk-7DM45TMO.mjs";
|
|
13
13
|
import {
|
|
14
14
|
DEPOSIT_MODAL_OPEN_EVENT,
|
|
15
15
|
WITHDRAW_MODAL_OPEN_EVENT,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agg-build/ui",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.3",
|
|
4
4
|
"description": "Pre-built React component library for the AGG prediction market aggregator. Tailwind-based, themeable, with primitives, event surfaces, trading flows, full pages, and modals.",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"license": "MIT",
|
|
@@ -100,8 +100,8 @@
|
|
|
100
100
|
"liveline": "^0.0.7",
|
|
101
101
|
"react": "^18.0.0 || ^19.0.0",
|
|
102
102
|
"react-dom": "^18.0.0 || ^19.0.0",
|
|
103
|
-
"@agg-build/
|
|
104
|
-
"@agg-build/
|
|
103
|
+
"@agg-build/sdk": "^2.5.1",
|
|
104
|
+
"@agg-build/hooks": "^2.7.2"
|
|
105
105
|
},
|
|
106
106
|
"dependencies": {
|
|
107
107
|
"@number-flow/react": "^0.6.0",
|