@orderly.network/trading-leaderboard 2.8.6 → 2.8.7
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/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +51 -15
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +52 -16
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -9
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createContext, memo, useState, useRef, useCallback, useEffect, useMemo, useContext } from 'react';
|
|
2
2
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
|
-
import { useEmblaCarousel, ChevronLeftIcon, ChevronRightIcon, cn, Text, Box, Flex, Select, Button, useScreen, usePagination, DataFilter, Input, CloseCircleFillIcon, DataTable, Spinner, Divider, toast, ScrollIndicator as ScrollIndicator$1,
|
|
3
|
+
import { useEmblaCarousel, ChevronLeftIcon, ChevronRightIcon, cn, Text, Box, Flex, Select, Button, useScreen, usePagination, DataFilter, Input, CloseCircleFillIcon, DataTable, Spinner, Divider, toast, ScrollIndicator as ScrollIndicator$1, useLongPress, modal, InfoCircleIcon, Tooltip, Tabs, TabPanel } from '@orderly.network/ui';
|
|
4
4
|
import { useTranslation, i18n, Trans } from '@orderly.network/i18n';
|
|
5
5
|
import { useTrack, useAccount, useConfig, useQuery, useInfiniteQuery, usePrivateQuery, noCacheConfig, useMemoizedFn, useMutation } from '@orderly.network/hooks';
|
|
6
6
|
import { TrackerEventName, AccountStatusEnum, EMPTY_LIST } from '@orderly.network/types';
|
|
@@ -1547,7 +1547,7 @@ function isSameAddress2(address1, address2) {
|
|
|
1547
1547
|
function getCurrentAddressRowKey(address) {
|
|
1548
1548
|
return `current-address-${address?.toLowerCase()}`;
|
|
1549
1549
|
}
|
|
1550
|
-
var useRankingColumns = (fields, address, enableSort,
|
|
1550
|
+
var useRankingColumns = (fields, address, enableSort, type) => {
|
|
1551
1551
|
const { t } = useTranslation();
|
|
1552
1552
|
const { isMobile } = useScreen();
|
|
1553
1553
|
return useMemo(() => {
|
|
@@ -1606,7 +1606,7 @@ var useRankingColumns = (fields, address, enableSort, brokerId) => {
|
|
|
1606
1606
|
"a",
|
|
1607
1607
|
{
|
|
1608
1608
|
className: "oui-flex oui-items-start oui-gap-1",
|
|
1609
|
-
href: `https://orderly-dashboard.orderly.network/address/${value}?broker_id=${
|
|
1609
|
+
href: `https://orderly-dashboard.orderly.network/address/${value}?broker_id=${record.broker_id}`,
|
|
1610
1610
|
target: "_blank",
|
|
1611
1611
|
rel: "noreferrer",
|
|
1612
1612
|
children: [
|
|
@@ -1634,7 +1634,7 @@ var useRankingColumns = (fields, address, enableSort, brokerId) => {
|
|
|
1634
1634
|
width: 90
|
|
1635
1635
|
},
|
|
1636
1636
|
{
|
|
1637
|
-
title:
|
|
1637
|
+
title: /* @__PURE__ */ jsx(VolumeColumnTitle, {}),
|
|
1638
1638
|
dataIndex: "volume",
|
|
1639
1639
|
onSort: enableSort,
|
|
1640
1640
|
align: isMobile ? "right" : "left",
|
|
@@ -1647,7 +1647,7 @@ var useRankingColumns = (fields, address, enableSort, brokerId) => {
|
|
|
1647
1647
|
width: 105
|
|
1648
1648
|
},
|
|
1649
1649
|
{
|
|
1650
|
-
title:
|
|
1650
|
+
title: /* @__PURE__ */ jsx(PnLColumnTitle, { type }),
|
|
1651
1651
|
dataIndex: "pnl",
|
|
1652
1652
|
onSort: enableSort,
|
|
1653
1653
|
align: isMobile ? "right" : "left",
|
|
@@ -1683,7 +1683,7 @@ var useRankingColumns = (fields, address, enableSort, brokerId) => {
|
|
|
1683
1683
|
return columns.filter(
|
|
1684
1684
|
(column) => fields?.includes(column.dataIndex)
|
|
1685
1685
|
);
|
|
1686
|
-
}, [t, isMobile, address, fields, enableSort,
|
|
1686
|
+
}, [t, isMobile, address, fields, enableSort, type]);
|
|
1687
1687
|
};
|
|
1688
1688
|
var FirstRankIcon = () => {
|
|
1689
1689
|
return /* @__PURE__ */ jsxs(
|
|
@@ -1803,13 +1803,50 @@ var ThirdRankIcon = () => {
|
|
|
1803
1803
|
}
|
|
1804
1804
|
);
|
|
1805
1805
|
};
|
|
1806
|
+
var PnLColumnTitle = ({ type }) => {
|
|
1807
|
+
const { isMobile } = useScreen();
|
|
1808
|
+
const { t } = useTranslation();
|
|
1809
|
+
const tooltipContent = type === "general" ? t("tradingLeaderboard.realizedPnl.tooltip") : t("tradingLeaderboard.pnl.tooltip");
|
|
1810
|
+
const longPress = useLongPress(() => {
|
|
1811
|
+
modal.alert({
|
|
1812
|
+
title: t("common.tips"),
|
|
1813
|
+
message: tooltipContent
|
|
1814
|
+
});
|
|
1815
|
+
});
|
|
1816
|
+
const view = /* @__PURE__ */ jsxs(Flex, { gap: 1, children: [
|
|
1817
|
+
/* @__PURE__ */ jsx("div", { children: type === "general" ? t("common.realizedPnl") : t("common.pnl") }),
|
|
1818
|
+
/* @__PURE__ */ jsx(InfoCircleIcon, { opacity: 1, className: "w-4 h-4 cursor-pointer" })
|
|
1819
|
+
] });
|
|
1820
|
+
if (isMobile) {
|
|
1821
|
+
return /* @__PURE__ */ jsx("div", { ...longPress, children: view });
|
|
1822
|
+
}
|
|
1823
|
+
return /* @__PURE__ */ jsx(Tooltip, { content: tooltipContent, children: view });
|
|
1824
|
+
};
|
|
1825
|
+
var VolumeColumnTitle = () => {
|
|
1826
|
+
const { isMobile } = useScreen();
|
|
1827
|
+
const { t } = useTranslation();
|
|
1828
|
+
const tooltipContent = "Total trading volume generated during the campaign period. Updated every 30 seconds.";
|
|
1829
|
+
const longPress = useLongPress(() => {
|
|
1830
|
+
modal.alert({
|
|
1831
|
+
title: t("common.tips"),
|
|
1832
|
+
message: tooltipContent
|
|
1833
|
+
});
|
|
1834
|
+
});
|
|
1835
|
+
const view = /* @__PURE__ */ jsxs(Flex, { gap: 1, children: [
|
|
1836
|
+
/* @__PURE__ */ jsx("div", { children: t("tradingLeaderboard.tradingVolume") }),
|
|
1837
|
+
/* @__PURE__ */ jsx(InfoCircleIcon, { opacity: 1, className: "w-4 h-4 cursor-pointer" })
|
|
1838
|
+
] });
|
|
1839
|
+
if (isMobile) {
|
|
1840
|
+
return /* @__PURE__ */ jsx("div", { ...longPress, children: view });
|
|
1841
|
+
}
|
|
1842
|
+
return /* @__PURE__ */ jsx(Tooltip, { content: tooltipContent, children: view });
|
|
1843
|
+
};
|
|
1806
1844
|
var Ranking = (props) => {
|
|
1807
|
-
const brokerId = useConfig("brokerId");
|
|
1808
1845
|
const column = useRankingColumns(
|
|
1809
1846
|
props.fields,
|
|
1810
1847
|
props.address,
|
|
1811
1848
|
typeof props.onSort === "function",
|
|
1812
|
-
|
|
1849
|
+
props.type
|
|
1813
1850
|
);
|
|
1814
1851
|
const { isMobile } = useScreen();
|
|
1815
1852
|
const onRow = useCallback(
|
|
@@ -2276,7 +2313,7 @@ var GeneralRankingWidget = (props) => {
|
|
|
2276
2313
|
address,
|
|
2277
2314
|
sortKey
|
|
2278
2315
|
});
|
|
2279
|
-
return /* @__PURE__ */ jsx(Ranking, { ...state, ...rest, fields });
|
|
2316
|
+
return /* @__PURE__ */ jsx(Ranking, { ...state, ...rest, fields, type: "general" });
|
|
2280
2317
|
};
|
|
2281
2318
|
|
|
2282
2319
|
// src/components/rewards/utils.ts
|
|
@@ -2709,7 +2746,7 @@ var CampaignRankingWidget = (props) => {
|
|
|
2709
2746
|
campaignId,
|
|
2710
2747
|
sortKey
|
|
2711
2748
|
});
|
|
2712
|
-
return /* @__PURE__ */ jsx(Ranking, { ...state, ...rest, fields });
|
|
2749
|
+
return /* @__PURE__ */ jsx(Ranking, { ...state, ...rest, fields, type: "campaign" });
|
|
2713
2750
|
};
|
|
2714
2751
|
var FilterDays2 = [7, 14, 30, 90];
|
|
2715
2752
|
function useGeneralLeaderboardScript(options) {
|
|
@@ -5473,7 +5510,7 @@ function isSameAddress3(address1, address2) {
|
|
|
5473
5510
|
function getCurrentAddressRowKey2(address) {
|
|
5474
5511
|
return `current-address-${address?.toLowerCase()}`;
|
|
5475
5512
|
}
|
|
5476
|
-
var useRankingColumns2 = (fields, address, enableSort,
|
|
5513
|
+
var useRankingColumns2 = (fields, address, enableSort, type) => {
|
|
5477
5514
|
const { t } = useTranslation();
|
|
5478
5515
|
const { isMobile } = useScreen();
|
|
5479
5516
|
return useMemo(() => {
|
|
@@ -5532,7 +5569,7 @@ var useRankingColumns2 = (fields, address, enableSort, brokerId) => {
|
|
|
5532
5569
|
"a",
|
|
5533
5570
|
{
|
|
5534
5571
|
className: "oui-flex oui-items-start oui-gap-1",
|
|
5535
|
-
href: `https://orderly-dashboard.orderly.network/address/${value}?broker_id=${
|
|
5572
|
+
href: `https://orderly-dashboard.orderly.network/address/${value}?broker_id=${record.broker_id}`,
|
|
5536
5573
|
target: "_blank",
|
|
5537
5574
|
rel: "noreferrer",
|
|
5538
5575
|
children: [
|
|
@@ -5609,7 +5646,7 @@ var useRankingColumns2 = (fields, address, enableSort, brokerId) => {
|
|
|
5609
5646
|
return columns.filter(
|
|
5610
5647
|
(column) => fields?.includes(column.dataIndex)
|
|
5611
5648
|
);
|
|
5612
|
-
}, [t, isMobile, address, fields, enableSort,
|
|
5649
|
+
}, [t, isMobile, address, fields, enableSort, type]);
|
|
5613
5650
|
};
|
|
5614
5651
|
var FirstRankIcon2 = () => {
|
|
5615
5652
|
return /* @__PURE__ */ jsxs(
|
|
@@ -5730,12 +5767,11 @@ var ThirdRankIcon2 = () => {
|
|
|
5730
5767
|
);
|
|
5731
5768
|
};
|
|
5732
5769
|
var Ranking2 = (props) => {
|
|
5733
|
-
const brokerId = useConfig("brokerId");
|
|
5734
5770
|
const column = useRankingColumns2(
|
|
5735
5771
|
props.fields,
|
|
5736
5772
|
props.address,
|
|
5737
5773
|
typeof props.onSort === "function",
|
|
5738
|
-
|
|
5774
|
+
props.type
|
|
5739
5775
|
);
|
|
5740
5776
|
const { isMobile } = useScreen();
|
|
5741
5777
|
const onRow = useCallback(
|
|
@@ -6150,7 +6186,7 @@ var GeneralRankingWidget2 = (props) => {
|
|
|
6150
6186
|
sortKey,
|
|
6151
6187
|
weekOneAddresses
|
|
6152
6188
|
});
|
|
6153
|
-
return /* @__PURE__ */ jsx(Ranking2, { ...state, ...rest, fields });
|
|
6189
|
+
return /* @__PURE__ */ jsx(Ranking2, { ...state, ...rest, fields, type: "general" });
|
|
6154
6190
|
};
|
|
6155
6191
|
var LeaderboardFilter2 = (props) => {
|
|
6156
6192
|
const { t } = useTranslation();
|