@agg-market/ui 4.0.0 → 5.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-HOXTJ742.mjs → chunk-34IRJYSU.mjs} +1 -1
- package/dist/chunk-4343LYSH.mjs +45 -0
- package/dist/{chunk-LA3FBBSJ.mjs → chunk-CTYJVVHJ.mjs} +25 -2
- package/dist/{chunk-GNSPZ53C.mjs → chunk-DHBHKIJR.mjs} +73 -15
- package/dist/{chunk-OH56VUYK.mjs → chunk-GFBF2J3Y.mjs} +14 -7
- package/dist/{chunk-P2PJBO5C.mjs → chunk-KIYMVWL4.mjs} +1 -1
- package/dist/{chunk-QM7CGMFG.mjs → chunk-MKVGQ7AS.mjs} +12 -0
- package/dist/{chunk-JNH64AKR.mjs → chunk-Q6DGDBPV.mjs} +58 -4
- package/dist/{chunk-DCORNTCY.mjs → chunk-QDMHLRDY.mjs} +31 -62
- package/dist/{chunk-MBHTXNHX.mjs → chunk-T7TATHPD.mjs} +32 -8
- package/dist/chunk-XUCS575S.mjs +65 -0
- package/dist/event-list-item-details.js +1529 -72
- package/dist/event-list-item-details.mjs +7 -3
- package/dist/event-list-item.js +292 -71
- package/dist/event-list-item.mjs +5 -2
- package/dist/event-list.js +628 -404
- package/dist/event-list.mjs +6 -3
- package/dist/event-market-page.d.mts +1 -1
- package/dist/event-market-page.d.ts +1 -1
- package/dist/event-market-page.js +2478 -2268
- package/dist/event-market-page.mjs +7 -5
- package/dist/home-page.js +638 -414
- package/dist/home-page.mjs +7 -4
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +1062 -858
- package/dist/index.mjs +18 -13
- package/dist/market-details.js +645 -391
- package/dist/market-details.mjs +6 -3
- package/dist/place-order.d.mts +1 -1
- package/dist/place-order.d.ts +1 -1
- package/dist/search.js +3 -0
- package/dist/search.mjs +2 -1
- package/dist/settlement.d.mts +1 -1
- package/dist/settlement.d.ts +1 -1
- package/dist/state-message.d.mts +16 -0
- package/dist/state-message.d.ts +16 -0
- package/dist/state-message.js +1629 -0
- package/dist/state-message.mjs +14 -0
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/package.json +14 -2
- package/dist/{types-DkGlbmXq.d.mts → types-BImwqY4o.d.mts} +4 -4
- package/dist/{types-DkGlbmXq.d.ts → types-BImwqY4o.d.ts} +4 -4
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getIconA11yProps
|
|
3
|
+
} from "./chunk-BNDFQPHF.mjs";
|
|
4
|
+
import {
|
|
5
|
+
__objRest,
|
|
6
|
+
__spreadProps,
|
|
7
|
+
__spreadValues
|
|
8
|
+
} from "./chunk-GJ4U5NCE.mjs";
|
|
9
|
+
|
|
10
|
+
// src/primitives/search/search-empty-icon.tsx
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
var SearchEmptyIcon = (_a) => {
|
|
13
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
14
|
+
return /* @__PURE__ */ jsxs(
|
|
15
|
+
"svg",
|
|
16
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
17
|
+
viewBox: "0 0 40 40",
|
|
18
|
+
fill: "none",
|
|
19
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
20
|
+
className
|
|
21
|
+
}, getIconA11yProps(title)), props), {
|
|
22
|
+
children: [
|
|
23
|
+
title ? /* @__PURE__ */ jsx("title", { children: title }) : null,
|
|
24
|
+
/* @__PURE__ */ jsx("circle", { cx: "19.9987", cy: "20.0013", r: "9.2", stroke: "currentColor", strokeWidth: "1.6" }),
|
|
25
|
+
/* @__PURE__ */ jsx(
|
|
26
|
+
"ellipse",
|
|
27
|
+
{
|
|
28
|
+
cx: "19.9987",
|
|
29
|
+
cy: "20.0012",
|
|
30
|
+
rx: "17.2",
|
|
31
|
+
ry: "6.6",
|
|
32
|
+
transform: "rotate(-35 19.9987 20.0012)",
|
|
33
|
+
stroke: "currentColor",
|
|
34
|
+
strokeWidth: "1.6"
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
]
|
|
38
|
+
})
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
SearchEmptyIcon.displayName = "SearchEmptyIcon";
|
|
42
|
+
|
|
43
|
+
export {
|
|
44
|
+
SearchEmptyIcon
|
|
45
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
formatCountLabel,
|
|
3
3
|
getVenueSummary,
|
|
4
|
+
isErrorWithStatus,
|
|
4
5
|
normalizeProbability,
|
|
5
6
|
resolveEventListItemEvent,
|
|
6
7
|
resolveOutcomeTitle,
|
|
@@ -9,7 +10,10 @@ import {
|
|
|
9
10
|
resolveVenueLabel,
|
|
10
11
|
resolveVisibleOutcomes,
|
|
11
12
|
selectPrimaryVenueMarket
|
|
12
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-MKVGQ7AS.mjs";
|
|
14
|
+
import {
|
|
15
|
+
StateMessage
|
|
16
|
+
} from "./chunk-XUCS575S.mjs";
|
|
13
17
|
import {
|
|
14
18
|
Badge
|
|
15
19
|
} from "./chunk-K6IJ4WBM.mjs";
|
|
@@ -76,6 +80,21 @@ var EventListItemUnavailableState = ({
|
|
|
76
80
|
}
|
|
77
81
|
);
|
|
78
82
|
};
|
|
83
|
+
var EventListItemNotFoundState = ({
|
|
84
|
+
classNames,
|
|
85
|
+
ariaLabel
|
|
86
|
+
}) => {
|
|
87
|
+
const labels = useLabels();
|
|
88
|
+
return /* @__PURE__ */ jsx(Card, { className: cn("w-full gap-0 overflow-hidden p-0", classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ jsx(
|
|
89
|
+
StateMessage,
|
|
90
|
+
{
|
|
91
|
+
ariaLabel: ariaLabel != null ? ariaLabel : labels.eventItemDetails.notFoundAria,
|
|
92
|
+
title: labels.eventItemDetails.notFoundTitle,
|
|
93
|
+
description: labels.eventItemDetails.notFoundDescription,
|
|
94
|
+
className: "min-h-[280px] md:min-h-[320px]"
|
|
95
|
+
}
|
|
96
|
+
) });
|
|
97
|
+
};
|
|
79
98
|
var EventListItemContent = ({
|
|
80
99
|
event,
|
|
81
100
|
title,
|
|
@@ -272,6 +291,7 @@ var EventListItemByEventId = (_a) => {
|
|
|
272
291
|
]);
|
|
273
292
|
const {
|
|
274
293
|
event: fetchedEvent,
|
|
294
|
+
error,
|
|
275
295
|
isError,
|
|
276
296
|
isLoading
|
|
277
297
|
} = useEvent(eventId, {
|
|
@@ -286,7 +306,10 @@ var EventListItemByEventId = (_a) => {
|
|
|
286
306
|
if (isLoading) {
|
|
287
307
|
return /* @__PURE__ */ jsx(EventListItemLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
288
308
|
}
|
|
289
|
-
if (
|
|
309
|
+
if (isErrorWithStatus(error, 404)) {
|
|
310
|
+
return /* @__PURE__ */ jsx(EventListItemNotFoundState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
311
|
+
}
|
|
312
|
+
if (!fetchedEvent && !isError) {
|
|
290
313
|
return /* @__PURE__ */ jsx(EventListItemLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
291
314
|
}
|
|
292
315
|
if (!resolvedEvent) {
|
|
@@ -1,20 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Tabs
|
|
3
|
+
} from "./chunk-S3H63TQ5.mjs";
|
|
1
4
|
import {
|
|
2
5
|
buildPriceHistoryGroups,
|
|
3
6
|
getTimeWindowByRange,
|
|
4
7
|
resolveOutcomeLabels,
|
|
5
8
|
resolveOutcomesByVenue,
|
|
6
9
|
resolveSeriesColor
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import {
|
|
9
|
-
Tabs
|
|
10
|
-
} from "./chunk-S3H63TQ5.mjs";
|
|
10
|
+
} from "./chunk-34IRJYSU.mjs";
|
|
11
11
|
import {
|
|
12
12
|
getVenueSummary,
|
|
13
|
+
isErrorWithStatus,
|
|
13
14
|
normalizeProbability,
|
|
14
15
|
resolveTileImage,
|
|
15
16
|
resolveTileTitle,
|
|
16
17
|
selectPrimaryVenueMarket
|
|
17
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-MKVGQ7AS.mjs";
|
|
19
|
+
import {
|
|
20
|
+
StateMessage
|
|
21
|
+
} from "./chunk-XUCS575S.mjs";
|
|
18
22
|
import {
|
|
19
23
|
MarketDetailsOderbookSkeleton,
|
|
20
24
|
Skeleton,
|
|
@@ -86,12 +90,11 @@ var resolveInitialTab = (defaultTab) => {
|
|
|
86
90
|
return "order-book";
|
|
87
91
|
};
|
|
88
92
|
var resolveMarket = (event, marketId) => {
|
|
89
|
-
var _a;
|
|
90
93
|
if (!event.markets.length)
|
|
91
94
|
return void 0;
|
|
92
95
|
if (!marketId)
|
|
93
96
|
return event.markets[0];
|
|
94
|
-
return
|
|
97
|
+
return event.markets.find((market) => market.id === marketId);
|
|
95
98
|
};
|
|
96
99
|
var resolveDisplayOutcomeLabels = (labels) => {
|
|
97
100
|
if (!hasBinaryLabels(labels))
|
|
@@ -321,6 +324,21 @@ var MarketDetailsUnavailableState = ({
|
|
|
321
324
|
}
|
|
322
325
|
);
|
|
323
326
|
};
|
|
327
|
+
var MarketDetailsNotFoundState = ({
|
|
328
|
+
ariaLabel,
|
|
329
|
+
classNames
|
|
330
|
+
}) => {
|
|
331
|
+
const labels = useLabels();
|
|
332
|
+
return /* @__PURE__ */ jsx(Card, { className: cn(marketDetailsBaseCardClassName, "p-0", classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ jsx(
|
|
333
|
+
StateMessage,
|
|
334
|
+
{
|
|
335
|
+
ariaLabel: ariaLabel != null ? ariaLabel : labels.marketDetails.notFoundAria,
|
|
336
|
+
title: labels.marketDetails.notFoundTitle,
|
|
337
|
+
description: labels.marketDetails.notFoundDescription,
|
|
338
|
+
className: "min-h-[280px] md:min-h-[320px]"
|
|
339
|
+
}
|
|
340
|
+
) });
|
|
341
|
+
};
|
|
324
342
|
var OrderBookRows = ({
|
|
325
343
|
rows,
|
|
326
344
|
title,
|
|
@@ -424,6 +442,9 @@ var MarketDetailsContent = ({
|
|
|
424
442
|
labels
|
|
425
443
|
});
|
|
426
444
|
}, [config.formatCompactCurrency, event, image, labels, marketId, title]);
|
|
445
|
+
const resolvedMarket = useMemo(() => {
|
|
446
|
+
return resolveMarket(event, marketId);
|
|
447
|
+
}, [event, marketId]);
|
|
427
448
|
const marketDetailsTabs = useMemo(() => {
|
|
428
449
|
return getMarketDetailsTabs(labels);
|
|
429
450
|
}, [labels]);
|
|
@@ -511,7 +532,12 @@ var MarketDetailsContent = ({
|
|
|
511
532
|
liveUpdate: true
|
|
512
533
|
}));
|
|
513
534
|
}, [selectedOutcomesByVenue]);
|
|
514
|
-
const {
|
|
535
|
+
const {
|
|
536
|
+
data: orderBookData,
|
|
537
|
+
isLoading: isOrderBookLoading,
|
|
538
|
+
error: orderBookError,
|
|
539
|
+
results: orderBookResults
|
|
540
|
+
} = useOrderBook({
|
|
515
541
|
orderbooks: orderBookInputs,
|
|
516
542
|
enabled: isOpened && selectedTab === "order-book" && orderBookInputs.length > 0
|
|
517
543
|
});
|
|
@@ -600,6 +626,9 @@ var MarketDetailsContent = ({
|
|
|
600
626
|
return [];
|
|
601
627
|
return resolveOtherTabRows(model.market, labels);
|
|
602
628
|
}, [labels, model]);
|
|
629
|
+
const isOrderBookNotFound = isErrorWithStatus(orderBookError, 404);
|
|
630
|
+
const hasOrderBookError = !!orderBookError && !isOrderBookNotFound;
|
|
631
|
+
const hasNoOrderBook = isOrderBookNotFound || !isOrderBookLoading && !hasOrderBookError && (orderBookInputs.length === 0 || askRows.length === 0 && bidRows.length === 0);
|
|
603
632
|
const handleOutcomeKeyDown = (eventToHandle) => {
|
|
604
633
|
var _a;
|
|
605
634
|
if ((eventToHandle == null ? void 0 : eventToHandle.key) !== "ArrowLeft" && (eventToHandle == null ? void 0 : eventToHandle.key) !== "ArrowRight") {
|
|
@@ -633,6 +662,9 @@ var MarketDetailsContent = ({
|
|
|
633
662
|
return venue;
|
|
634
663
|
});
|
|
635
664
|
};
|
|
665
|
+
const handleRetryOrderBook = () => {
|
|
666
|
+
void Promise.all(orderBookResults.map((result) => result.refetch()));
|
|
667
|
+
};
|
|
636
668
|
useEffect(() => {
|
|
637
669
|
if (!selectedGraphVenue) {
|
|
638
670
|
return;
|
|
@@ -642,6 +674,9 @@ var MarketDetailsContent = ({
|
|
|
642
674
|
}
|
|
643
675
|
setSelectedGraphVenue(null);
|
|
644
676
|
}, [selectedGraphVenue, selectedOutcomesByVenue]);
|
|
677
|
+
if (marketId && !resolvedMarket) {
|
|
678
|
+
return /* @__PURE__ */ jsx(MarketDetailsNotFoundState, { ariaLabel, classNames });
|
|
679
|
+
}
|
|
645
680
|
if (!model) {
|
|
646
681
|
return /* @__PURE__ */ jsx(MarketDetailsUnavailableState, { ariaLabel, classNames });
|
|
647
682
|
}
|
|
@@ -783,7 +818,26 @@ var MarketDetailsContent = ({
|
|
|
783
818
|
) }),
|
|
784
819
|
/* @__PURE__ */ jsx("div", { className: "h-px w-full bg-agg-separator" }),
|
|
785
820
|
/* @__PURE__ */ jsxs("div", { className: cn("p-5", classNames == null ? void 0 : classNames.content), children: [
|
|
786
|
-
selectedTab === "order-book" ? /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-5", classNames == null ? void 0 : classNames.orderBook), children: isOrderBookLoading ? /* @__PURE__ */ jsx(MarketDetailsOderbookSkeleton, {}) : /* @__PURE__ */
|
|
821
|
+
selectedTab === "order-book" ? /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-5", classNames == null ? void 0 : classNames.orderBook), children: isOrderBookLoading ? /* @__PURE__ */ jsx(MarketDetailsOderbookSkeleton, {}) : hasOrderBookError ? /* @__PURE__ */ jsx(
|
|
822
|
+
StateMessage,
|
|
823
|
+
{
|
|
824
|
+
ariaLabel: labels.marketDetails.orderBookUnavailableAria,
|
|
825
|
+
tone: "warning",
|
|
826
|
+
title: labels.marketDetails.orderBookUnavailableTitle,
|
|
827
|
+
description: labels.marketDetails.orderBookUnavailableDescription,
|
|
828
|
+
actionLabel: labels.common.retry,
|
|
829
|
+
onAction: handleRetryOrderBook,
|
|
830
|
+
className: "min-h-[248px] px-5 py-10 md:min-h-[272px]"
|
|
831
|
+
}
|
|
832
|
+
) : hasNoOrderBook ? /* @__PURE__ */ jsx(
|
|
833
|
+
StateMessage,
|
|
834
|
+
{
|
|
835
|
+
ariaLabel: labels.marketDetails.orderBookEmptyAria,
|
|
836
|
+
title: labels.marketDetails.orderBookEmptyTitle,
|
|
837
|
+
description: labels.marketDetails.orderBookEmptyDescription,
|
|
838
|
+
className: "min-h-[248px] px-5 py-10 md:min-h-[272px]"
|
|
839
|
+
}
|
|
840
|
+
) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
787
841
|
/* @__PURE__ */ jsx(
|
|
788
842
|
OrderBookRows,
|
|
789
843
|
{
|
|
@@ -936,12 +990,13 @@ var MarketDetails = (props) => {
|
|
|
936
990
|
(_a2 = props.onOpenChange) == null ? void 0 : _a2.call(props, nextIsOpened);
|
|
937
991
|
};
|
|
938
992
|
const hasEventProp = "event" in props && !!props.event;
|
|
939
|
-
const {
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
993
|
+
const {
|
|
994
|
+
event: fetchedEvent,
|
|
995
|
+
error: eventError,
|
|
996
|
+
isLoading: isFetchingEvent
|
|
997
|
+
} = useEvent(hasEventProp ? void 0 : props.eventId, {
|
|
998
|
+
enabled: !props.isLoading && !hasEventProp && !!props.eventId
|
|
999
|
+
});
|
|
945
1000
|
if (props.isLoading) {
|
|
946
1001
|
return /* @__PURE__ */ jsx(
|
|
947
1002
|
MarketDetailsLoadingState,
|
|
@@ -973,6 +1028,9 @@ var MarketDetails = (props) => {
|
|
|
973
1028
|
);
|
|
974
1029
|
}
|
|
975
1030
|
if (!fetchedEvent) {
|
|
1031
|
+
if (isErrorWithStatus(eventError, 404)) {
|
|
1032
|
+
return /* @__PURE__ */ jsx(MarketDetailsNotFoundState, { ariaLabel: props.ariaLabel, classNames: props.classNames });
|
|
1033
|
+
}
|
|
976
1034
|
return /* @__PURE__ */ jsx(MarketDetailsUnavailableState, { ariaLabel: props.ariaLabel, classNames: props.classNames });
|
|
977
1035
|
}
|
|
978
1036
|
return /* @__PURE__ */ jsx(
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EventListItem
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CTYJVVHJ.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Tabs
|
|
6
6
|
} from "./chunk-S3H63TQ5.mjs";
|
|
7
|
+
import {
|
|
8
|
+
StateMessage
|
|
9
|
+
} from "./chunk-XUCS575S.mjs";
|
|
7
10
|
import {
|
|
8
11
|
Skeleton
|
|
9
12
|
} from "./chunk-M4RJHRFT.mjs";
|
|
@@ -16,6 +19,9 @@ import {
|
|
|
16
19
|
import {
|
|
17
20
|
Typography
|
|
18
21
|
} from "./chunk-ERGNR6UQ.mjs";
|
|
22
|
+
import {
|
|
23
|
+
Card
|
|
24
|
+
} from "./chunk-FO2QCB4Z.mjs";
|
|
19
25
|
import {
|
|
20
26
|
cn
|
|
21
27
|
} from "./chunk-GJ4U5NCE.mjs";
|
|
@@ -294,14 +300,15 @@ var EventList = ({
|
|
|
294
300
|
},
|
|
295
301
|
`loading-${index}`
|
|
296
302
|
)),
|
|
297
|
-
!isLoading && !isError && (tileEvents == null ? void 0 : tileEvents.length) === 0 ? /* @__PURE__ */ jsx(
|
|
298
|
-
|
|
303
|
+
!isLoading && !isError && (tileEvents == null ? void 0 : tileEvents.length) === 0 ? /* @__PURE__ */ jsx(Card, { className: "col-span-full overflow-hidden shadow-none hover:shadow-none", children: /* @__PURE__ */ jsx(
|
|
304
|
+
StateMessage,
|
|
299
305
|
{
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
306
|
+
ariaLabel: labels.eventList.emptyAria,
|
|
307
|
+
title: labels.eventList.emptyTitle,
|
|
308
|
+
description: labels.eventList.emptyDescription,
|
|
309
|
+
className: "min-h-[320px]"
|
|
303
310
|
}
|
|
304
|
-
) : null,
|
|
311
|
+
) }) : null,
|
|
305
312
|
isError ? /* @__PURE__ */ jsx(
|
|
306
313
|
Typography,
|
|
307
314
|
{
|
|
@@ -2,6 +2,17 @@ import {
|
|
|
2
2
|
toDate
|
|
3
3
|
} from "./chunk-GJ4U5NCE.mjs";
|
|
4
4
|
|
|
5
|
+
// src/shared/query-error.ts
|
|
6
|
+
var getErrorStatus = (error) => {
|
|
7
|
+
if (!error || typeof error !== "object")
|
|
8
|
+
return null;
|
|
9
|
+
const status = error.status;
|
|
10
|
+
return typeof status === "number" ? status : null;
|
|
11
|
+
};
|
|
12
|
+
var isErrorWithStatus = (error, status) => {
|
|
13
|
+
return getErrorStatus(error) === status;
|
|
14
|
+
};
|
|
15
|
+
|
|
5
16
|
// src/events/item/event-list-item.utils.ts
|
|
6
17
|
var resolveEventListItemEvent = (fetchedEvent) => {
|
|
7
18
|
if (!fetchedEvent)
|
|
@@ -142,6 +153,7 @@ var resolveVenueLabel = (venue, venueInfo, labels) => {
|
|
|
142
153
|
};
|
|
143
154
|
|
|
144
155
|
export {
|
|
156
|
+
isErrorWithStatus,
|
|
145
157
|
resolveEventListItemEvent,
|
|
146
158
|
normalizeProbability,
|
|
147
159
|
sortOutcomes,
|
|
@@ -8,15 +8,19 @@ import {
|
|
|
8
8
|
resolveOutcomeLabels,
|
|
9
9
|
resolveOutcomesByVenue,
|
|
10
10
|
resolveSeriesColor
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-34IRJYSU.mjs";
|
|
12
12
|
import {
|
|
13
|
+
isErrorWithStatus,
|
|
13
14
|
normalizeProbability,
|
|
14
15
|
resolveEventListItemEvent,
|
|
15
16
|
resolveTileImage,
|
|
16
17
|
resolveTileTitle,
|
|
17
18
|
resolveVenueLabel,
|
|
18
19
|
selectPrimaryVenueMarket
|
|
19
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-MKVGQ7AS.mjs";
|
|
21
|
+
import {
|
|
22
|
+
StateMessage
|
|
23
|
+
} from "./chunk-XUCS575S.mjs";
|
|
20
24
|
import {
|
|
21
25
|
Badge
|
|
22
26
|
} from "./chunk-K6IJ4WBM.mjs";
|
|
@@ -86,6 +90,21 @@ var EventListItemDetailsUnavailableState = ({
|
|
|
86
90
|
}
|
|
87
91
|
);
|
|
88
92
|
};
|
|
93
|
+
var EventListItemDetailsNotFoundState = ({
|
|
94
|
+
classNames,
|
|
95
|
+
ariaLabel
|
|
96
|
+
}) => {
|
|
97
|
+
const labels = useLabels();
|
|
98
|
+
return /* @__PURE__ */ jsx(Card, { className: cn(detailsBaseCardClassName, classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ jsx(
|
|
99
|
+
StateMessage,
|
|
100
|
+
{
|
|
101
|
+
ariaLabel: ariaLabel != null ? ariaLabel : labels.eventItemDetails.notFoundAria,
|
|
102
|
+
title: labels.eventItemDetails.notFoundTitle,
|
|
103
|
+
description: labels.eventItemDetails.notFoundDescription,
|
|
104
|
+
className: "min-h-[280px] md:min-h-[320px]"
|
|
105
|
+
}
|
|
106
|
+
) });
|
|
107
|
+
};
|
|
89
108
|
var probabilityModeOrder = ["yes", "no"];
|
|
90
109
|
var clampProbability = (value) => {
|
|
91
110
|
if (value < 0)
|
|
@@ -210,7 +229,12 @@ var EventListItemDetailsGraphSection = ({
|
|
|
210
229
|
const timeWindow = useMemo(() => {
|
|
211
230
|
return getTimeWindowByRange(selectedTimeRange);
|
|
212
231
|
}, [selectedTimeRange]);
|
|
213
|
-
const {
|
|
232
|
+
const {
|
|
233
|
+
data: priceHistoryData,
|
|
234
|
+
isLoading: isPriceHistoryLoading,
|
|
235
|
+
error: priceHistoryError,
|
|
236
|
+
results: priceHistoryResults
|
|
237
|
+
} = usePriceHistory(__spreadProps(__spreadValues({
|
|
214
238
|
groups: priceHistoryGroups
|
|
215
239
|
}, timeWindow), {
|
|
216
240
|
enabled: priceHistoryGroups.length > 0
|
|
@@ -314,6 +338,32 @@ var EventListItemDetailsGraphSection = ({
|
|
|
314
338
|
return venue;
|
|
315
339
|
});
|
|
316
340
|
};
|
|
341
|
+
const handleRetryPriceHistory = () => {
|
|
342
|
+
void Promise.all(priceHistoryResults.map((result) => result.refetch()));
|
|
343
|
+
};
|
|
344
|
+
if (priceHistoryError) {
|
|
345
|
+
return /* @__PURE__ */ jsx(
|
|
346
|
+
"div",
|
|
347
|
+
{
|
|
348
|
+
className: cn(
|
|
349
|
+
"w-full rounded-agg-xl border border-agg-separator bg-agg-secondary",
|
|
350
|
+
classNames == null ? void 0 : classNames.chart
|
|
351
|
+
),
|
|
352
|
+
children: /* @__PURE__ */ jsx(
|
|
353
|
+
StateMessage,
|
|
354
|
+
{
|
|
355
|
+
ariaLabel: labels.eventItemDetails.chartUnavailableAria,
|
|
356
|
+
tone: "warning",
|
|
357
|
+
title: labels.eventItemDetails.chartUnavailableTitle,
|
|
358
|
+
description: labels.eventItemDetails.chartUnavailableDescription,
|
|
359
|
+
actionLabel: labels.common.retry,
|
|
360
|
+
onAction: handleRetryPriceHistory,
|
|
361
|
+
className: "min-h-[300px] px-5 py-10 md:px-10"
|
|
362
|
+
}
|
|
363
|
+
)
|
|
364
|
+
}
|
|
365
|
+
);
|
|
366
|
+
}
|
|
317
367
|
return /* @__PURE__ */ jsx(
|
|
318
368
|
LineChart,
|
|
319
369
|
{
|
|
@@ -638,6 +688,7 @@ var EventListItemDetailsByEventId = (_a) => {
|
|
|
638
688
|
]);
|
|
639
689
|
const {
|
|
640
690
|
event: fetchedEvent,
|
|
691
|
+
error,
|
|
641
692
|
isError,
|
|
642
693
|
isLoading
|
|
643
694
|
} = useEvent(eventId, {
|
|
@@ -658,7 +709,10 @@ var EventListItemDetailsByEventId = (_a) => {
|
|
|
658
709
|
if (isLoading) {
|
|
659
710
|
return /* @__PURE__ */ jsx(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
660
711
|
}
|
|
661
|
-
if (
|
|
712
|
+
if (isErrorWithStatus(error, 404)) {
|
|
713
|
+
return /* @__PURE__ */ jsx(EventListItemDetailsNotFoundState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
714
|
+
}
|
|
715
|
+
if (!fetchedEvent && !isError) {
|
|
662
716
|
return /* @__PURE__ */ jsx(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
663
717
|
}
|
|
664
718
|
if (!resolvedEvent) {
|