@agg-build/ui 4.21.0 → 4.21.1
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-JLO2BGSF.mjs → chunk-LIB6TLLV.mjs} +1 -1
- package/dist/{chunk-DWPBGMVJ.mjs → chunk-LTFRGJPL.mjs} +121 -167
- package/dist/{chunk-DONMO42Q.mjs → chunk-R7ARCUYW.mjs} +14 -3
- package/dist/{chunk-5PA5KLXN.mjs → chunk-YBMDEGTJ.mjs} +3 -3
- package/dist/{event-market-UREM3ZE7.mjs → event-market-5SIXH2XF.mjs} +2 -2
- package/dist/events.js +121 -167
- package/dist/events.mjs +2 -2
- package/dist/index.js +140 -175
- package/dist/index.mjs +4 -4
- package/dist/pages.js +140 -175
- package/dist/pages.mjs +4 -4
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/types/events/item-details/event-markets-chart.d.mts +1 -2
- package/dist/types/events/item-details/event-markets-chart.d.ts +1 -2
- package/dist/types/events/item-details/event-markets-chart.utils.d.mts +4 -12
- package/dist/types/events/item-details/event-markets-chart.utils.d.ts +4 -12
- package/package.json +2 -2
|
@@ -1650,64 +1650,32 @@ var formatContractChartTime = (timestamp) => {
|
|
|
1650
1650
|
|
|
1651
1651
|
// src/events/item-details/event-markets-chart.utils.ts
|
|
1652
1652
|
import { resolveMarketTradingState } from "@agg-build/hooks";
|
|
1653
|
-
var
|
|
1654
|
-
|
|
1655
|
-
var _a, _b;
|
|
1656
|
-
if (!selectedOutcomeId) return null;
|
|
1657
|
-
const allMarkets = normalizeVenueMarketCluster(markets);
|
|
1658
|
-
const market = allMarkets.find(
|
|
1659
|
-
(item) => item.venueMarketOutcomes.some((outcome2) => outcome2.id === selectedOutcomeId)
|
|
1660
|
-
);
|
|
1661
|
-
const outcome = market == null ? void 0 : market.venueMarketOutcomes.find((item) => item.id === selectedOutcomeId);
|
|
1662
|
-
if (!market || !outcome) return null;
|
|
1663
|
-
return (_b = (_a = collectEligibleVenueOutcomes({
|
|
1664
|
-
venueMarkets: normalizeVenueMarketCluster(markets, market.id),
|
|
1665
|
-
selectedOutcomeLabel: outcome.label,
|
|
1666
|
-
selectedOutcomeId
|
|
1667
|
-
}).find((item) => item.venue === venue)) == null ? void 0 : _a.outcomeId) != null ? _b : null;
|
|
1668
|
-
}
|
|
1669
|
-
function resolveEventChartPage(outcomes, selectedOutcomeId, requestedPage) {
|
|
1653
|
+
var EVENT_CHART_MARKET_LIMIT = 3;
|
|
1654
|
+
var marketVolume = (market) => {
|
|
1670
1655
|
var _a;
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
page,
|
|
1678
|
-
pageCount,
|
|
1679
|
-
pinnedId: (_a = pinned == null ? void 0 : pinned.id) != null ? _a : null,
|
|
1680
|
-
outcomes: [
|
|
1681
|
-
...pinned ? [pinned] : [],
|
|
1682
|
-
...remaining.slice(page * pageSize, (page + 1) * pageSize)
|
|
1683
|
-
]
|
|
1684
|
-
};
|
|
1685
|
-
}
|
|
1686
|
-
var resolveEventChartOutcomes = (markets, venue, eventEndDate) => normalizeVenueMarketCluster(markets).filter((market) => market.venue === venue).sort(
|
|
1687
|
-
(left, right) => {
|
|
1688
|
-
var _a, _b;
|
|
1689
|
-
return ((_a = right.volume) != null ? _a : 0) - ((_b = left.volume) != null ? _b : 0) || left.id.localeCompare(right.id);
|
|
1690
|
-
}
|
|
1691
|
-
).flatMap((market) => {
|
|
1656
|
+
return Number.isFinite(market.volume) ? Math.max(0, (_a = market.volume) != null ? _a : 0) : 0;
|
|
1657
|
+
};
|
|
1658
|
+
var resolveTopEventChartMarkets = (markets, venue) => normalizeVenueMarketCluster(markets).filter((market) => market.venue === venue && market.venueMarketOutcomes.length > 0).sort(
|
|
1659
|
+
(left, right) => marketVolume(right) - marketVolume(left) || left.id.localeCompare(right.id)
|
|
1660
|
+
).slice(0, EVENT_CHART_MARKET_LIMIT);
|
|
1661
|
+
var resolveEventChartOutcomes = (markets, venue, eventEndDate) => resolveTopEventChartMarkets(markets, venue).flatMap((market) => {
|
|
1692
1662
|
var _a, _b, _c;
|
|
1693
1663
|
const state = resolveMarketTradingState(market);
|
|
1694
1664
|
const hasFinalResult = state.kind === "resolved" && market.venueMarketOutcomes.some((outcome) => outcome.winner === true) && market.venueMarketOutcomes.every((outcome) => outcome.winner != null);
|
|
1695
1665
|
const settledAt = Date.parse((_c = (_b = (_a = market.resolutionDate) != null ? _a : market.endDate) != null ? _b : eventEndDate) != null ? _c : "") / 1e3;
|
|
1696
|
-
const ordered =
|
|
1697
|
-
const rank = (label) => label.trim().toLowerCase() === "yes" ? 0 : label.trim().toLowerCase() === "no" ? 1 : 2;
|
|
1698
|
-
return rank(a.label) - rank(b.label);
|
|
1699
|
-
});
|
|
1666
|
+
const ordered = sortOutcomeSelectorOutcomes(market.venueMarketOutcomes);
|
|
1700
1667
|
return ordered.map((outcome) => {
|
|
1701
|
-
var _a2;
|
|
1668
|
+
var _a2, _b2;
|
|
1702
1669
|
return {
|
|
1703
1670
|
id: outcome.id,
|
|
1704
1671
|
marketId: market.id,
|
|
1705
1672
|
venue: market.venue,
|
|
1706
1673
|
side: outcome.label,
|
|
1674
|
+
outcomeLabel: ((_a2 = outcome.title) == null ? void 0 : _a2.trim()) || outcome.label,
|
|
1707
1675
|
live: !state.isTradingDisabled,
|
|
1708
1676
|
finalValue: hasFinalResult ? outcome.winner ? 100 : 0 : void 0,
|
|
1709
1677
|
settledAt: Number.isFinite(settledAt) ? settledAt : void 0,
|
|
1710
|
-
label: `${market.question} \xB7 ${((
|
|
1678
|
+
label: `${market.question} \xB7 ${((_b2 = outcome.title) == null ? void 0 : _b2.trim()) || outcome.label}`
|
|
1711
1679
|
};
|
|
1712
1680
|
});
|
|
1713
1681
|
});
|
|
@@ -1720,8 +1688,7 @@ var EventMarketsChart = ({
|
|
|
1720
1688
|
eventEndDate,
|
|
1721
1689
|
contractWindow,
|
|
1722
1690
|
range,
|
|
1723
|
-
live
|
|
1724
|
-
selectedOutcomeId
|
|
1691
|
+
live
|
|
1725
1692
|
}) => {
|
|
1726
1693
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
1727
1694
|
const labels = useLabels6();
|
|
@@ -1733,31 +1700,20 @@ var EventMarketsChart = ({
|
|
|
1733
1700
|
() => [...new Set(normalizeVenueMarketCluster(markets).map((market) => market.venue))],
|
|
1734
1701
|
[markets]
|
|
1735
1702
|
);
|
|
1736
|
-
const venue = venues.includes(defaultVenue) ? defaultVenue : (_a = venues[0]) != null ? _a : defaultVenue;
|
|
1737
|
-
const outcomes = useMemo5(
|
|
1738
|
-
() => resolveEventChartOutcomes(markets, venue, eventEndDate),
|
|
1739
|
-
[markets, venue, eventEndDate]
|
|
1740
|
-
);
|
|
1741
1703
|
const [selection, setSelection] = useState2(() => ({
|
|
1742
|
-
|
|
1743
|
-
|
|
1704
|
+
defaultVenue,
|
|
1705
|
+
venue: defaultVenue,
|
|
1744
1706
|
hidden: /* @__PURE__ */ new Set()
|
|
1745
1707
|
}));
|
|
1746
|
-
const
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
);
|
|
1750
|
-
const
|
|
1751
|
-
() =>
|
|
1752
|
-
[
|
|
1753
|
-
);
|
|
1754
|
-
const page = useMemo5(
|
|
1755
|
-
() => resolveEventChartPage(outcomes, pinnedOutcomeId, currentSelection.page),
|
|
1756
|
-
[outcomes, pinnedOutcomeId, currentSelection.page]
|
|
1757
|
-
);
|
|
1758
|
-
const activeOutcomes = page.outcomes.filter(
|
|
1759
|
-
(outcome) => outcome.id === page.pinnedId || !currentSelection.hidden.has(outcome.id)
|
|
1708
|
+
const requestedVenue = selection.defaultVenue === defaultVenue ? selection.venue : defaultVenue;
|
|
1709
|
+
const venue = venues.includes(requestedVenue) ? requestedVenue : (_a = venues[0]) != null ? _a : defaultVenue;
|
|
1710
|
+
const hidden = selection.defaultVenue === defaultVenue && selection.venue === venue ? selection.hidden : /* @__PURE__ */ new Set();
|
|
1711
|
+
const topMarkets = useMemo5(() => resolveTopEventChartMarkets(markets, venue), [markets, venue]);
|
|
1712
|
+
const outcomes = useMemo5(
|
|
1713
|
+
() => resolveEventChartOutcomes(topMarkets, venue, eventEndDate),
|
|
1714
|
+
[topMarkets, venue, eventEndDate]
|
|
1760
1715
|
);
|
|
1716
|
+
const activeOutcomes = outcomes.filter((outcome) => !hidden.has(outcome.id));
|
|
1761
1717
|
const activeIds = new Set(activeOutcomes.map((outcome) => outcome.id));
|
|
1762
1718
|
const rollingWindow = useRollingChartWindow({
|
|
1763
1719
|
range,
|
|
@@ -1790,10 +1746,10 @@ var EventMarketsChart = ({
|
|
|
1790
1746
|
live: live && !windowEnded
|
|
1791
1747
|
});
|
|
1792
1748
|
const stableColorIds = useMemo5(
|
|
1793
|
-
() =>
|
|
1794
|
-
[
|
|
1749
|
+
() => normalizeVenueMarketCluster(markets).filter((market) => market.venue === venue).map((market) => market.id).sort(),
|
|
1750
|
+
[markets, venue]
|
|
1795
1751
|
);
|
|
1796
|
-
const allSeries =
|
|
1752
|
+
const allSeries = outcomes.map((outcome) => {
|
|
1797
1753
|
var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h, _i;
|
|
1798
1754
|
const settledAt = outcome.settledAt == null ? void 0 : contractWindow ? Math.min(outcome.settledAt, contractWindow.to) : outcome.settledAt;
|
|
1799
1755
|
const outcomeLive = outcome.live && !windowEnded;
|
|
@@ -1829,110 +1785,109 @@ var EventMarketsChart = ({
|
|
|
1829
1785
|
});
|
|
1830
1786
|
const visibleSeries = allSeries.filter((series) => activeIds.has(series.id));
|
|
1831
1787
|
const hasVisibleHistory = visibleSeries.some((series) => series.points.length > 0);
|
|
1832
|
-
const volume =
|
|
1833
|
-
(
|
|
1788
|
+
const volume = topMarkets.reduce(
|
|
1789
|
+
(sum, market) => {
|
|
1834
1790
|
var _a2;
|
|
1835
|
-
return sum + ((_a2 = market.volume) != null ? _a2 : 0);
|
|
1836
|
-
},
|
|
1837
|
-
|
|
1791
|
+
return sum + (Number.isFinite(market.volume) ? Math.max(0, (_a2 = market.volume) != null ? _a2 : 0) : 0);
|
|
1792
|
+
},
|
|
1793
|
+
0
|
|
1838
1794
|
);
|
|
1839
1795
|
const venueLabel = (_g = labels.venues[venue]) != null ? _g : venue;
|
|
1840
1796
|
return /* @__PURE__ */ jsxs4("div", { className: "agg-event-markets-chart flex flex-col gap-3", children: [
|
|
1841
|
-
/* @__PURE__ */
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
}
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
suffix: /* @__PURE__ */ jsx6(Icon, { name: "chevron-right", size: "small" }),
|
|
1870
|
-
children: labels.eventItemDetails.comparisonNextSeries
|
|
1871
|
-
}
|
|
1872
|
-
)
|
|
1873
|
-
] }) : null
|
|
1874
|
-
] }),
|
|
1875
|
-
outcomes.length > EVENT_CHART_SERIES_LIMIT ? /* @__PURE__ */ jsx6("p", { className: "text-agg-xs text-agg-muted-foreground", children: labels.eventItemDetails.comparisonSeriesBudget(EVENT_CHART_SERIES_LIMIT) }) : null,
|
|
1797
|
+
/* @__PURE__ */ jsx6("div", { className: "agg-market-badges flex min-w-0 gap-2 overflow-x-auto pb-1 md:flex-wrap", children: venues.map((item) => {
|
|
1798
|
+
var _a2, _b2;
|
|
1799
|
+
return /* @__PURE__ */ jsx6(
|
|
1800
|
+
"button",
|
|
1801
|
+
{
|
|
1802
|
+
type: "button",
|
|
1803
|
+
"aria-label": (_a2 = labels.venues[item]) != null ? _a2 : item,
|
|
1804
|
+
"aria-pressed": venue === item,
|
|
1805
|
+
className: "agg-market-badge cursor-pointer rounded-agg-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-agg-primary",
|
|
1806
|
+
onClick: (event) => {
|
|
1807
|
+
event.preventDefault();
|
|
1808
|
+
event.stopPropagation();
|
|
1809
|
+
if (item !== venue) setSelection({ defaultVenue, venue: item, hidden: /* @__PURE__ */ new Set() });
|
|
1810
|
+
},
|
|
1811
|
+
children: /* @__PURE__ */ jsx6(
|
|
1812
|
+
Badge,
|
|
1813
|
+
{
|
|
1814
|
+
text: (_b2 = labels.venues[item]) != null ? _b2 : item,
|
|
1815
|
+
prefix: /* @__PURE__ */ jsx6(VenueLogo, { venue: item, size: "small", title: item }),
|
|
1816
|
+
size: "large",
|
|
1817
|
+
isActive: venue === item,
|
|
1818
|
+
classNames: { root: "shrink-0 border px-4 h-8 md:h-9" }
|
|
1819
|
+
}
|
|
1820
|
+
)
|
|
1821
|
+
},
|
|
1822
|
+
item
|
|
1823
|
+
);
|
|
1824
|
+
}) }),
|
|
1876
1825
|
/* @__PURE__ */ jsx6(
|
|
1877
1826
|
"div",
|
|
1878
1827
|
{
|
|
1879
1828
|
role: "group",
|
|
1880
1829
|
"aria-label": labels.eventItemDetails.chartLegend,
|
|
1881
|
-
className: "flex flex-
|
|
1882
|
-
children:
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1830
|
+
className: "flex flex-col gap-2",
|
|
1831
|
+
children: topMarkets.map((market) => {
|
|
1832
|
+
var _a2;
|
|
1833
|
+
return /* @__PURE__ */ jsxs4(
|
|
1834
|
+
"div",
|
|
1835
|
+
{
|
|
1836
|
+
"data-chart-market-id": market.id,
|
|
1837
|
+
className: "flex min-w-0 flex-wrap items-center justify-between gap-x-4 gap-y-1",
|
|
1838
|
+
children: [
|
|
1839
|
+
/* @__PURE__ */ jsxs4("span", { className: "flex min-w-0 items-center gap-2 text-agg-sm text-agg-foreground", children: [
|
|
1840
|
+
/* @__PURE__ */ jsx6(
|
|
1841
|
+
"span",
|
|
1842
|
+
{
|
|
1843
|
+
"aria-hidden": "true",
|
|
1844
|
+
className: "h-0 w-4 shrink-0 border-t-2",
|
|
1845
|
+
style: {
|
|
1846
|
+
borderColor: (_a2 = allSeries.find((series) => series.marketId === market.id)) == null ? void 0 : _a2.color
|
|
1847
|
+
}
|
|
1848
|
+
}
|
|
1849
|
+
),
|
|
1850
|
+
/* @__PURE__ */ jsx6("span", { className: "truncate", title: market.question, children: market.question })
|
|
1851
|
+
] }),
|
|
1852
|
+
/* @__PURE__ */ jsx6("div", { className: "agg-outcome-switch flex max-w-full flex-wrap gap-1 rounded-agg-full bg-agg-secondary", children: allSeries.filter((series) => series.marketId === market.id).map((series) => {
|
|
1853
|
+
const value = !activeIds.has(series.id) ? labels.eventItemDetails.comparisonHiddenSeries : series.pending ? labels.common.loading : series.points.length === 0 ? labels.eventItemDetails.marketHistoryUnavailable : formatDefaultChartValue(
|
|
1854
|
+
series.current != null ? series.current * 100 : series.points.at(-1).value
|
|
1855
|
+
);
|
|
1856
|
+
return /* @__PURE__ */ jsx6(
|
|
1857
|
+
"button",
|
|
1858
|
+
{
|
|
1859
|
+
type: "button",
|
|
1860
|
+
"data-chart-outcome-id": series.id,
|
|
1861
|
+
"aria-label": `${series.label} ${value}`,
|
|
1862
|
+
"aria-pressed": activeIds.has(series.id),
|
|
1863
|
+
title: `${series.label} ${value}`,
|
|
1864
|
+
className: "cursor-pointer rounded-agg-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-agg-primary",
|
|
1865
|
+
onClick: (event) => {
|
|
1866
|
+
event.preventDefault();
|
|
1867
|
+
event.stopPropagation();
|
|
1868
|
+
const next = new Set(hidden);
|
|
1869
|
+
if (next.has(series.id)) next.delete(series.id);
|
|
1870
|
+
else next.add(series.id);
|
|
1871
|
+
setSelection({ defaultVenue, venue, hidden: next });
|
|
1872
|
+
},
|
|
1873
|
+
children: /* @__PURE__ */ jsx6(
|
|
1874
|
+
Badge,
|
|
1875
|
+
{
|
|
1876
|
+
text: `${series.outcomeLabel} ${value}`,
|
|
1877
|
+
size: "large",
|
|
1878
|
+
isActive: activeIds.has(series.id),
|
|
1879
|
+
classNames: { root: "h-8 w-36 border px-4 tabular-nums md:h-9" }
|
|
1880
|
+
}
|
|
1881
|
+
)
|
|
1882
|
+
},
|
|
1883
|
+
series.id
|
|
1884
|
+
);
|
|
1885
|
+
}) })
|
|
1886
|
+
]
|
|
1897
1887
|
},
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
/* @__PURE__ */ jsx6(
|
|
1902
|
-
"span",
|
|
1903
|
-
{
|
|
1904
|
-
"aria-hidden": "true",
|
|
1905
|
-
className: "h-0 w-4 shrink-0 border-t-2",
|
|
1906
|
-
style: {
|
|
1907
|
-
borderColor: series.color,
|
|
1908
|
-
borderTopStyle: series.lineStyle === "dashed" ? "dashed" : "solid"
|
|
1909
|
-
}
|
|
1910
|
-
}
|
|
1911
|
-
),
|
|
1912
|
-
/* @__PURE__ */ jsx6("span", { className: "min-w-0 text-left [overflow-wrap:anywhere]", children: series.label }),
|
|
1913
|
-
series.id === page.pinnedId ? /* @__PURE__ */ jsx6("span", { children: labels.eventItemDetails.comparisonSelectedSeries }) : null,
|
|
1914
|
-
/* @__PURE__ */ jsxs4("span", { className: "inline-grid shrink-0 items-center font-agg-semibold tabular-nums", children: [
|
|
1915
|
-
[
|
|
1916
|
-
formatDefaultChartValue(100),
|
|
1917
|
-
formatDefaultChartValue(99.9),
|
|
1918
|
-
labels.common.loading,
|
|
1919
|
-
labels.eventItemDetails.comparisonHiddenSeries,
|
|
1920
|
-
labels.eventItemDetails.marketHistoryUnavailable
|
|
1921
|
-
].map((value, index) => /* @__PURE__ */ jsx6(
|
|
1922
|
-
"span",
|
|
1923
|
-
{
|
|
1924
|
-
"aria-hidden": "true",
|
|
1925
|
-
className: "invisible col-start-1 row-start-1 select-none",
|
|
1926
|
-
children: value
|
|
1927
|
-
},
|
|
1928
|
-
index
|
|
1929
|
-
)),
|
|
1930
|
-
/* @__PURE__ */ jsx6("span", { className: "col-start-1 row-start-1", children: !activeIds.has(series.id) ? labels.eventItemDetails.comparisonHiddenSeries : series.pending ? labels.common.loading : series.points.length === 0 ? labels.eventItemDetails.marketHistoryUnavailable : series.current != null ? formatDefaultChartValue(series.current * 100) : formatDefaultChartValue(series.points.at(-1).value) })
|
|
1931
|
-
] })
|
|
1932
|
-
]
|
|
1933
|
-
},
|
|
1934
|
-
series.id
|
|
1935
|
-
))
|
|
1888
|
+
market.id
|
|
1889
|
+
);
|
|
1890
|
+
})
|
|
1936
1891
|
}
|
|
1937
1892
|
),
|
|
1938
1893
|
visibleSeries.length === 0 && allSeries.length > 0 ? /* @__PURE__ */ jsx6(
|
|
@@ -2434,7 +2389,7 @@ var EventListItemDetailsContent = ({
|
|
|
2434
2389
|
recurringMarkets,
|
|
2435
2390
|
sportsLiveState
|
|
2436
2391
|
}) => {
|
|
2437
|
-
var _a, _b, _c, _d, _e, _f
|
|
2392
|
+
var _a, _b, _c, _d, _e, _f;
|
|
2438
2393
|
const [selectedChartType, setSelectedChartType] = useState3("line");
|
|
2439
2394
|
const [chartView, setChartView] = useState3(defaultChartView);
|
|
2440
2395
|
const lastAppliedEventSyncKeyRef = useRef2(null);
|
|
@@ -2762,7 +2717,6 @@ var EventListItemDetailsContent = ({
|
|
|
2762
2717
|
{
|
|
2763
2718
|
markets: event.venueMarkets,
|
|
2764
2719
|
defaultVenue: event.venue,
|
|
2765
|
-
selectedOutcomeId: (tradingContext == null ? void 0 : tradingContext.selectedEventId) === event.id ? tradingContext.selectedOutcomeId : (_f = scopedSelectedMarket == null ? void 0 : scopedSelectedMarket.venueMarketOutcomes[0]) == null ? void 0 : _f.id,
|
|
2766
2720
|
eventEndDate: event.endDate,
|
|
2767
2721
|
contractWindow,
|
|
2768
2722
|
range: chartRangeOverride != null ? chartRangeOverride : config.chart.selectedChartTimeRange,
|
|
@@ -2777,7 +2731,7 @@ var EventListItemDetailsContent = ({
|
|
|
2777
2731
|
selectedChartType,
|
|
2778
2732
|
venueInfo,
|
|
2779
2733
|
venueMarkets,
|
|
2780
|
-
selectedMarketId: (
|
|
2734
|
+
selectedMarketId: (_f = scopedSelectedMarket == null ? void 0 : scopedSelectedMarket.id) != null ? _f : null,
|
|
2781
2735
|
livePrices,
|
|
2782
2736
|
restMidpoints,
|
|
2783
2737
|
bestMidpoint,
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
MarketDetails,
|
|
5
5
|
MarketDetailsList,
|
|
6
6
|
isErrorWithStatus
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-LTFRGJPL.mjs";
|
|
8
8
|
import {
|
|
9
9
|
PlaceOrder,
|
|
10
10
|
SettlementDetails,
|
|
@@ -1368,6 +1368,7 @@ var resolveSportsSectionMarkets = ({
|
|
|
1368
1368
|
}
|
|
1369
1369
|
if (tab.kind !== "game_lines") return filteredSectionMarkets;
|
|
1370
1370
|
const dedupeEventMarketsOfType = (type) => {
|
|
1371
|
+
var _a, _b, _c, _d;
|
|
1371
1372
|
const dedupedMarkets = [];
|
|
1372
1373
|
const keptIndexByKey = /* @__PURE__ */ new Map();
|
|
1373
1374
|
for (const market of eventMarkets) {
|
|
@@ -1378,6 +1379,10 @@ var resolveSportsSectionMarkets = ({
|
|
|
1378
1379
|
const keptIndex = keptIndexByKey.get(key);
|
|
1379
1380
|
if (keptIndex !== void 0) {
|
|
1380
1381
|
const kept = dedupedMarkets[keptIndex];
|
|
1382
|
+
if (hasTeamTitledOutcomes(kept) && hasTeamTitledOutcomes(market) && ((_b = (_a = kept.venueMarketOutcomes) == null ? void 0 : _a.length) != null ? _b : 0) !== ((_d = (_c = market.venueMarketOutcomes) == null ? void 0 : _c.length) != null ? _d : 0)) {
|
|
1383
|
+
dedupedMarkets.push(market);
|
|
1384
|
+
continue;
|
|
1385
|
+
}
|
|
1381
1386
|
if (!hasTeamTitledOutcomes(kept) && hasTeamTitledOutcomes(market)) {
|
|
1382
1387
|
dedupedMarkets[keptIndex] = market;
|
|
1383
1388
|
}
|
|
@@ -1507,6 +1512,12 @@ var SPORTS_LEG_GROUPABLE_GROUPS = /* @__PURE__ */ new Set([
|
|
|
1507
1512
|
"specials",
|
|
1508
1513
|
"completion"
|
|
1509
1514
|
]);
|
|
1515
|
+
var DRAW_OUTCOME_TITLE_PATTERN = /\b(draw|tie)\b/i;
|
|
1516
|
+
var isThreeWayMoneylineHub = (market) => {
|
|
1517
|
+
var _a, _b;
|
|
1518
|
+
const outcomes = (_a = market.venueMarketOutcomes) != null ? _a : [];
|
|
1519
|
+
return normalizeSportsMarketType(market.sportsMarketType) === "moneyline" && normalizeSportsMarketGroup(market.marketGroup) === "game_lines" && normalizeSportsPeriod(market.period) === "full" && outcomes.length === 3 && outcomes.filter((outcome) => DRAW_OUTCOME_TITLE_PATTERN.test(toTrimmedString(outcome.title))).length === 1 && ((_b = market.matchedVenueMarkets) != null ? _b : []).length > 0;
|
|
1520
|
+
};
|
|
1510
1521
|
var resolveDisplayGroupFamilyKey = (market, sport) => {
|
|
1511
1522
|
var _a, _b, _c;
|
|
1512
1523
|
const normalizedQuestion = sanitizeFamilyValue(toTrimmedString(market.question));
|
|
@@ -1516,7 +1527,7 @@ var resolveDisplayGroupFamilyKey = (market, sport) => {
|
|
|
1516
1527
|
const sportsMarketType = (_b = normalizeSportsMarketType(market.sportsMarketType)) != null ? _b : "other";
|
|
1517
1528
|
const period = normalizeSportsPeriod(market.period);
|
|
1518
1529
|
const marketCategory = (_c = normalizeSportsMarketCategory(market.marketCategory)) != null ? _c : "other";
|
|
1519
|
-
if (isBinarySportsMoneylineMarket(market)) {
|
|
1530
|
+
if (isBinarySportsMoneylineMarket(market) || isThreeWayMoneylineHub(market)) {
|
|
1520
1531
|
return `${period}|moneyline|${marketCategory}`;
|
|
1521
1532
|
}
|
|
1522
1533
|
if (sportsMarketType === "to_advance") {
|
|
@@ -1580,7 +1591,7 @@ var formatSportsLegTitle = (token) => {
|
|
|
1580
1591
|
var resolveDisplayGroupTitle = (market, groupMarkets = [market], sport, isCombinedLegGroup = false) => {
|
|
1581
1592
|
const sportsMarketType = normalizeSportsMarketType(market.sportsMarketType);
|
|
1582
1593
|
const question = toTrimmedString(market.question);
|
|
1583
|
-
if (isBinarySportsMoneylineMarket(market)) return "Moneyline";
|
|
1594
|
+
if (isBinarySportsMoneylineMarket(market) || isThreeWayMoneylineHub(market)) return "Moneyline";
|
|
1584
1595
|
if (sportsMarketType === "to_advance") return "Team to Advance";
|
|
1585
1596
|
if (sportsMarketType === "spread") return "Spreads";
|
|
1586
1597
|
if (isCombinedLegGroup) {
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
EventListTabs,
|
|
9
9
|
useEventListTabs,
|
|
10
10
|
useEventListTabsHeaderOverflow
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-LIB6TLLV.mjs";
|
|
12
12
|
import {
|
|
13
13
|
OPEN_ORDER_FALLBACK_THUMBNAIL_SRC,
|
|
14
14
|
OPEN_ORDER_QUERY_STATUSES,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
parseRawMicroValue,
|
|
22
22
|
selectOpenLimitOrders,
|
|
23
23
|
useOpenOrderCancellation
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-R7ARCUYW.mjs";
|
|
25
25
|
import {
|
|
26
26
|
DEPOSIT_MODAL_OPEN_EVENT,
|
|
27
27
|
WITHDRAW_MODAL_OPEN_EVENT,
|
|
@@ -266,7 +266,7 @@ var useHomePageModals = () => {
|
|
|
266
266
|
// src/pages/home/index.tsx
|
|
267
267
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
268
268
|
var DeferredEventMarketPage = lazy(
|
|
269
|
-
() => import("./event-market-
|
|
269
|
+
() => import("./event-market-5SIXH2XF.mjs").then((module) => ({ default: module.EventMarketPage }))
|
|
270
270
|
);
|
|
271
271
|
var MIN_SEARCH_LENGTH = 3;
|
|
272
272
|
var SEARCH_DEBOUNCE_MS = 300;
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
EventOpenOrdersCard,
|
|
7
7
|
formatRecurringCountdown,
|
|
8
8
|
useEventOpenOrders
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-R7ARCUYW.mjs";
|
|
10
|
+
import "./chunk-LTFRGJPL.mjs";
|
|
11
11
|
import "./chunk-NV6WT3TN.mjs";
|
|
12
12
|
import "./chunk-WOCZ4TVT.mjs";
|
|
13
13
|
import "./chunk-CKHECAKV.mjs";
|