@agg-market/ui 8.0.0 → 10.0.0
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-SBLIHCN2.mjs → chunk-55YYUTBK.mjs} +807 -358
- package/dist/{chunk-JE4MV5RL.mjs → chunk-5G4T5R2H.mjs} +6 -2
- package/dist/{chunk-TLFRGJ5B.mjs → chunk-GYOCLZGH.mjs} +564 -414
- package/dist/{chunk-KRCRD4AJ.mjs → chunk-RYQSVETG.mjs} +212 -174
- package/dist/{chunk-WKY3IN52.mjs → chunk-XP7DREIX.mjs} +54 -15
- package/dist/events.js +604 -421
- package/dist/events.mjs +6 -4
- package/dist/index.js +1616 -948
- package/dist/index.mjs +10 -6
- package/dist/modals.js +1185 -374
- package/dist/modals.mjs +4 -2
- package/dist/pages.js +1434 -1005
- package/dist/pages.mjs +4 -4
- package/dist/primitives.js +53 -14
- package/dist/primitives.mjs +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/trading.js +20 -4
- package/dist/trading.mjs +2 -2
- package/dist/types/events/item/event-list-item.types.d.mts +6 -4
- package/dist/types/events/item/event-list-item.types.d.ts +6 -4
- package/dist/types/events/item/event-list-item.utils.d.mts +5 -5
- package/dist/types/events/item/event-list-item.utils.d.ts +5 -5
- package/dist/types/events/item/index.d.mts +1 -1
- package/dist/types/events/item/index.d.ts +1 -1
- package/dist/types/events/item-details/event-list-item-details.types.d.mts +3 -5
- package/dist/types/events/item-details/event-list-item-details.types.d.ts +3 -5
- package/dist/types/events/item-details/event-list-item-details.utils.d.mts +42 -3
- package/dist/types/events/item-details/event-list-item-details.utils.d.ts +42 -3
- package/dist/types/events/list/event-list.types.d.mts +6 -5
- package/dist/types/events/list/event-list.types.d.ts +6 -5
- package/dist/types/events/list/event-list.utils.d.mts +5 -5
- package/dist/types/events/list/event-list.utils.d.ts +5 -5
- package/dist/types/events/list/index.d.mts +1 -1
- package/dist/types/events/list/index.d.ts +1 -1
- package/dist/types/events/market-details/index.d.mts +6 -2
- package/dist/types/events/market-details/index.d.ts +6 -2
- package/dist/types/events/market-details/market-details.types.d.mts +35 -9
- package/dist/types/events/market-details/market-details.types.d.ts +35 -9
- package/dist/types/events/market-details/market-details.utils.d.mts +28 -12
- package/dist/types/events/market-details/market-details.utils.d.ts +28 -12
- package/dist/types/modals/index.d.mts +1 -0
- package/dist/types/modals/index.d.ts +1 -0
- package/dist/types/onramp/index.d.mts +6 -0
- package/dist/types/onramp/index.d.ts +6 -0
- package/dist/types/onramp/onramp-modal.constants.d.mts +9 -0
- package/dist/types/onramp/onramp-modal.constants.d.ts +9 -0
- package/dist/types/onramp/onramp-modal.types.d.mts +64 -0
- package/dist/types/onramp/onramp-modal.types.d.ts +64 -0
- package/dist/types/onramp/steps/quote-card.d.mts +8 -0
- package/dist/types/onramp/steps/quote-card.d.ts +8 -0
- package/dist/types/onramp/steps/quote-form.d.mts +12 -0
- package/dist/types/onramp/steps/quote-form.d.ts +12 -0
- package/dist/types/onramp/steps/quote-selection.d.mts +14 -0
- package/dist/types/onramp/steps/quote-selection.d.ts +14 -0
- package/dist/types/onramp/steps/widget.d.mts +7 -0
- package/dist/types/onramp/steps/widget.d.ts +7 -0
- package/dist/types/pages/event-market/event-market.types.d.mts +4 -2
- package/dist/types/pages/event-market/event-market.types.d.ts +4 -2
- package/dist/types/pages/home/home.constants.d.mts +1 -3
- package/dist/types/pages/home/home.constants.d.ts +1 -3
- package/dist/types/pages/home/home.types.d.mts +0 -2
- package/dist/types/pages/home/home.types.d.ts +0 -2
- package/dist/types/pages/home/home.utils.d.mts +4 -0
- package/dist/types/pages/home/home.utils.d.ts +4 -0
- package/dist/types/pages/home/index.d.mts +1 -1
- package/dist/types/pages/home/index.d.ts +1 -1
- package/dist/types/primitives/chart/index.d.mts +18 -1
- package/dist/types/primitives/chart/index.d.ts +18 -1
- package/dist/types/primitives/venue-logo/index.d.mts +1 -1
- package/dist/types/primitives/venue-logo/index.d.ts +1 -1
- package/dist/types/trading/types.d.mts +2 -2
- package/dist/types/trading/types.d.ts +2 -2
- package/package.json +3 -3
|
@@ -3,15 +3,16 @@ import {
|
|
|
3
3
|
EventListItemDetails,
|
|
4
4
|
MarketDetails,
|
|
5
5
|
isErrorWithStatus
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GYOCLZGH.mjs";
|
|
7
7
|
import {
|
|
8
8
|
PlaceOrder,
|
|
9
9
|
Settlement
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-5G4T5R2H.mjs";
|
|
11
11
|
import {
|
|
12
12
|
Button,
|
|
13
13
|
Card,
|
|
14
14
|
Icon,
|
|
15
|
+
Modal,
|
|
15
16
|
RemoteImage,
|
|
16
17
|
StateMessage,
|
|
17
18
|
Tabs,
|
|
@@ -20,7 +21,7 @@ import {
|
|
|
20
21
|
__spreadProps,
|
|
21
22
|
__spreadValues,
|
|
22
23
|
cn
|
|
23
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-XP7DREIX.mjs";
|
|
24
25
|
|
|
25
26
|
// src/pages/home/index.tsx
|
|
26
27
|
import { useEffect, useMemo, useState } from "react";
|
|
@@ -30,51 +31,6 @@ import { useCategories, useLabels } from "@agg-market/hooks";
|
|
|
30
31
|
var ALL_CATEGORIES_TAB_VALUE = "trending";
|
|
31
32
|
var DEFAULT_CATEGORIES_LIMIT = 100;
|
|
32
33
|
var DEFAULT_ALL_CATEGORY_TAB_LABEL = "Trending";
|
|
33
|
-
var CATEGORY_TAB_NAME_ORDER = [
|
|
34
|
-
"crypto",
|
|
35
|
-
"economy",
|
|
36
|
-
"entertainment",
|
|
37
|
-
"finance",
|
|
38
|
-
"geopolitics",
|
|
39
|
-
"health",
|
|
40
|
-
"mentions",
|
|
41
|
-
"politics",
|
|
42
|
-
"science",
|
|
43
|
-
"sports",
|
|
44
|
-
"technology",
|
|
45
|
-
"weather",
|
|
46
|
-
"world"
|
|
47
|
-
];
|
|
48
|
-
var getDefaultHomePageTabs = (allCategoryTabLabel) => {
|
|
49
|
-
return [
|
|
50
|
-
{
|
|
51
|
-
value: ALL_CATEGORIES_TAB_VALUE,
|
|
52
|
-
label: allCategoryTabLabel,
|
|
53
|
-
iconName: "arrow-trend-up"
|
|
54
|
-
},
|
|
55
|
-
{ value: "crypto", label: "crypto", categoryIds: ["crypto"] },
|
|
56
|
-
{ value: "economy", label: "economy", categoryIds: ["economy"] },
|
|
57
|
-
{
|
|
58
|
-
value: "entertainment",
|
|
59
|
-
label: "entertainment",
|
|
60
|
-
categoryIds: ["entertainment"]
|
|
61
|
-
},
|
|
62
|
-
{ value: "finance", label: "finance", categoryIds: ["finance"] },
|
|
63
|
-
{
|
|
64
|
-
value: "geopolitics",
|
|
65
|
-
label: "geopolitics",
|
|
66
|
-
categoryIds: ["geopolitics"]
|
|
67
|
-
},
|
|
68
|
-
{ value: "health", label: "health", categoryIds: ["health"] },
|
|
69
|
-
{ value: "mentions", label: "mentions", categoryIds: ["mentions"] },
|
|
70
|
-
{ value: "politics", label: "politics", categoryIds: ["politics"] },
|
|
71
|
-
{ value: "science", label: "science", categoryIds: ["science"] },
|
|
72
|
-
{ value: "sports", label: "sports", categoryIds: ["sports"] },
|
|
73
|
-
{ value: "technology", label: "technology", categoryIds: ["technology"] },
|
|
74
|
-
{ value: "weather", label: "weather", categoryIds: ["weather"] },
|
|
75
|
-
{ value: "world", label: "world", categoryIds: ["world"] }
|
|
76
|
-
];
|
|
77
|
-
};
|
|
78
34
|
var getDefaultEventSectionItems = (labels) => {
|
|
79
35
|
return [
|
|
80
36
|
{
|
|
@@ -95,31 +51,7 @@ var getDefaultEventSectionItems = (labels) => {
|
|
|
95
51
|
};
|
|
96
52
|
|
|
97
53
|
// src/pages/home/home.utils.ts
|
|
98
|
-
var categoryOrderMap = CATEGORY_TAB_NAME_ORDER.reduce(
|
|
99
|
-
(accumulator, name, index) => {
|
|
100
|
-
accumulator.set(name, index);
|
|
101
|
-
return accumulator;
|
|
102
|
-
},
|
|
103
|
-
/* @__PURE__ */ new Map()
|
|
104
|
-
);
|
|
105
|
-
var normalizeCategoryName = (name) => {
|
|
106
|
-
return name.trim().toLowerCase();
|
|
107
|
-
};
|
|
108
54
|
var resolveCategoryTabs = (categories, allCategoryTabLabel) => {
|
|
109
|
-
const sortedCategories = [...categories].sort((left, right) => {
|
|
110
|
-
const leftName = normalizeCategoryName(left.name);
|
|
111
|
-
const rightName = normalizeCategoryName(right.name);
|
|
112
|
-
const leftOrder = categoryOrderMap.get(leftName);
|
|
113
|
-
const rightOrder = categoryOrderMap.get(rightName);
|
|
114
|
-
if (leftOrder != null && rightOrder != null) {
|
|
115
|
-
return leftOrder - rightOrder;
|
|
116
|
-
}
|
|
117
|
-
if (leftOrder != null)
|
|
118
|
-
return -1;
|
|
119
|
-
if (rightOrder != null)
|
|
120
|
-
return 1;
|
|
121
|
-
return leftName.localeCompare(rightName);
|
|
122
|
-
});
|
|
123
55
|
const seenCategoryIds = /* @__PURE__ */ new Set();
|
|
124
56
|
const tabs = [
|
|
125
57
|
{
|
|
@@ -128,13 +60,13 @@ var resolveCategoryTabs = (categories, allCategoryTabLabel) => {
|
|
|
128
60
|
iconName: "arrow-trend-up"
|
|
129
61
|
}
|
|
130
62
|
];
|
|
131
|
-
for (const category of
|
|
63
|
+
for (const category of categories) {
|
|
132
64
|
if (seenCategoryIds.has(category.id))
|
|
133
65
|
continue;
|
|
134
66
|
seenCategoryIds.add(category.id);
|
|
135
67
|
tabs.push({
|
|
136
68
|
value: category.id,
|
|
137
|
-
label:
|
|
69
|
+
label: category.name.trim().toLowerCase(),
|
|
138
70
|
categoryIds: [category.id]
|
|
139
71
|
});
|
|
140
72
|
}
|
|
@@ -147,7 +79,7 @@ var resolveInitialTabValue = (tabs, defaultActiveTab) => {
|
|
|
147
79
|
if (hasDefaultTab)
|
|
148
80
|
return defaultActiveTab;
|
|
149
81
|
}
|
|
150
|
-
return (_b = (_a = tabs[0]) == null ? void 0 : _a.value) != null ? _b :
|
|
82
|
+
return (_b = (_a = tabs[0]) == null ? void 0 : _a.value) != null ? _b : ALL_CATEGORIES_TAB_VALUE;
|
|
151
83
|
};
|
|
152
84
|
|
|
153
85
|
// src/pages/home/index.tsx
|
|
@@ -158,17 +90,15 @@ var HomePage = ({
|
|
|
158
90
|
onTabChange,
|
|
159
91
|
eventSectionItems,
|
|
160
92
|
classNames,
|
|
161
|
-
useCategoriesTabs = true,
|
|
162
93
|
categoriesLimit = DEFAULT_CATEGORIES_LIMIT,
|
|
163
94
|
allCategoryTabLabel = DEFAULT_ALL_CATEGORY_TAB_LABEL
|
|
164
95
|
}) => {
|
|
165
96
|
const labels = useLabels();
|
|
166
97
|
const hasCustomTabs = !!tabs && tabs.length > 0;
|
|
167
|
-
const shouldUseCategoriesTabs = !hasCustomTabs && useCategoriesTabs;
|
|
168
98
|
const resolvedAllCategoryTabLabel = allCategoryTabLabel === DEFAULT_ALL_CATEGORY_TAB_LABEL ? labels.home.trending : allCategoryTabLabel;
|
|
169
|
-
const { categories } = useCategories({
|
|
99
|
+
const { categories, isLoading: isCategoriesLoading } = useCategories({
|
|
170
100
|
limit: categoriesLimit,
|
|
171
|
-
enabled:
|
|
101
|
+
enabled: !hasCustomTabs
|
|
172
102
|
});
|
|
173
103
|
const categoryTabs = useMemo(() => {
|
|
174
104
|
return resolveCategoryTabs(categories, resolvedAllCategoryTabLabel);
|
|
@@ -176,10 +106,8 @@ var HomePage = ({
|
|
|
176
106
|
const resolvedTabs = useMemo(() => {
|
|
177
107
|
if (hasCustomTabs && tabs)
|
|
178
108
|
return tabs;
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
return getDefaultHomePageTabs(resolvedAllCategoryTabLabel);
|
|
182
|
-
}, [categoryTabs, hasCustomTabs, resolvedAllCategoryTabLabel, shouldUseCategoriesTabs, tabs]);
|
|
109
|
+
return categoryTabs;
|
|
110
|
+
}, [categoryTabs, hasCustomTabs, tabs]);
|
|
183
111
|
const resolvedEventSectionItems = eventSectionItems && eventSectionItems.length > 0 ? eventSectionItems : getDefaultEventSectionItems(labels);
|
|
184
112
|
const [activeTabValue, setActiveTabValue] = useState(() => {
|
|
185
113
|
return resolveInitialTabValue(resolvedTabs, defaultActiveTab);
|
|
@@ -214,22 +142,20 @@ var HomePage = ({
|
|
|
214
142
|
return resolvedTabs.find((tab) => tab.value === activeTabValue);
|
|
215
143
|
}, [activeTabValue, resolvedTabs]);
|
|
216
144
|
const resolvedSectionItems = useMemo(() => {
|
|
217
|
-
var _a, _b, _c, _d
|
|
145
|
+
var _a, _b, _c, _d;
|
|
218
146
|
if (activeTabValue === ALL_CATEGORIES_TAB_VALUE) {
|
|
219
147
|
return resolvedEventSectionItems;
|
|
220
148
|
}
|
|
221
149
|
const maxItemsPerRow = (_b = (_a = resolvedEventSectionItems[0]) == null ? void 0 : _a.maxItemsPerRow) != null ? _b : 3;
|
|
222
|
-
const
|
|
223
|
-
const firstSectionLimit = (_d = resolvedEventSectionItems[0]) == null ? void 0 : _d.limit;
|
|
150
|
+
const firstSectionLimit = (_c = resolvedEventSectionItems[0]) == null ? void 0 : _c.limit;
|
|
224
151
|
const limit = firstSectionLimit && Number.isFinite(firstSectionLimit) ? Math.max(9, Math.floor(firstSectionLimit)) : 9;
|
|
225
152
|
return [
|
|
226
153
|
{
|
|
227
154
|
id: `${activeTabValue}-markets`,
|
|
228
|
-
title: (
|
|
155
|
+
title: (_d = activeTab == null ? void 0 : activeTab.label) != null ? _d : activeTabValue,
|
|
229
156
|
maxItemsPerRow,
|
|
230
157
|
limit,
|
|
231
158
|
maxVisibleItems: void 0,
|
|
232
|
-
showVenueLogo,
|
|
233
159
|
search: activeTab == null ? void 0 : activeTab.search,
|
|
234
160
|
categoryIds: activeTab == null ? void 0 : activeTab.categoryIds
|
|
235
161
|
}
|
|
@@ -239,6 +165,18 @@ var HomePage = ({
|
|
|
239
165
|
setActiveTabValue(value);
|
|
240
166
|
onTabChange == null ? void 0 : onTabChange(value);
|
|
241
167
|
};
|
|
168
|
+
if (!hasCustomTabs && isCategoriesLoading) {
|
|
169
|
+
return /* @__PURE__ */ jsx("section", { className: cn("flex w-full flex-col", classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ jsx(
|
|
170
|
+
"header",
|
|
171
|
+
{
|
|
172
|
+
className: cn(
|
|
173
|
+
"w-full bg-agg-secondary border-b border-agg-separator",
|
|
174
|
+
classNames == null ? void 0 : classNames.header
|
|
175
|
+
),
|
|
176
|
+
children: /* @__PURE__ */ jsx("div", { className: cn("w-full px-4 md:px-10 h-10", classNames == null ? void 0 : classNames.tabs) })
|
|
177
|
+
}
|
|
178
|
+
) });
|
|
179
|
+
}
|
|
242
180
|
return /* @__PURE__ */ jsxs("section", { className: cn("flex w-full flex-col", classNames == null ? void 0 : classNames.root), children: [
|
|
243
181
|
/* @__PURE__ */ jsx(
|
|
244
182
|
"header",
|
|
@@ -273,7 +211,6 @@ var HomePage = ({
|
|
|
273
211
|
maxItemsPerRow: eventSectionItem.maxItemsPerRow,
|
|
274
212
|
limit: eventSectionItem.limit,
|
|
275
213
|
maxVisibleItems: eventSectionItem.maxVisibleItems,
|
|
276
|
-
showVenueLogo: eventSectionItem.showVenueLogo,
|
|
277
214
|
search: (_b = eventSectionItem.search) != null ? _b : activeTab == null ? void 0 : activeTab.search,
|
|
278
215
|
categoryIds: (_c = eventSectionItem.categoryIds) != null ? _c : activeTab == null ? void 0 : activeTab.categoryIds
|
|
279
216
|
},
|
|
@@ -288,9 +225,9 @@ HomePage.displayName = "HomePage";
|
|
|
288
225
|
|
|
289
226
|
// src/pages/event-market/index.tsx
|
|
290
227
|
import { useEffect as useEffect2, useMemo as useMemo2, useState as useState2 } from "react";
|
|
291
|
-
import {
|
|
228
|
+
import { useVenueEvent, useLabels as useLabels2 } from "@agg-market/hooks";
|
|
292
229
|
import dayjs from "dayjs";
|
|
293
|
-
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
230
|
+
import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
294
231
|
var getMarketDateValue = (market, fallbackIndex) => {
|
|
295
232
|
var _a, _b, _c;
|
|
296
233
|
const candidateDate = (_c = (_b = (_a = market.endDate) != null ? _a : market.startDate) != null ? _b : market.creationDate) != null ? _c : null;
|
|
@@ -304,29 +241,29 @@ var getMarketDateValue = (market, fallbackIndex) => {
|
|
|
304
241
|
};
|
|
305
242
|
var resolveHeroMarketId = (event, heroMarketId) => {
|
|
306
243
|
var _a, _b;
|
|
307
|
-
if (!((_a = event == null ? void 0 : event.
|
|
244
|
+
if (!((_a = event == null ? void 0 : event.venueMarkets) == null ? void 0 : _a.length))
|
|
308
245
|
return void 0;
|
|
309
246
|
if (heroMarketId) {
|
|
310
|
-
const matchingHeroMarket = event.
|
|
247
|
+
const matchingHeroMarket = event.venueMarkets.find(
|
|
311
248
|
(market) => market.id === heroMarketId
|
|
312
249
|
);
|
|
313
250
|
if (matchingHeroMarket)
|
|
314
251
|
return matchingHeroMarket.id;
|
|
315
252
|
}
|
|
316
|
-
return (_b = event.
|
|
253
|
+
return (_b = event.venueMarkets[0]) == null ? void 0 : _b.id;
|
|
317
254
|
};
|
|
318
255
|
var buildHeroEvent = (event, heroMarketId) => {
|
|
319
256
|
if (!heroMarketId)
|
|
320
257
|
return void 0;
|
|
321
|
-
const heroMarket = event.
|
|
258
|
+
const heroMarket = event.venueMarkets.find((market) => market.id === heroMarketId);
|
|
322
259
|
if (!heroMarket)
|
|
323
260
|
return void 0;
|
|
324
261
|
return __spreadProps(__spreadValues({}, event), {
|
|
325
|
-
|
|
262
|
+
venueMarkets: [heroMarket]
|
|
326
263
|
});
|
|
327
264
|
};
|
|
328
265
|
var resolveDetailedMarkets = (event, heroMarketId) => {
|
|
329
|
-
return event.
|
|
266
|
+
return event.venueMarkets.filter((market) => market.id !== heroMarketId).map((market, index) => ({
|
|
330
267
|
market,
|
|
331
268
|
index
|
|
332
269
|
})).sort(
|
|
@@ -346,6 +283,69 @@ var resolveInitialExpandedMarketId = (detailedMarkets, defaultExpandedMarketId)
|
|
|
346
283
|
}
|
|
347
284
|
return (_b = (_a = detailedMarkets[0]) == null ? void 0 : _a.id) != null ? _b : null;
|
|
348
285
|
};
|
|
286
|
+
var EventMarketPageMobileTrade = ({
|
|
287
|
+
placeOrder,
|
|
288
|
+
classNames
|
|
289
|
+
}) => {
|
|
290
|
+
const [isOpen, setIsOpen] = useState2(false);
|
|
291
|
+
const handleOpen = () => {
|
|
292
|
+
setIsOpen(true);
|
|
293
|
+
};
|
|
294
|
+
const handleOpenChange = (nextOpen) => {
|
|
295
|
+
setIsOpen(nextOpen);
|
|
296
|
+
};
|
|
297
|
+
const handleClose = () => {
|
|
298
|
+
setIsOpen(false);
|
|
299
|
+
};
|
|
300
|
+
return /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
301
|
+
/* @__PURE__ */ jsx2(
|
|
302
|
+
"div",
|
|
303
|
+
{
|
|
304
|
+
className: cn(
|
|
305
|
+
"fixed inset-x-0 bottom-0 z-20 flex justify-end p-4 lg:hidden",
|
|
306
|
+
classNames == null ? void 0 : classNames.mobileTradeCta
|
|
307
|
+
),
|
|
308
|
+
children: /* @__PURE__ */ jsx2(
|
|
309
|
+
Button,
|
|
310
|
+
{
|
|
311
|
+
size: "large",
|
|
312
|
+
className: "min-w-[168px] shadow-agg-modal",
|
|
313
|
+
"aria-label": placeOrder.actionLabel,
|
|
314
|
+
"data-testid": "event-market-page-mobile-trade-cta",
|
|
315
|
+
onClick: (e) => {
|
|
316
|
+
e.stopPropagation();
|
|
317
|
+
e.preventDefault();
|
|
318
|
+
handleOpen();
|
|
319
|
+
},
|
|
320
|
+
children: placeOrder.actionLabel
|
|
321
|
+
}
|
|
322
|
+
)
|
|
323
|
+
}
|
|
324
|
+
),
|
|
325
|
+
/* @__PURE__ */ jsx2(Modal, { open: isOpen, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsx2(
|
|
326
|
+
Modal.Container,
|
|
327
|
+
{
|
|
328
|
+
"aria-label": placeOrder.title,
|
|
329
|
+
maxWidth: "420px",
|
|
330
|
+
classNames: {
|
|
331
|
+
content: "items-end p-0 sm:items-center sm:p-4",
|
|
332
|
+
container: cn(
|
|
333
|
+
"w-full max-w-[420px] border-0 bg-transparent shadow-none",
|
|
334
|
+
classNames == null ? void 0 : classNames.mobileTradeModal
|
|
335
|
+
)
|
|
336
|
+
},
|
|
337
|
+
children: /* @__PURE__ */ jsx2(
|
|
338
|
+
PlaceOrder,
|
|
339
|
+
__spreadProps(__spreadValues({}, placeOrder), {
|
|
340
|
+
isDismissible: true,
|
|
341
|
+
className: cn("w-full rounded-t-agg-2xl sm:rounded-agg-xl", classNames == null ? void 0 : classNames.mobileTrade),
|
|
342
|
+
onClose: handleClose
|
|
343
|
+
})
|
|
344
|
+
)
|
|
345
|
+
}
|
|
346
|
+
) })
|
|
347
|
+
] });
|
|
348
|
+
};
|
|
349
349
|
var EventMarketPageUnavailableState = ({
|
|
350
350
|
ariaLabel
|
|
351
351
|
}) => {
|
|
@@ -395,46 +395,66 @@ var EventMarketPageLoadingState = ({
|
|
|
395
395
|
}
|
|
396
396
|
]
|
|
397
397
|
};
|
|
398
|
-
return /* @__PURE__ */
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
/* @__PURE__ */
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
398
|
+
return /* @__PURE__ */ jsxs2("section", { className: cn("w-full pb-24 lg:pb-0", classNames == null ? void 0 : classNames.root), children: [
|
|
399
|
+
/* @__PURE__ */ jsxs2(
|
|
400
|
+
"div",
|
|
401
|
+
{
|
|
402
|
+
className: cn(
|
|
403
|
+
"mx-auto flex w-full max-w-[1200px] flex-col gap-6 px-3 py-3 md:px-6 md:py-6 lg:flex-row lg:items-start lg:gap-8",
|
|
404
|
+
classNames == null ? void 0 : classNames.content
|
|
405
|
+
),
|
|
406
|
+
children: [
|
|
407
|
+
/* @__PURE__ */ jsxs2("div", { className: cn("flex min-w-0 flex-1 flex-col gap-6", classNames == null ? void 0 : classNames.main), children: [
|
|
408
|
+
/* @__PURE__ */ jsx2(
|
|
409
|
+
EventListItemDetails,
|
|
410
|
+
{
|
|
411
|
+
isLoading: true,
|
|
412
|
+
classNames: {
|
|
413
|
+
root: classNames == null ? void 0 : classNames.hero
|
|
414
|
+
}
|
|
413
415
|
}
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
416
|
+
),
|
|
417
|
+
/* @__PURE__ */ jsxs2("div", { className: cn("flex flex-col gap-3", classNames == null ? void 0 : classNames.markets), children: [
|
|
418
|
+
/* @__PURE__ */ jsx2(MarketDetails, { isLoading: true, isOpened: true, classNames: { root: "w-full" } }),
|
|
419
|
+
/* @__PURE__ */ jsx2(MarketDetails, { isLoading: true, isOpened: false, classNames: { root: "w-full" } }),
|
|
420
|
+
/* @__PURE__ */ jsx2(MarketDetails, { isLoading: true, isOpened: false, classNames: { root: "w-full" } })
|
|
421
|
+
] }),
|
|
422
|
+
/* @__PURE__ */ jsx2("div", { className: "md:hidden", children: /* @__PURE__ */ jsx2(Settlement, __spreadProps(__spreadValues({}, fallbackSettlement), { isLoading: true, className: classNames == null ? void 0 : classNames.settlement })) }),
|
|
423
|
+
/* @__PURE__ */ jsx2("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx2(Settlement, __spreadProps(__spreadValues({}, fallbackSettlement), { isLoading: true, className: classNames == null ? void 0 : classNames.settlement })) })
|
|
420
424
|
] }),
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
425
|
+
placeOrder ? /* @__PURE__ */ jsx2(
|
|
426
|
+
"aside",
|
|
427
|
+
{
|
|
428
|
+
className: cn(
|
|
429
|
+
"hidden w-full shrink-0 lg:sticky lg:top-6 lg:block lg:w-[343px]",
|
|
430
|
+
classNames == null ? void 0 : classNames.sidebar
|
|
431
|
+
),
|
|
432
|
+
children: /* @__PURE__ */ jsx2(PlaceOrder, __spreadProps(__spreadValues({}, placeOrder), { isLoading: true, className: classNames == null ? void 0 : classNames.trade }))
|
|
433
|
+
}
|
|
434
|
+
) : null
|
|
435
|
+
]
|
|
436
|
+
}
|
|
437
|
+
),
|
|
438
|
+
placeOrder ? /* @__PURE__ */ jsx2(
|
|
439
|
+
"div",
|
|
440
|
+
{
|
|
441
|
+
className: cn(
|
|
442
|
+
"fixed inset-x-0 bottom-0 z-20 flex justify-end p-4 lg:hidden",
|
|
443
|
+
classNames == null ? void 0 : classNames.mobileTradeCta
|
|
444
|
+
),
|
|
445
|
+
children: /* @__PURE__ */ jsx2(
|
|
446
|
+
Button,
|
|
427
447
|
{
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
children:
|
|
448
|
+
size: "large",
|
|
449
|
+
className: "min-w-[168px] shadow-agg-modal",
|
|
450
|
+
"aria-label": placeOrder.actionLabel,
|
|
451
|
+
disabled: true,
|
|
452
|
+
children: placeOrder.actionLabel
|
|
433
453
|
}
|
|
434
|
-
)
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
454
|
+
)
|
|
455
|
+
}
|
|
456
|
+
) : null
|
|
457
|
+
] });
|
|
438
458
|
};
|
|
439
459
|
var EventMarketPageContent = ({
|
|
440
460
|
event,
|
|
@@ -484,60 +504,78 @@ var EventMarketPageContent = ({
|
|
|
484
504
|
}
|
|
485
505
|
onExpandedMarketChange == null ? void 0 : onExpandedMarketChange(nextExpandedMarketId);
|
|
486
506
|
};
|
|
487
|
-
if (!heroEvent || !event.
|
|
507
|
+
if (!heroEvent || !event.venueMarkets.length) {
|
|
488
508
|
return /* @__PURE__ */ jsx2(EventMarketPageUnavailableState, { ariaLabel });
|
|
489
509
|
}
|
|
490
|
-
return /* @__PURE__ */
|
|
491
|
-
"
|
|
510
|
+
return /* @__PURE__ */ jsxs2(
|
|
511
|
+
"section",
|
|
492
512
|
{
|
|
493
|
-
className: cn(
|
|
494
|
-
|
|
495
|
-
classNames == null ? void 0 : classNames.content
|
|
496
|
-
),
|
|
513
|
+
className: cn("w-full pb-24 lg:pb-0", classNames == null ? void 0 : classNames.root),
|
|
514
|
+
"aria-label": ariaLabel != null ? ariaLabel : event.title,
|
|
497
515
|
children: [
|
|
498
|
-
/* @__PURE__ */ jsxs2(
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
516
|
+
/* @__PURE__ */ jsxs2(
|
|
517
|
+
"div",
|
|
518
|
+
{
|
|
519
|
+
className: cn(
|
|
520
|
+
"mx-auto flex w-full max-w-[1200px] flex-row gap-6 px-3 py-3 md:px-6 md:py-6 lg:flex-row lg:items-start lg:gap-8",
|
|
521
|
+
classNames == null ? void 0 : classNames.content
|
|
522
|
+
),
|
|
523
|
+
children: [
|
|
524
|
+
/* @__PURE__ */ jsxs2("div", { className: cn("flex min-w-0 flex-1 flex-col gap-6", classNames == null ? void 0 : classNames.main), children: [
|
|
525
|
+
/* @__PURE__ */ jsx2(
|
|
526
|
+
EventListItemDetails,
|
|
527
|
+
{
|
|
528
|
+
event: heroEvent,
|
|
529
|
+
defaultTimeRange: heroDefaultTimeRange,
|
|
530
|
+
classNames: {
|
|
531
|
+
root: classNames == null ? void 0 : classNames.hero
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
),
|
|
535
|
+
detailedMarkets.length > 0 ? /* @__PURE__ */ jsx2("div", { className: cn("flex flex-col gap-3", classNames == null ? void 0 : classNames.markets), children: detailedMarkets.map((market) => {
|
|
536
|
+
const isOpened = resolvedExpandedMarketId === market.id;
|
|
537
|
+
return /* @__PURE__ */ jsx2(
|
|
538
|
+
MarketDetails,
|
|
539
|
+
{
|
|
540
|
+
venueMarkets: [market],
|
|
541
|
+
isOpened,
|
|
542
|
+
defaultTab: "order-book",
|
|
543
|
+
ariaLabel: market.endDate && dayjs(market.endDate).isValid() ? labels.eventMarketPage.marketDetailsAriaByDate(
|
|
544
|
+
dayjs(market.endDate).format("MMM D, YYYY")
|
|
545
|
+
) : labels.eventMarketPage.marketDetailsAriaByQuestion(market.question),
|
|
546
|
+
onOpenChange: (nextIsOpened) => handleExpandedMarketChange(market.id, nextIsOpened)
|
|
547
|
+
},
|
|
548
|
+
market.id
|
|
549
|
+
);
|
|
550
|
+
}) }) : null,
|
|
551
|
+
settlement ? /* @__PURE__ */ jsx2("div", { className: "md:hidden", children: /* @__PURE__ */ jsx2(Settlement, __spreadProps(__spreadValues({}, settlement), { className: classNames == null ? void 0 : classNames.settlement })) }) : null,
|
|
552
|
+
settlement ? /* @__PURE__ */ jsx2("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx2(Settlement, __spreadProps(__spreadValues({}, settlement), { className: classNames == null ? void 0 : classNames.settlement })) }) : null
|
|
553
|
+
] }),
|
|
554
|
+
placeOrder ? /* @__PURE__ */ jsx2(
|
|
555
|
+
"aside",
|
|
556
|
+
{
|
|
557
|
+
className: cn("hidden w-full lg:block lg:max-w-[360px]", classNames == null ? void 0 : classNames.sidebar),
|
|
558
|
+
"data-testid": "event-market-page-desktop-trade",
|
|
559
|
+
children: /* @__PURE__ */ jsx2(PlaceOrder, __spreadProps(__spreadValues({}, placeOrder), { className: classNames == null ? void 0 : classNames.trade }))
|
|
560
|
+
}
|
|
561
|
+
) : null
|
|
562
|
+
]
|
|
563
|
+
}
|
|
564
|
+
),
|
|
565
|
+
placeOrder ? /* @__PURE__ */ jsx2(EventMarketPageMobileTrade, { placeOrder, classNames }) : null
|
|
530
566
|
]
|
|
531
567
|
}
|
|
532
|
-
)
|
|
568
|
+
);
|
|
533
569
|
};
|
|
534
570
|
var EventMarketPage = (props) => {
|
|
571
|
+
var _a;
|
|
535
572
|
const hasEventProp = "event" in props && !!props.event;
|
|
536
573
|
const {
|
|
537
574
|
event: fetchedEvent,
|
|
538
575
|
error: eventError,
|
|
539
576
|
isLoading: isFetchingEvent
|
|
540
|
-
} =
|
|
577
|
+
} = useVenueEvent({
|
|
578
|
+
eventId: hasEventProp ? "" : (_a = props.eventId) != null ? _a : "",
|
|
541
579
|
enabled: !props.isLoading && !hasEventProp && !!props.eventId
|
|
542
580
|
});
|
|
543
581
|
if (props.isLoading) {
|